include: The magic HKEY_* handles should be sign-extended on 64-bit.
[wine] / include / 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 /*
226  * Windows SDK braindamage alert
227  *
228  * PID_DICTIONARY and PID_CODEPAGE are defined by propidl.h too
229  * PID_SECURITY is defined in propidl.h with a different value!
230  * So these need to be undefined first.
231  */
232 #ifdef PID_DICTIONARY
233 #undef PID_DICTIONARY
234 #endif
235
236 #ifdef PID_CODEPAGE
237 #undef PID_CODEPAGE
238 #endif
239
240 #ifdef PID_SECURITY
241 #undef PID_SECURITY
242 #endif
243
244 #define PID_DICTIONARY 0
245 #define PID_CODEPAGE 1
246 #define PID_TITLE 2
247 #define PID_SUBJECT 3
248 #define PID_AUTHOR 4
249 #define PID_KEYWORDS 5
250 #define PID_COMMENTS 6
251 #define PID_TEMPLATE 7
252 #define PID_LASTAUTHOR 8
253 #define PID_REVNUMBER 9
254 #define PID_EDITTIME 10
255 #define PID_LASTPRINTED 11
256 #define PID_CREATE_DTM 12
257 #define PID_LASTSAVE_DTM 13
258 #define PID_PAGECOUNT 14
259 #define PID_WORDCOUNT 15
260 #define PID_CHARCOUNT 16
261 #define PID_THUMBNAIL 17
262 #define PID_APPNAME 18
263 #define PID_SECURITY 19
264 #define PID_MSIVERSION PID_PAGECOUNT
265 #define PID_MSISOURCE PID_WORDCOUNT
266 #define PID_MSIRESTRICT PID_CHARCOUNT
267
268 #endif /* __WINE_MSIDEFS_H */