5680a68a0b19d92fc50f040f88f54fcfdf3cbb17
[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 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 enum msidbUpgradeAttributes {
27 msidbUpgradeAttributesMigrateFeatures = 0x0000001,
28 msidbUpgradeAttributesOnlyDetect = 0x00000002,
29 msidbUpgradeAttributesIgnoreRemoveFailure = 0x00000004,
30 msidbUpgradeAttributesVersionMinInclusive = 0x00000100,
31 msidbUpgradeAttributesVersionMaxInclusive = 0x00000200,
32 msidbUpgradeAttributesLanguagesExclusive = 0x00000400
33 };
34
35 enum msidbFileAttributes {
36 msidbFileAttributesReadOnly = 0x00000001,
37 msidbFileAttributesHidden = 0x00000002,
38 msidbFileAttributesSystem = 0x00000004,
39 msidbFileAttributesVital = 0x00000200,
40 msidbFileAttributesChecksum = 0x00000400,
41 msidbFileAttributesPatchAdded = 0x00001000,
42 msidbFileAttributesNoncompressed = 0x00002000,
43 msidbFileAttributesCompressed = 0x00004000
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 msidbMoveFileOptions
204 {
205 msidbMoveFileOptionsMove = 0x00000001,
206 };
207
208 enum msidbAssemblyAttributes
209 {
210 msidbAssemblyAttributesURT = 0x00000000,
211 msidbAssemblyAttributesWin32 = 0x00000001,
212 };
213
214 /*
215 * Windows SDK braindamage alert
216 *
217 * PID_DICTIONARY and PID_CODEPAGE are defined by propidl.h too
218 * PID_SECURITY is defined in propidl.h with a different value!
219 * So these need to be undefined first.
220 */
221 #ifdef PID_DICTIONARY
222 #undef PID_DICTIONARY
223 #endif
224
225 #ifdef PID_CODEPAGE
226 #undef PID_CODEPAGE
227 #endif
228
229 #ifdef PID_SECURITY
230 #undef PID_SECURITY
231 #endif
232
233 #define PID_DICTIONARY 0
234 #define PID_CODEPAGE 1
235 #define PID_TITLE 2
236 #define PID_SUBJECT 3
237 #define PID_AUTHOR 4
238 #define PID_KEYWORDS 5
239 #define PID_COMMENTS 6
240 #define PID_TEMPLATE 7
241 #define PID_LASTAUTHOR 8
242 #define PID_REVNUMBER 9
243 #define PID_EDITTIME 10
244 #define PID_LASTPRINTED 11
245 #define PID_CREATE_DTM 12
246 #define PID_LASTSAVE_DTM 13
247 #define PID_PAGECOUNT 14
248 #define PID_WORDCOUNT 15
249 #define PID_CHARCOUNT 16
250 #define PID_THUMBNAIL 17
251 #define PID_APPNAME 18
252 #define PID_SECURITY 19
253 #define PID_MSIVERSION PID_PAGECOUNT
254 #define PID_MSISOURCE PID_WORDCOUNT
255 #define PID_MSIRESTRICT PID_CHARCOUNT
256
257 #ifdef __cplusplus
258 }
259 #endif
260
261 #endif /* __WINE_MSIDEFS_H */