Use a better location than HKCU\Wine for saving the temporary
[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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  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 msidbTextStyleStyleBits
62 {
63     msidbTextStyleStyleBitsBold = 0x00000001,
64     msidbTextStyleStyleBitsItalic = 0x00000002,
65     msidbTextStyleStyleBitsUnderline = 0x00000004,
66     msidbTextStyleStyleBitsStrike = 0x00000008,
67 };
68
69 enum msidbCustomActionType
70 {
71     msidbCustomActionTypeDll = 0x00000001,
72     msidbCustomActionTypeExe = 0x00000002,
73     msidbCustomActionTypeTextData = 0x00000003,
74     msidbCustomActionTypeJScript = 0x00000005,
75     msidbCustomActionTypeVBScript = 0x00000006,
76     msidbCustomActionTypeInstall = 0x00000007,
77
78     msidbCustomActionTypeBinaryData = 0x00000000,
79     msidbCustomActionTypeSourceFile = 0x00000010,
80     msidbCustomActionTypeDirectory = 0x00000020,
81     msidbCustomActionTypeProperty = 0x00000030,
82
83     msidbCustomActionTypeContinue = 0x00000040,
84     msidbCustomActionTypeAsync = 0x00000080,
85
86     msidbCustomActionTypeFirstSequence = 0x00000100,
87     msidbCustomActionTypeOncePerProcess = 0x00000200,
88     msidbCustomActionTypeClientRepeat = 0x00000300,
89     msidbCustomActionTypeInScript = 0x00000400,
90
91     msidbCustomActionTypeRollback = 0x00000100,
92     msidbCustomActionTypeCommit = 0x00000200,
93
94     msidbCustomActionTypeNoImpersonate = 0x00000800,
95     msidbCustomActionTypeTSAware = 0x00004000,
96
97     msidbCustomActionType64BitScript = 0x00001000,
98     msidbCustomActionTypeHideTarget = 0x00002000
99 };
100
101 enum msidbFeatureAttributes
102 {
103     msidbFeatureAttributesFavorLocal = 0x00000000,
104     msidbFeatureAttributesFavorSource = 0x00000001,
105     msidbFeatureAttributesFollowParent = 0x00000002,
106     msidbFeatureAttributesFavorAdvertise = 0x00000004,
107     msidbFeatureAttributesDisallowAdvertise = 0x00000008,
108     msidbFeatureAttributesUIDisallowAbsent = 0x00000010,
109     msidbFeatureAttributesNoUnsupportedAdvertise = 0x00000020
110 };
111
112 enum msidbComponentAttributes
113 {
114     msidbComponentAttributesLocalOnly = 0x00000000,
115     msidbComponentAttributesSourceOnly = 0x00000001,
116     msidbComponentAttributesOptional = 0x00000002,
117     msidbComponentAttributesRegistryKeyPath = 0x00000004,
118     msidbComponentAttributesSharedDllRefCount = 0x00000008,
119     msidbComponentAttributesPermanent = 0x00000010,
120     msidbComponentAttributesODBCDataSource = 0x00000020,
121     msidbComponentAttributesTransitive = 0x00000040,
122     msidbComponentAttributesNeverOverwrite = 0x00000080,
123     msidbComponentAttributes64bit = 0x00000100
124 };
125
126 enum msidbRegistryRoot
127 {
128     msidbRegistryRootClassesRoot = 0,
129     msidbRegistryRootCurrentUser = 1,
130     msidbRegistryRootLocalMachine = 2,
131     msidbRegistryRootUsers = 3,
132 };
133
134 enum msidbLocatorType
135 {
136     msidbLocatorTypeDirectory = 0x000,
137     msidbLocatorTypeFileName = 0x001,
138     msidbLocatorTypeRawValue = 0x002,
139     msidbLocatorType64bit = 0x010,
140 };
141
142 /*
143  * Windows SDK braindamage alert
144  *
145  * PID_DICTIONARY and PID_CODEPAGE are defined by propidl.h too
146  * PID_SECURITY is defined in propidl.h with a different value!
147  * So these need to be undefined first.
148  */
149 #ifdef PID_DICTIONARY
150 #undef PID_DICTIONARY
151 #endif
152
153 #ifdef PID_CODEPAGE
154 #undef PID_CODEPAGE
155 #endif
156
157 #ifdef PID_SECURITY
158 #undef PID_SECURITY
159 #endif
160
161 #define PID_DICTIONARY 0
162 #define PID_CODEPAGE 1
163 #define PID_TITLE 2
164 #define PID_SUBJECT 3
165 #define PID_AUTHOR 4
166 #define PID_KEYWORDS 5
167 #define PID_COMMENTS 6
168 #define PID_TEMPLATE 7
169 #define PID_LASTAUTHOR 8
170 #define PID_REVNUMBER 9
171 #define PID_EDITTINE 10
172 #define PID_LASTPRINTED 11
173 #define PID_CREATE_DTM 12
174 #define PID_LASTSAVE_DTM 13
175 #define PID_PAGECOUNT 14
176 #define PID_WORDCOUNT 15
177 #define PID_CHARCOUNT 16
178 #define PID_THUMBNAIL 17
179 #define PID_APPNAME 18
180 #define PID_SECURITY 19
181 #define PID_MSIVERSION PID_PAGECOUNT
182 #define PID_MSISOURCE PID_WORDCOUNT
183 #define PID_MSIRESTRICT PID_CHARCOUNT
184
185 #ifdef __cplusplus
186 }
187 #endif
188
189 #endif /* __WINE_MSIDEFS_H */