[PSDK]
[reactos.git] / reactos / include / psdk / msidefs.h
1 /*
2 * Copyright (C) 2005 Mike McCormack
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19 #ifndef __WINE_MSIDEFS_H
20 #define __WINE_MSIDEFS_H
21
22 enum msidbUpgradeAttributes {
23 msidbUpgradeAttributesMigrateFeatures = 0x0000001,
24 msidbUpgradeAttributesOnlyDetect = 0x00000002,
25 msidbUpgradeAttributesIgnoreRemoveFailure = 0x00000004,
26 msidbUpgradeAttributesVersionMinInclusive = 0x00000100,
27 msidbUpgradeAttributesVersionMaxInclusive = 0x00000200,
28 msidbUpgradeAttributesLanguagesExclusive = 0x00000400
29 };
30
31 enum msidbFileAttributes {
32 msidbFileAttributesReadOnly = 0x00000001,
33 msidbFileAttributesHidden = 0x00000002,
34 msidbFileAttributesSystem = 0x00000004,
35 msidbFileAttributesVital = 0x00000200,
36 msidbFileAttributesChecksum = 0x00000400,
37 msidbFileAttributesPatchAdded = 0x00001000,
38 msidbFileAttributesNoncompressed = 0x00002000,
39 msidbFileAttributesCompressed = 0x00004000
40 };
41
42 enum msidbDialogAttributes {
43 msidbDialogAttributesVisible = 0x00000001,
44 msidbDialogAttributesModal = 0x00000002,
45 msidbDialogAttributesMinimize = 0x00000004,
46 msidbDialogAttributesSysModal = 0x00000008,
47 msidbDialogAttributesKeepModeless = 0x00000010,
48 msidbDialogAttributesTrackDiskSpace = 0x00000020,
49 msidbDialogAttributesUseCustomPalette = 0x00000040,
50 msidbDialogAttributesRTLRO = 0x00000080,
51 msidbDialogAttributesRightAligned = 0x00000100,
52 msidbDialogAttributesLeftScroll = 0x00000200,
53 msidbDialogAttributesBidi = 0x00000380,
54 msidbDialogAttributesError = 0x00010000
55 };
56
57 enum msidbControlAttributes {
58 msidbControlAttributesVisible = 0x00000001,
59 msidbControlAttributesEnabled = 0x00000002,
60 msidbControlAttributesSunken = 0x00000004,
61 msidbControlAttributesIndirect = 0x00000008,
62 msidbControlAttributesInteger = 0x00000010,
63 msidbControlAttributesRTLRO = 0x00000020,
64 msidbControlAttributesRightAligned = 0x00000040,
65 msidbControlAttributesLeftScroll = 0x00000080,
66 msidbControlAttributesBiDi = 0x000000c0,
67
68 msidbControlAttributesTransparent = 0x00010000,
69 msidbControlAttributesNoPrefix = 0x00020000,
70 msidbControlAttributesNoWrap = 0x00040000,
71 msidbControlAttributesFormatSize = 0x00080000,
72 msidbControlAttributesUsersLanguage = 0x00100000,
73
74 msidbControlAttributesMultiline = 0x00010000,
75 msidbControlAttributesPasswordInput = 0x00200000,
76
77 msidbControlAttributesProgress95 = 0x00010000,
78
79 msidbControlAttributesRemovableVolume = 0x00010000,
80 msidbControlAttributesFixedVolume = 0x00020000,
81 msidbControlAttributesRemoteVolume = 0x00040000,
82 msidbControlAttributesCDROMVolume = 0x00080000,
83 msidbControlAttributesRAMdiskVolume = 0x00100000,
84 msidbControlAttributesFloppyVolume = 0x00200000,
85 msidbControlShowRollbackCost = 0x00400000,
86
87 msidbControlAttributesSorted = 0x00010000,
88 msidbControlAttributesComboList = 0x00020000,
89
90 msidbControlAttributesImageHandle = 0x00010000,
91 msidbControlAttributesPushLike = 0x00020000,
92 msidbControlAttributesBitmap = 0x00040000,
93 msidbControlAttributesIcon = 0x00080000,
94 msidbControlAttributesFixedSize = 0x00100000,
95 msidbControlAttributesIconSize16 = 0x00200000,
96 msidbControlAttributesIconSize32 = 0x00400000,
97 msidbControlAttributesIconSize48 = 0x00600000,
98
99 msidbControlAttributesHasBorder = 0x01000000,
100 };
101
102 enum msidbTextStyleStyleBits
103 {
104 msidbTextStyleStyleBitsBold = 0x00000001,
105 msidbTextStyleStyleBitsItalic = 0x00000002,
106 msidbTextStyleStyleBitsUnderline = 0x00000004,
107 msidbTextStyleStyleBitsStrike = 0x00000008,
108 };
109
110 enum msidbCustomActionType
111 {
112 msidbCustomActionTypeDll = 0x00000001,
113 msidbCustomActionTypeExe = 0x00000002,
114 msidbCustomActionTypeTextData = 0x00000003,
115 msidbCustomActionTypeJScript = 0x00000005,
116 msidbCustomActionTypeVBScript = 0x00000006,
117 msidbCustomActionTypeInstall = 0x00000007,
118
119 msidbCustomActionTypeBinaryData = 0x00000000,
120 msidbCustomActionTypeSourceFile = 0x00000010,
121 msidbCustomActionTypeDirectory = 0x00000020,
122 msidbCustomActionTypeProperty = 0x00000030,
123
124 msidbCustomActionTypeContinue = 0x00000040,
125 msidbCustomActionTypeAsync = 0x00000080,
126
127 msidbCustomActionTypeFirstSequence = 0x00000100,
128 msidbCustomActionTypeOncePerProcess = 0x00000200,
129 msidbCustomActionTypeClientRepeat = 0x00000300,
130 msidbCustomActionTypeInScript = 0x00000400,
131
132 msidbCustomActionTypeRollback = 0x00000100,
133 msidbCustomActionTypeCommit = 0x00000200,
134
135 msidbCustomActionTypeNoImpersonate = 0x00000800,
136 msidbCustomActionTypeTSAware = 0x00004000,
137
138 msidbCustomActionType64BitScript = 0x00001000,
139 msidbCustomActionTypeHideTarget = 0x00002000
140 };
141
142 enum msidbFeatureAttributes
143 {
144 msidbFeatureAttributesFavorLocal = 0x00000000,
145 msidbFeatureAttributesFavorSource = 0x00000001,
146 msidbFeatureAttributesFollowParent = 0x00000002,
147 msidbFeatureAttributesFavorAdvertise = 0x00000004,
148 msidbFeatureAttributesDisallowAdvertise = 0x00000008,
149 msidbFeatureAttributesUIDisallowAbsent = 0x00000010,
150 msidbFeatureAttributesNoUnsupportedAdvertise = 0x00000020
151 };
152
153 enum msidbComponentAttributes
154 {
155 msidbComponentAttributesLocalOnly = 0x00000000,
156 msidbComponentAttributesSourceOnly = 0x00000001,
157 msidbComponentAttributesOptional = 0x00000002,
158 msidbComponentAttributesRegistryKeyPath = 0x00000004,
159 msidbComponentAttributesSharedDllRefCount = 0x00000008,
160 msidbComponentAttributesPermanent = 0x00000010,
161 msidbComponentAttributesODBCDataSource = 0x00000020,
162 msidbComponentAttributesTransitive = 0x00000040,
163 msidbComponentAttributesNeverOverwrite = 0x00000080,
164 msidbComponentAttributes64bit = 0x00000100
165 };
166
167 enum msidbODBCDataSourceRegistration
168 {
169 msidbODBCDataSourceRegistrationPerMachine = 0x00000000,
170 msidbODBCDataSourceRegistrationPerUser = 0x00000001
171 };
172
173 enum msidbRegistryRoot
174 {
175 msidbRegistryRootClassesRoot = 0,
176 msidbRegistryRootCurrentUser = 1,
177 msidbRegistryRootLocalMachine = 2,
178 msidbRegistryRootUsers = 3,
179 };
180
181 enum msidbLocatorType
182 {
183 msidbLocatorTypeDirectory = 0x000,
184 msidbLocatorTypeFileName = 0x001,
185 msidbLocatorTypeRawValue = 0x002,
186 msidbLocatorType64bit = 0x010,
187 };
188
189 enum msidbServiceControlEvent
190 {
191 msidbServiceControlEventStart = 0x00000001,
192 msidbServiceControlEventStop = 0x00000002,
193 msidbServiceControlEventDelete = 0x00000008,
194 msidbServiceControlEventUninstallStart = 0x00000010,
195 msidbServiceControlEventUninstallStop = 0x00000020,
196 msidbServiceControlEventUninstallDelete = 0x00000080,
197 };
198
199 enum msidbMoveFileOptions
200 {
201 msidbMoveFileOptionsMove = 0x00000001,
202 };
203
204 enum msidbAssemblyAttributes
205 {
206 msidbAssemblyAttributesURT = 0x00000000,
207 msidbAssemblyAttributesWin32 = 0x00000001,
208 };
209
210 enum msidbSumInfoSourceType
211 {
212 msidbSumInfoSourceTypeSFN = 0x00000001,
213 msidbSumInfoSourceTypeCompressed = 0x00000002,
214 msidbSumInfoSourceTypeAdminImage = 0x00000004,
215 msidbSumInfoSourceTypeLUAPackage = 0x00000008,
216 };
217
218 enum msidbRemoveFileInstallMode
219 {
220 msidbRemoveFileInstallModeOnInstall = 0x00000001,
221 msidbRemoveFileInstallModeOnRemove = 0x00000002,
222 msidbRemoveFileInstallModeOnBoth = 0x00000003,
223 };
224
225 enum
226 {
227 msidbIniFileActionAddLine = 0x00000000,
228 msidbIniFileActionCreateLine = 0x00000001,
229 msidbIniFileActionRemoveLine = 0x00000002,
230 msidbIniFileActionAddTag = 0x00000003,
231 msidbIniFileActionRemoveTag = 0x00000004
232 };
233
234 /*
235 * Windows SDK braindamage alert
236 *
237 * PID_DICTIONARY and PID_CODEPAGE are defined by propidl.h too
238 * PID_SECURITY is defined in propidl.h with a different value!
239 * So these need to be undefined first.
240 */
241 #ifdef PID_DICTIONARY
242 #undef PID_DICTIONARY
243 #endif
244
245 #ifdef PID_CODEPAGE
246 #undef PID_CODEPAGE
247 #endif
248
249 #ifdef PID_SECURITY
250 #undef PID_SECURITY
251 #endif
252
253 #define PID_DICTIONARY 0
254 #define PID_CODEPAGE 1
255 #define PID_TITLE 2
256 #define PID_SUBJECT 3
257 #define PID_AUTHOR 4
258 #define PID_KEYWORDS 5
259 #define PID_COMMENTS 6
260 #define PID_TEMPLATE 7
261 #define PID_LASTAUTHOR 8
262 #define PID_REVNUMBER 9
263 #define PID_EDITTIME 10
264 #define PID_LASTPRINTED 11
265 #define PID_CREATE_DTM 12
266 #define PID_LASTSAVE_DTM 13
267 #define PID_PAGECOUNT 14
268 #define PID_WORDCOUNT 15
269 #define PID_CHARCOUNT 16
270 #define PID_THUMBNAIL 17
271 #define PID_APPNAME 18
272 #define PID_SECURITY 19
273 #define PID_MSIVERSION PID_PAGECOUNT
274 #define PID_MSISOURCE PID_WORDCOUNT
275 #define PID_MSIRESTRICT PID_CHARCOUNT
276
277 #endif /* __WINE_MSIDEFS_H */