xref: /reactos/sdk/include/psdk/msidefs.h (revision c2c66aff)
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 msidbPatchAttributes {
43     msidbPatchAttributesNonVital = 0x00000001
44 };
45 
46 enum msidbDialogAttributes {
47     msidbDialogAttributesVisible = 0x00000001,
48     msidbDialogAttributesModal = 0x00000002,
49     msidbDialogAttributesMinimize = 0x00000004,
50     msidbDialogAttributesSysModal = 0x00000008,
51     msidbDialogAttributesKeepModeless = 0x00000010,
52     msidbDialogAttributesTrackDiskSpace = 0x00000020,
53     msidbDialogAttributesUseCustomPalette = 0x00000040,
54     msidbDialogAttributesRTLRO = 0x00000080,
55     msidbDialogAttributesRightAligned = 0x00000100,
56     msidbDialogAttributesLeftScroll = 0x00000200,
57     msidbDialogAttributesBidi = 0x00000380,
58     msidbDialogAttributesError = 0x00010000
59 };
60 
61 enum msidbControlAttributes {
62     msidbControlAttributesVisible = 0x00000001,
63     msidbControlAttributesEnabled = 0x00000002,
64     msidbControlAttributesSunken = 0x00000004,
65     msidbControlAttributesIndirect = 0x00000008,
66     msidbControlAttributesInteger = 0x00000010,
67     msidbControlAttributesRTLRO = 0x00000020,
68     msidbControlAttributesRightAligned = 0x00000040,
69     msidbControlAttributesLeftScroll = 0x00000080,
70     msidbControlAttributesBiDi = 0x000000c0,
71 
72     msidbControlAttributesTransparent = 0x00010000,
73     msidbControlAttributesNoPrefix = 0x00020000,
74     msidbControlAttributesNoWrap = 0x00040000,
75     msidbControlAttributesFormatSize = 0x00080000,
76     msidbControlAttributesUsersLanguage = 0x00100000,
77 
78     msidbControlAttributesMultiline = 0x00010000,
79     msidbControlAttributesPasswordInput = 0x00200000,
80 
81     msidbControlAttributesProgress95 = 0x00010000,
82 
83     msidbControlAttributesRemovableVolume = 0x00010000,
84     msidbControlAttributesFixedVolume = 0x00020000,
85     msidbControlAttributesRemoteVolume = 0x00040000,
86     msidbControlAttributesCDROMVolume = 0x00080000,
87     msidbControlAttributesRAMdiskVolume = 0x00100000,
88     msidbControlAttributesFloppyVolume = 0x00200000,
89     msidbControlShowRollbackCost = 0x00400000,
90 
91     msidbControlAttributesSorted = 0x00010000,
92     msidbControlAttributesComboList = 0x00020000,
93 
94     msidbControlAttributesImageHandle = 0x00010000,
95     msidbControlAttributesPushLike = 0x00020000,
96     msidbControlAttributesBitmap = 0x00040000,
97     msidbControlAttributesIcon = 0x00080000,
98     msidbControlAttributesFixedSize = 0x00100000,
99     msidbControlAttributesIconSize16 = 0x00200000,
100     msidbControlAttributesIconSize32 = 0x00400000,
101     msidbControlAttributesIconSize48 = 0x00600000,
102 
103     msidbControlAttributesHasBorder = 0x01000000,
104 };
105 
106 enum msidbTextStyleStyleBits
107 {
108     msidbTextStyleStyleBitsBold = 0x00000001,
109     msidbTextStyleStyleBitsItalic = 0x00000002,
110     msidbTextStyleStyleBitsUnderline = 0x00000004,
111     msidbTextStyleStyleBitsStrike = 0x00000008,
112 };
113 
114 enum msidbCustomActionType
115 {
116     msidbCustomActionTypeDll = 0x00000001,
117     msidbCustomActionTypeExe = 0x00000002,
118     msidbCustomActionTypeTextData = 0x00000003,
119     msidbCustomActionTypeJScript = 0x00000005,
120     msidbCustomActionTypeVBScript = 0x00000006,
121     msidbCustomActionTypeInstall = 0x00000007,
122 
123     msidbCustomActionTypeBinaryData = 0x00000000,
124     msidbCustomActionTypeSourceFile = 0x00000010,
125     msidbCustomActionTypeDirectory = 0x00000020,
126     msidbCustomActionTypeProperty = 0x00000030,
127 
128     msidbCustomActionTypeContinue = 0x00000040,
129     msidbCustomActionTypeAsync = 0x00000080,
130 
131     msidbCustomActionTypeFirstSequence = 0x00000100,
132     msidbCustomActionTypeOncePerProcess = 0x00000200,
133     msidbCustomActionTypeClientRepeat = 0x00000300,
134     msidbCustomActionTypeInScript = 0x00000400,
135 
136     msidbCustomActionTypeRollback = 0x00000100,
137     msidbCustomActionTypeCommit = 0x00000200,
138 
139     msidbCustomActionTypeNoImpersonate = 0x00000800,
140     msidbCustomActionTypeTSAware = 0x00004000,
141 
142     msidbCustomActionType64BitScript = 0x00001000,
143     msidbCustomActionTypeHideTarget = 0x00002000
144 };
145 
146 enum msidbFeatureAttributes
147 {
148     msidbFeatureAttributesFavorLocal = 0x00000000,
149     msidbFeatureAttributesFavorSource = 0x00000001,
150     msidbFeatureAttributesFollowParent = 0x00000002,
151     msidbFeatureAttributesFavorAdvertise = 0x00000004,
152     msidbFeatureAttributesDisallowAdvertise = 0x00000008,
153     msidbFeatureAttributesUIDisallowAbsent = 0x00000010,
154     msidbFeatureAttributesNoUnsupportedAdvertise = 0x00000020
155 };
156 
157 enum msidbComponentAttributes
158 {
159     msidbComponentAttributesLocalOnly = 0x00000000,
160     msidbComponentAttributesSourceOnly = 0x00000001,
161     msidbComponentAttributesOptional = 0x00000002,
162     msidbComponentAttributesRegistryKeyPath = 0x00000004,
163     msidbComponentAttributesSharedDllRefCount = 0x00000008,
164     msidbComponentAttributesPermanent = 0x00000010,
165     msidbComponentAttributesODBCDataSource = 0x00000020,
166     msidbComponentAttributesTransitive = 0x00000040,
167     msidbComponentAttributesNeverOverwrite = 0x00000080,
168     msidbComponentAttributes64bit = 0x00000100
169 };
170 
171 enum msidbODBCDataSourceRegistration
172 {
173     msidbODBCDataSourceRegistrationPerMachine = 0x00000000,
174     msidbODBCDataSourceRegistrationPerUser = 0x00000001
175 };
176 
177 enum msidbRegistryRoot
178 {
179     msidbRegistryRootClassesRoot = 0,
180     msidbRegistryRootCurrentUser = 1,
181     msidbRegistryRootLocalMachine = 2,
182     msidbRegistryRootUsers = 3,
183 };
184 
185 enum msidbLocatorType
186 {
187     msidbLocatorTypeDirectory = 0x000,
188     msidbLocatorTypeFileName = 0x001,
189     msidbLocatorTypeRawValue = 0x002,
190     msidbLocatorType64bit = 0x010,
191 };
192 
193 enum msidbServiceControlEvent
194 {
195     msidbServiceControlEventStart = 0x00000001,
196     msidbServiceControlEventStop = 0x00000002,
197     msidbServiceControlEventDelete = 0x00000008,
198     msidbServiceControlEventUninstallStart = 0x00000010,
199     msidbServiceControlEventUninstallStop = 0x00000020,
200     msidbServiceControlEventUninstallDelete = 0x00000080,
201 };
202 
203 enum msidbServiceInstallErrorControl
204 {
205     msidbServiceInstallErrorControlVital = 0x00008000
206 };
207 
208 enum msidbMoveFileOptions
209 {
210     msidbMoveFileOptionsMove = 0x00000001,
211 };
212 
213 enum msidbAssemblyAttributes
214 {
215     msidbAssemblyAttributesURT = 0x00000000,
216     msidbAssemblyAttributesWin32 = 0x00000001,
217 };
218 
219 enum msidbSumInfoSourceType
220 {
221     msidbSumInfoSourceTypeSFN = 0x00000001,
222     msidbSumInfoSourceTypeCompressed = 0x00000002,
223     msidbSumInfoSourceTypeAdminImage = 0x00000004,
224     msidbSumInfoSourceTypeLUAPackage = 0x00000008,
225 };
226 
227 enum msidbRemoveFileInstallMode
228 {
229     msidbRemoveFileInstallModeOnInstall = 0x00000001,
230     msidbRemoveFileInstallModeOnRemove = 0x00000002,
231     msidbRemoveFileInstallModeOnBoth = 0x00000003,
232 };
233 
234 enum
235 {
236     msidbIniFileActionAddLine    = 0x00000000,
237     msidbIniFileActionCreateLine = 0x00000001,
238     msidbIniFileActionRemoveLine = 0x00000002,
239     msidbIniFileActionAddTag     = 0x00000003,
240     msidbIniFileActionRemoveTag  = 0x00000004
241 };
242 
243 /*
244  * Windows SDK braindamage alert
245  *
246  * PID_DICTIONARY and PID_CODEPAGE are defined by propidl.h too
247  * PID_SECURITY is defined in propidl.h with a different value!
248  * So these need to be undefined first.
249  */
250 #ifdef PID_DICTIONARY
251 #undef PID_DICTIONARY
252 #endif
253 
254 #ifdef PID_CODEPAGE
255 #undef PID_CODEPAGE
256 #endif
257 
258 #ifdef PID_SECURITY
259 #undef PID_SECURITY
260 #endif
261 
262 #define PID_DICTIONARY 0
263 #define PID_CODEPAGE 1
264 #define PID_TITLE 2
265 #define PID_SUBJECT 3
266 #define PID_AUTHOR 4
267 #define PID_KEYWORDS 5
268 #define PID_COMMENTS 6
269 #define PID_TEMPLATE 7
270 #define PID_LASTAUTHOR 8
271 #define PID_REVNUMBER 9
272 #define PID_EDITTIME 10
273 #define PID_LASTPRINTED 11
274 #define PID_CREATE_DTM 12
275 #define PID_LASTSAVE_DTM 13
276 #define PID_PAGECOUNT 14
277 #define PID_WORDCOUNT 15
278 #define PID_CHARCOUNT 16
279 #define PID_THUMBNAIL 17
280 #define PID_APPNAME 18
281 #define PID_SECURITY 19
282 #define PID_MSIVERSION PID_PAGECOUNT
283 #define PID_MSISOURCE PID_WORDCOUNT
284 #define PID_MSIRESTRICT PID_CHARCOUNT
285 
286 #endif /* __WINE_MSIDEFS_H */
287