aboutsummaryrefslogtreecommitdiff
path: root/src/wixlib
diff options
context:
space:
mode:
authorBob Arnson <bob@joyofsetup.com>2020-03-05 19:48:12 -0500
committerBob Arnson <bob@firegiant.com>2020-03-09 12:16:09 -0400
commite9d10933bedb8215ec50ca85db272d6647426b31 (patch)
tree262cbaf190de5d5461941c79923bef8cf4cf7ad1 /src/wixlib
parent7533ca33de2b8125e9f9ecb3b28a247acca85f83 (diff)
downloadwix-e9d10933bedb8215ec50ca85db272d6647426b31.tar.gz
wix-e9d10933bedb8215ec50ca85db272d6647426b31.tar.bz2
wix-e9d10933bedb8215ec50ca85db272d6647426b31.zip
Version extension ids.
Partial fix for wixtoolset/issues#5933.
Diffstat (limited to 'src/wixlib')
-rw-r--r--src/wixlib/UtilExtension.wxs181
-rw-r--r--src/wixlib/UtilExtension_Platform.wxi179
-rw-r--r--src/wixlib/caDecor.wxi40
-rw-r--r--src/wixlib/caSuffix.wxi28
-rw-r--r--src/wixlib/util.wixproj2
5 files changed, 216 insertions, 214 deletions
diff --git a/src/wixlib/UtilExtension.wxs b/src/wixlib/UtilExtension.wxs
index e77b529b..28646ee1 100644
--- a/src/wixlib/UtilExtension.wxs
+++ b/src/wixlib/UtilExtension.wxs
@@ -3,6 +3,7 @@
3 3
4 4
5<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 5<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
6 <?include caDecor.wxi ?>
6 <?include caerr.wxi ?> 7 <?include caerr.wxi ?>
7 8
8 <Fragment> 9 <Fragment>
@@ -63,368 +64,358 @@
63 </Fragment> 64 </Fragment>
64 65
65 <Fragment> 66 <Fragment>
66 <CustomAction Id="WixFailWhenDeferred" BinaryKey="UtilCA" DllEntry="WixFailWhenDeferred" Execute="deferred" Return="check" SuppressModularization="yes" /> 67 <CustomAction Id="$(var.Prefix)FailWhenDeferred$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixFailWhenDeferred" Execute="deferred" Return="check" SuppressModularization="yes" />
67 68
68 <InstallExecuteSequence> 69 <InstallExecuteSequence>
69 <Custom Action="WixFailWhenDeferred" Before="InstallFinalize" Overridable="yes">WIXFAILWHENDEFERRED=1 AND VersionNT &gt; 400</Custom> 70 <Custom Action="$(var.Prefix)FailWhenDeferred$(var.Suffix)" Before="InstallFinalize" Overridable="yes">WIXFAILWHENDEFERRED=1 AND VersionNT &gt; 400</Custom>
70 </InstallExecuteSequence> 71 </InstallExecuteSequence>
71 </Fragment> 72 </Fragment>
72 73
73 <Fragment> 74 <Fragment>
74 <CustomAction Id="WixWaitForEvent" BinaryKey="UtilCA" DllEntry="WixWaitForEvent" Execute="immediate" Return="check" SuppressModularization="yes" /> 75 <CustomAction Id="$(var.Prefix)WaitForEvent$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixWaitForEvent" Execute="immediate" Return="check" SuppressModularization="yes" />
75 76
76 <InstallExecuteSequence> 77 <InstallExecuteSequence>
77 <Custom Action="WixWaitForEvent" Before="InstallFinalize" Overridable="yes" /> 78 <Custom Action="$(var.Prefix)WaitForEvent$(var.Suffix)" Before="InstallFinalize" Overridable="yes" />
78 </InstallExecuteSequence> 79 </InstallExecuteSequence>
79 </Fragment> 80 </Fragment>
80 81
81 <Fragment> 82 <Fragment>
82 <CustomAction Id="WixWaitForEventDeferred" BinaryKey="UtilCA" DllEntry="WixWaitForEvent" Execute="deferred" Return="check" SuppressModularization="yes" /> 83 <CustomAction Id="$(var.Prefix)WaitForEventDeferred$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixWaitForEvent" Execute="deferred" Return="check" SuppressModularization="yes" />
83 84
84 <InstallExecuteSequence> 85 <InstallExecuteSequence>
85 <Custom Action="WixWaitForEventDeferred" After="InstallInitialize" Overridable="yes" /> 86 <Custom Action="$(var.Prefix)WaitForEventDeferred$(var.Suffix)" After="InstallInitialize" Overridable="yes" />
86 </InstallExecuteSequence> 87 </InstallExecuteSequence>
87 </Fragment> 88 </Fragment>
88 89
89 <Fragment> 90 <Fragment>
90 <CustomAction Id="WixExitEarlyWithSuccess" BinaryKey="UtilCA" DllEntry="WixExitEarlyWithSuccess" Execute="immediate" Return="check" SuppressModularization="yes" /> 91 <CustomAction Id="$(var.Prefix)ExitEarlyWithSuccess$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixExitEarlyWithSuccess" Execute="immediate" Return="check" SuppressModularization="yes" />
91 92
92 <InstallExecuteSequence> 93 <InstallExecuteSequence>
93 <Custom Action="WixExitEarlyWithSuccess" After="FindRelatedProducts" Overridable="yes">NEWERVERSIONDETECTED AND VersionNT &gt; 400</Custom> 94 <Custom Action="$(var.Prefix)ExitEarlyWithSuccess$(var.Suffix)" After="FindRelatedProducts" Overridable="yes">NEWERVERSIONDETECTED AND VersionNT &gt; 400</Custom>
94 </InstallExecuteSequence> 95 </InstallExecuteSequence>
95 </Fragment> 96 </Fragment>
96 97
97 <Fragment> 98 <Fragment>
98 <CustomAction Id="WixRemoveFoldersEx" BinaryKey="UtilCA" DllEntry="WixRemoveFoldersEx" Execute="immediate" Return="ignore" /> 99 <CustomAction Id="$(var.Prefix)RemoveFoldersEx$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixRemoveFoldersEx" Execute="immediate" Return="ignore" />
99 100
100 <InstallExecuteSequence> 101 <InstallExecuteSequence>
101 <Custom Action="WixRemoveFoldersEx" Before="CostInitialize" /> 102 <Custom Action="$(var.Prefix)RemoveFoldersEx$(var.Suffix)" Before="CostInitialize" />
102 </InstallExecuteSequence> 103 </InstallExecuteSequence>
103 </Fragment> 104 </Fragment>
104 105
105 <Fragment> 106 <Fragment>
106 <CustomAction Id="WixBroadcastSettingChange" BinaryKey="UtilCA" DllEntry="WixBroadcastSettingChange" Execute="immediate" Return="ignore" SuppressModularization="yes" /> 107 <CustomAction Id="$(var.Prefix)BroadcastSettingChange$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixBroadcastSettingChange" Execute="immediate" Return="ignore" SuppressModularization="yes" />
107 108
108 <InstallExecuteSequence> 109 <InstallExecuteSequence>
109 <Custom Action="WixBroadcastSettingChange" After="InstallFinalize" Overridable="yes" /> 110 <Custom Action="$(var.Prefix)BroadcastSettingChange$(var.Suffix)" After="InstallFinalize" Overridable="yes" />
110 </InstallExecuteSequence> 111 </InstallExecuteSequence>
111 </Fragment> 112 </Fragment>
112 113
113 <Fragment> 114 <Fragment>
114 <CustomAction Id="WixBroadcastEnvironmentChange" BinaryKey="UtilCA" DllEntry="WixBroadcastEnvironmentChange" Execute="immediate" Return="ignore" SuppressModularization="yes" /> 115 <CustomAction Id="$(var.Prefix)BroadcastEnvironmentChange$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixBroadcastEnvironmentChange" Execute="immediate" Return="ignore" SuppressModularization="yes" />
115 116
116 <InstallExecuteSequence> 117 <InstallExecuteSequence>
117 <Custom Action="WixBroadcastEnvironmentChange" After="InstallFinalize" Overridable="yes" /> 118 <Custom Action="$(var.Prefix)BroadcastEnvironmentChange$(var.Suffix)" After="InstallFinalize" Overridable="yes" />
118 </InstallExecuteSequence> 119 </InstallExecuteSequence>
119 </Fragment> 120 </Fragment>
120 121
121 <!-- WiX OS-detection properties and custom action --> 122 <!-- WiX OS-detection properties and custom action -->
122 <Fragment> 123 <Fragment>
123 <CustomAction Id="WixQueryOsInfo" BinaryKey="UtilCA" DllEntry="WixQueryOsInfo" Execute="firstSequence" Return="check" SuppressModularization="yes" /> 124 <CustomAction Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQueryOsInfo" Execute="firstSequence" Return="check" SuppressModularization="yes" />
124 125
125 <InstallExecuteSequence> 126 <InstallExecuteSequence>
126 <Custom Action="WixQueryOsInfo" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom> 127 <Custom Action="$(var.Prefix)QueryOsInfo$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom>
127 </InstallExecuteSequence> 128 </InstallExecuteSequence>
128 129
129 <InstallUISequence> 130 <InstallUISequence>
130 <Custom Action="WixQueryOsInfo" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom> 131 <Custom Action="$(var.Prefix)QueryOsInfo$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom>
131 </InstallUISequence> 132 </InstallUISequence>
132 </Fragment> 133 </Fragment>
133 134
134 <Fragment> 135 <Fragment>
135 <Property Id="WIX_SUITE_BACKOFFICE" Secure="yes" /> 136 <Property Id="WIX_SUITE_BACKOFFICE" Secure="yes" />
136 <CustomActionRef Id="WixQueryOsInfo" /> 137 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
137 </Fragment> 138 </Fragment>
138 <Fragment> 139 <Fragment>
139 <Property Id="WIX_SUITE_BLADE" Secure="yes" /> 140 <Property Id="WIX_SUITE_BLADE" Secure="yes" />
140 <CustomActionRef Id="WixQueryOsInfo" /> 141 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
141 </Fragment> 142 </Fragment>
142 <Fragment> 143 <Fragment>
143 <Property Id="WIX_SUITE_COMMUNICATIONS" Secure="yes" /> 144 <Property Id="WIX_SUITE_COMMUNICATIONS" Secure="yes" />
144 <CustomActionRef Id="WixQueryOsInfo" /> 145 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
145 </Fragment> 146 </Fragment>
146 <Fragment> 147 <Fragment>
147 <Property Id="WIX_SUITE_COMPUTE_SERVER" Secure="yes" /> 148 <Property Id="WIX_SUITE_COMPUTE_SERVER" Secure="yes" />
148 <CustomActionRef Id="WixQueryOsInfo" /> 149 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
149 </Fragment> 150 </Fragment>
150 <Fragment> 151 <Fragment>
151 <Property Id="WIX_SUITE_DATACENTER" Secure="yes" /> 152 <Property Id="WIX_SUITE_DATACENTER" Secure="yes" />
152 <CustomActionRef Id="WixQueryOsInfo" /> 153 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
153 </Fragment> 154 </Fragment>
154 <Fragment> 155 <Fragment>
155 <Property Id="WIX_SUITE_EMBEDDED_RESTRICTED" Secure="yes" /> 156 <Property Id="WIX_SUITE_EMBEDDED_RESTRICTED" Secure="yes" />
156 <CustomActionRef Id="WixQueryOsInfo" /> 157 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
157 </Fragment> 158 </Fragment>
158 <Fragment> 159 <Fragment>
159 <Property Id="WIX_SUITE_EMBEDDEDNT" Secure="yes" /> 160 <Property Id="WIX_SUITE_EMBEDDEDNT" Secure="yes" />
160 <CustomActionRef Id="WixQueryOsInfo" /> 161 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
161 </Fragment> 162 </Fragment>
162 <Fragment> 163 <Fragment>
163 <Property Id="WIX_SUITE_ENTERPRISE" Secure="yes" /> 164 <Property Id="WIX_SUITE_ENTERPRISE" Secure="yes" />
164 <CustomActionRef Id="WixQueryOsInfo" /> 165 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
165 </Fragment> 166 </Fragment>
166 <Fragment> 167 <Fragment>
167 <Property Id="WIX_SUITE_MEDIACENTER" Secure="yes" /> 168 <Property Id="WIX_SUITE_MEDIACENTER" Secure="yes" />
168 <CustomActionRef Id="WixQueryOsInfo" /> 169 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
169 </Fragment> 170 </Fragment>
170 <Fragment> 171 <Fragment>
171 <Property Id="WIX_SUITE_PERSONAL" Secure="yes" /> 172 <Property Id="WIX_SUITE_PERSONAL" Secure="yes" />
172 <CustomActionRef Id="WixQueryOsInfo" /> 173 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
173 </Fragment> 174 </Fragment>
174 <Fragment> 175 <Fragment>
175 <Property Id="WIX_SUITE_SECURITY_APPLIANCE" Secure="yes" /> 176 <Property Id="WIX_SUITE_SECURITY_APPLIANCE" Secure="yes" />
176 <CustomActionRef Id="WixQueryOsInfo" /> 177 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
177 </Fragment> 178 </Fragment>
178 <Fragment> 179 <Fragment>
179 <Property Id="WIX_SUITE_SERVERR2" Secure="yes" /> 180 <Property Id="WIX_SUITE_SERVERR2" Secure="yes" />
180 <CustomActionRef Id="WixQueryOsInfo" /> 181 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
181 </Fragment> 182 </Fragment>
182 <Fragment> 183 <Fragment>
183 <Property Id="WIX_SUITE_SINGLEUSERTS" Secure="yes" /> 184 <Property Id="WIX_SUITE_SINGLEUSERTS" Secure="yes" />
184 <CustomActionRef Id="WixQueryOsInfo" /> 185 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
185 </Fragment> 186 </Fragment>
186 <Fragment> 187 <Fragment>
187 <Property Id="WIX_SUITE_SMALLBUSINESS" Secure="yes" /> 188 <Property Id="WIX_SUITE_SMALLBUSINESS" Secure="yes" />
188 <CustomActionRef Id="WixQueryOsInfo" /> 189 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
189 </Fragment> 190 </Fragment>
190 <Fragment> 191 <Fragment>
191 <Property Id="WIX_SUITE_SMALLBUSINESS_RESTRICTED" Secure="yes" /> 192 <Property Id="WIX_SUITE_SMALLBUSINESS_RESTRICTED" Secure="yes" />
192 <CustomActionRef Id="WixQueryOsInfo" /> 193 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
193 </Fragment> 194 </Fragment>
194 <Fragment> 195 <Fragment>
195 <Property Id="WIX_SUITE_STARTER" Secure="yes" /> 196 <Property Id="WIX_SUITE_STARTER" Secure="yes" />
196 <CustomActionRef Id="WixQueryOsInfo" /> 197 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
197 </Fragment> 198 </Fragment>
198 <Fragment> 199 <Fragment>
199 <Property Id="WIX_SUITE_STORAGE_SERVER" Secure="yes" /> 200 <Property Id="WIX_SUITE_STORAGE_SERVER" Secure="yes" />
200 <CustomActionRef Id="WixQueryOsInfo" /> 201 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
201 </Fragment> 202 </Fragment>
202 <Fragment> 203 <Fragment>
203 <Property Id="WIX_SUITE_TABLETPC" Secure="yes" /> 204 <Property Id="WIX_SUITE_TABLETPC" Secure="yes" />
204 <CustomActionRef Id="WixQueryOsInfo" /> 205 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
205 </Fragment> 206 </Fragment>
206 <Fragment> 207 <Fragment>
207 <Property Id="WIX_SUITE_TERMINAL" Secure="yes" /> 208 <Property Id="WIX_SUITE_TERMINAL" Secure="yes" />
208 <CustomActionRef Id="WixQueryOsInfo" /> 209 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
209 </Fragment> 210 </Fragment>
210 <Fragment> 211 <Fragment>
211 <Property Id="WIX_SUITE_WH_SERVER" Secure="yes" /> 212 <Property Id="WIX_SUITE_WH_SERVER" Secure="yes" />
212 <CustomActionRef Id="WixQueryOsInfo" /> 213 <CustomActionRef Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" />
213 </Fragment> 214 </Fragment>
214 215
215 <Fragment> 216 <Fragment>
216 <CustomAction Id="WixQueryOsDirs" BinaryKey="UtilCA" DllEntry="WixQueryOsDirs" Execute="firstSequence" Return="check" SuppressModularization="yes" /> 217 <CustomAction Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQueryOsDirs" Execute="firstSequence" Return="check" SuppressModularization="yes" />
217 218
218 <InstallExecuteSequence> 219 <InstallExecuteSequence>
219 <Custom Action="WixQueryOsDirs" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom> 220 <Custom Action="$(var.Prefix)QueryOsDirs$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom>
220 </InstallExecuteSequence> 221 </InstallExecuteSequence>
221 222
222 <InstallUISequence> 223 <InstallUISequence>
223 <Custom Action="WixQueryOsDirs" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom> 224 <Custom Action="$(var.Prefix)QueryOsDirs$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom>
224 </InstallUISequence> 225 </InstallUISequence>
225 </Fragment> 226 </Fragment>
226 227
227 <Fragment> 228 <Fragment>
228 <Property Id="WIX_DIR_ADMINTOOLS" Secure="yes" /> 229 <Property Id="WIX_DIR_ADMINTOOLS" Secure="yes" />
229 <CustomActionRef Id="WixQueryOsDirs" /> 230 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
230 </Fragment> 231 </Fragment>
231 <Fragment> 232 <Fragment>
232 <Property Id="WIX_DIR_ALTSTARTUP" Secure="yes" /> 233 <Property Id="WIX_DIR_ALTSTARTUP" Secure="yes" />
233 <CustomActionRef Id="WixQueryOsDirs" /> 234 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
234 </Fragment> 235 </Fragment>
235 <Fragment> 236 <Fragment>
236 <Property Id="WIX_DIR_CDBURN_AREA" Secure="yes" /> 237 <Property Id="WIX_DIR_CDBURN_AREA" Secure="yes" />
237 <CustomActionRef Id="WixQueryOsDirs" /> 238 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
238 </Fragment> 239 </Fragment>
239 <Fragment> 240 <Fragment>
240 <Property Id="WIX_DIR_COMMON_ADMINTOOLS" Secure="yes" /> 241 <Property Id="WIX_DIR_COMMON_ADMINTOOLS" Secure="yes" />
241 <CustomActionRef Id="WixQueryOsDirs" /> 242 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
242 </Fragment> 243 </Fragment>
243 <Fragment> 244 <Fragment>
244 <Property Id="WIX_DIR_COMMON_ALTSTARTUP" Secure="yes" /> 245 <Property Id="WIX_DIR_COMMON_ALTSTARTUP" Secure="yes" />
245 <CustomActionRef Id="WixQueryOsDirs" /> 246 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
246 </Fragment> 247 </Fragment>
247 <Fragment> 248 <Fragment>
248 <Property Id="WIX_DIR_COMMON_DOCUMENTS" Secure="yes" /> 249 <Property Id="WIX_DIR_COMMON_DOCUMENTS" Secure="yes" />
249 <CustomActionRef Id="WixQueryOsDirs" /> 250 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
250 </Fragment> 251 </Fragment>
251 <Fragment> 252 <Fragment>
252 <Property Id="WIX_DIR_COMMON_FAVORITES" Secure="yes" /> 253 <Property Id="WIX_DIR_COMMON_FAVORITES" Secure="yes" />
253 <CustomActionRef Id="WixQueryOsDirs" /> 254 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
254 </Fragment> 255 </Fragment>
255 <Fragment> 256 <Fragment>
256 <Property Id="WIX_DIR_COMMON_MUSIC" Secure="yes" /> 257 <Property Id="WIX_DIR_COMMON_MUSIC" Secure="yes" />
257 <CustomActionRef Id="WixQueryOsDirs" /> 258 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
258 </Fragment> 259 </Fragment>
259 <Fragment> 260 <Fragment>
260 <Property Id="WIX_DIR_COMMON_PICTURES" Secure="yes" /> 261 <Property Id="WIX_DIR_COMMON_PICTURES" Secure="yes" />
261 <CustomActionRef Id="WixQueryOsDirs" /> 262 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
262 </Fragment> 263 </Fragment>
263 <Fragment> 264 <Fragment>
264 <Property Id="WIX_DIR_COMMON_VIDEO" Secure="yes" /> 265 <Property Id="WIX_DIR_COMMON_VIDEO" Secure="yes" />
265 <CustomActionRef Id="WixQueryOsDirs" /> 266 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
266 </Fragment> 267 </Fragment>
267 <Fragment> 268 <Fragment>
268 <Property Id="WIX_DIR_COOKIES" Secure="yes" /> 269 <Property Id="WIX_DIR_COOKIES" Secure="yes" />
269 <CustomActionRef Id="WixQueryOsDirs" /> 270 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
270 </Fragment> 271 </Fragment>
271 <Fragment> 272 <Fragment>
272 <Property Id="WIX_DIR_DESKTOP" Secure="yes" /> 273 <Property Id="WIX_DIR_DESKTOP" Secure="yes" />
273 <CustomActionRef Id="WixQueryOsDirs" /> 274 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
274 </Fragment> 275 </Fragment>
275 <Fragment> 276 <Fragment>
276 <Property Id="WIX_DIR_HISTORY" Secure="yes" /> 277 <Property Id="WIX_DIR_HISTORY" Secure="yes" />
277 <CustomActionRef Id="WixQueryOsDirs" /> 278 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
278 </Fragment> 279 </Fragment>
279 <Fragment> 280 <Fragment>
280 <Property Id="WIX_DIR_INTERNET_CACHE" Secure="yes" /> 281 <Property Id="WIX_DIR_INTERNET_CACHE" Secure="yes" />
281 <CustomActionRef Id="WixQueryOsDirs" /> 282 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
282 </Fragment> 283 </Fragment>
283 <Fragment> 284 <Fragment>
284 <Property Id="WIX_DIR_MYMUSIC" Secure="yes" /> 285 <Property Id="WIX_DIR_MYMUSIC" Secure="yes" />
285 <CustomActionRef Id="WixQueryOsDirs" /> 286 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
286 </Fragment> 287 </Fragment>
287 <Fragment> 288 <Fragment>
288 <Property Id="WIX_DIR_MYPICTURES" Secure="yes" /> 289 <Property Id="WIX_DIR_MYPICTURES" Secure="yes" />
289 <CustomActionRef Id="WixQueryOsDirs" /> 290 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
290 </Fragment> 291 </Fragment>
291 <Fragment> 292 <Fragment>
292 <Property Id="WIX_DIR_MYVIDEO" Secure="yes" /> 293 <Property Id="WIX_DIR_MYVIDEO" Secure="yes" />
293 <CustomActionRef Id="WixQueryOsDirs" /> 294 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
294 </Fragment> 295 </Fragment>
295 <Fragment> 296 <Fragment>
296 <Property Id="WIX_DIR_NETHOOD" Secure="yes" /> 297 <Property Id="WIX_DIR_NETHOOD" Secure="yes" />
297 <CustomActionRef Id="WixQueryOsDirs" /> 298 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
298 </Fragment> 299 </Fragment>
299 <Fragment> 300 <Fragment>
300 <Property Id="WIX_DIR_PERSONAL" Secure="yes" /> 301 <Property Id="WIX_DIR_PERSONAL" Secure="yes" />
301 <CustomActionRef Id="WixQueryOsDirs" /> 302 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
302 </Fragment> 303 </Fragment>
303 <Fragment> 304 <Fragment>
304 <Property Id="WIX_DIR_PRINTHOOD" Secure="yes" /> 305 <Property Id="WIX_DIR_PRINTHOOD" Secure="yes" />
305 <CustomActionRef Id="WixQueryOsDirs" /> 306 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
306 </Fragment> 307 </Fragment>
307 <Fragment> 308 <Fragment>
308 <Property Id="WIX_DIR_PROFILE" Secure="yes" /> 309 <Property Id="WIX_DIR_PROFILE" Secure="yes" />
309 <CustomActionRef Id="WixQueryOsDirs" /> 310 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
310 </Fragment> 311 </Fragment>
311 <Fragment> 312 <Fragment>
312 <Property Id="WIX_DIR_RECENT" Secure="yes" /> 313 <Property Id="WIX_DIR_RECENT" Secure="yes" />
313 <CustomActionRef Id="WixQueryOsDirs" /> 314 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
314 </Fragment> 315 </Fragment>
315 <Fragment> 316 <Fragment>
316 <Property Id="WIX_DIR_RESOURCES" Secure="yes" /> 317 <Property Id="WIX_DIR_RESOURCES" Secure="yes" />
317 <CustomActionRef Id="WixQueryOsDirs" /> 318 <CustomActionRef Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" />
318 </Fragment> 319 </Fragment>
319 320
320 <Fragment> 321 <Fragment>
321 <CustomAction Id="WixQueryOsWellKnownSID" BinaryKey="UtilCA" DllEntry="WixQueryOsWellKnownSID" Execute="firstSequence" Return="check" SuppressModularization="yes" /> 322 <CustomAction Id="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQueryOsWellKnownSID" Execute="firstSequence" Return="check" SuppressModularization="yes" />
322 323
323 <InstallExecuteSequence> 324 <InstallExecuteSequence>
324 <Custom Action="WixQueryOsWellKnownSID" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom> 325 <Custom Action="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom>
325 </InstallExecuteSequence> 326 </InstallExecuteSequence>
326 327
327 <InstallUISequence> 328 <InstallUISequence>
328 <Custom Action="WixQueryOsWellKnownSID" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom> 329 <Custom Action="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom>
329 </InstallUISequence> 330 </InstallUISequence>
330 </Fragment> 331 </Fragment>
331 332
332 <Fragment> 333 <Fragment>
333 <Property Id="WIX_ACCOUNT_LOCALSYSTEM" Secure="yes" /> 334 <Property Id="WIX_ACCOUNT_LOCALSYSTEM" Secure="yes" />
334 <CustomActionRef Id="WixQueryOsWellKnownSID" /> 335 <CustomActionRef Id="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" />
335 </Fragment> 336 </Fragment>
336 <Fragment> 337 <Fragment>
337 <Property Id="WIX_ACCOUNT_LOCALSERVICE" Secure="yes" /> 338 <Property Id="WIX_ACCOUNT_LOCALSERVICE" Secure="yes" />
338 <CustomActionRef Id="WixQueryOsWellKnownSID" /> 339 <CustomActionRef Id="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" />
339 </Fragment> 340 </Fragment>
340 <Fragment> 341 <Fragment>
341 <Property Id="WIX_ACCOUNT_NETWORKSERVICE" Secure="yes" /> 342 <Property Id="WIX_ACCOUNT_NETWORKSERVICE" Secure="yes" />
342 <CustomActionRef Id="WixQueryOsWellKnownSID" /> 343 <CustomActionRef Id="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" />
343 </Fragment> 344 </Fragment>
344 <Fragment> 345 <Fragment>
345 <Property Id="WIX_ACCOUNT_ADMINISTRATORS" Secure="yes" /> 346 <Property Id="WIX_ACCOUNT_ADMINISTRATORS" Secure="yes" />
346 <CustomActionRef Id="WixQueryOsWellKnownSID" /> 347 <CustomActionRef Id="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" />
347 </Fragment> 348 </Fragment>
348 <Fragment> 349 <Fragment>
349 <Property Id="WIX_ACCOUNT_USERS" Secure="yes" /> 350 <Property Id="WIX_ACCOUNT_USERS" Secure="yes" />
350 <CustomActionRef Id="WixQueryOsWellKnownSID" /> 351 <CustomActionRef Id="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" />
351 </Fragment> 352 </Fragment>
352 <Fragment> 353 <Fragment>
353 <Property Id="WIX_ACCOUNT_GUESTS" Secure="yes" /> 354 <Property Id="WIX_ACCOUNT_GUESTS" Secure="yes" />
354 <CustomActionRef Id="WixQueryOsWellKnownSID" /> 355 <CustomActionRef Id="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" />
355 </Fragment> 356 </Fragment>
356 <Fragment> 357 <Fragment>
357 <Property Id="WIX_ACCOUNT_PERFLOGUSERS" Secure="yes" /> 358 <Property Id="WIX_ACCOUNT_PERFLOGUSERS" Secure="yes" />
358 <Property Id="WIX_ACCOUNT_PERFLOGUSERS_NODOMAIN" Secure="yes" /> 359 <Property Id="WIX_ACCOUNT_PERFLOGUSERS_NODOMAIN" Secure="yes" />
359 <CustomActionRef Id="WixQueryOsWellKnownSID" /> 360 <CustomActionRef Id="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" />
360 </Fragment> 361 </Fragment>
361 362
362 <Fragment> 363 <Fragment>
363 <CustomAction Id="WixQueryOsDriverInfo" BinaryKey="UtilCA" DllEntry="WixQueryOsDriverInfo" Execute="firstSequence" Return="check" SuppressModularization="yes" /> 364 <CustomAction Id="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQueryOsDriverInfo" Execute="firstSequence" Return="check" SuppressModularization="yes" />
364 365
365 <InstallExecuteSequence> 366 <InstallExecuteSequence>
366 <Custom Action="WixQueryOsDriverInfo" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom> 367 <Custom Action="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom>
367 </InstallExecuteSequence> 368 </InstallExecuteSequence>
368 369
369 <InstallUISequence> 370 <InstallUISequence>
370 <Custom Action="WixQueryOsDriverInfo" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom> 371 <Custom Action="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom>
371 </InstallUISequence> 372 </InstallUISequence>
372 </Fragment> 373 </Fragment>
373 374
374 <Fragment> 375 <Fragment>
375 <Property Id="WIX_WDDM_DRIVER_PRESENT" Secure="yes" /> 376 <Property Id="WIX_WDDM_DRIVER_PRESENT" Secure="yes" />
376 <CustomActionRef Id="WixQueryOsDriverInfo" /> 377 <CustomActionRef Id="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" />
377 </Fragment> 378 </Fragment>
378 379
379 <Fragment> 380 <Fragment>
380 <Property Id="WIX_DWM_COMPOSITION_ENABLED" Secure="yes" /> 381 <Property Id="WIX_DWM_COMPOSITION_ENABLED" Secure="yes" />
381 <CustomActionRef Id="WixQueryOsDriverInfo" /> 382 <CustomActionRef Id="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" />
382 </Fragment> 383 </Fragment>
383 384
384 <!-- ShellExec custom actions (for when only one is needed; multiple executions need their own IDs) --> 385 <!-- ShellExec custom actions (for when only one is needed; multiple executions need their own IDs) -->
385 <Fragment> 386 <Fragment>
386 <PropertyRef Id="WixShellExecBinaryId" /> 387 <PropertyRef Id="WixShellExecBinaryId" />
387 <CustomAction Id="WixShellExecBinary" BinaryKey="UtilCA" DllEntry="WixShellExecBinary" Execute="immediate" Return="check" Impersonate="yes" /> 388 <CustomAction Id="$(var.Prefix)ShellExecBinary$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixShellExecBinary" Execute="immediate" Return="check" Impersonate="yes" />
388 </Fragment> 389 </Fragment>
389 390
390 <Fragment> 391 <Fragment>
391 <PropertyRef Id="WixShellExecTarget" /> 392 <PropertyRef Id="WixShellExecTarget" />
392 <CustomAction Id="WixShellExec" BinaryKey="UtilCA" DllEntry="WixShellExec" Execute="immediate" Return="check" Impersonate="yes" /> 393 <CustomAction Id="$(var.Prefix)ShellExec$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixShellExec" Execute="immediate" Return="check" Impersonate="yes" />
393 </Fragment> 394 </Fragment>
394 395
395 <Fragment> 396 <Fragment>
396 <PropertyRef Id="WixUnelevatedShellExecTarget" /> 397 <PropertyRef Id="WixUnelevatedShellExecTarget" />
397 <CustomAction Id="WixUnelevatedShellExec" BinaryKey="UtilCA" DllEntry="WixUnelevatedShellExec" Execute="immediate" Return="check" Impersonate="yes" /> 398 <CustomAction Id="$(var.Prefix)UnelevatedShellExec$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixUnelevatedShellExec" Execute="immediate" Return="check" Impersonate="yes" />
398 </Fragment>
399
400 <Fragment>
401 <PropertyRef Id="QtExecCmdLine" />
402 <CustomAction Id="QtExec" BinaryKey="UtilCA" DllEntry="CAQuietExec" Execute="immediate" Return="check" Impersonate="yes" />
403 </Fragment>
404
405 <Fragment>
406 <PropertyRef Id="QtExec64CmdLine" />
407 <CustomAction Id="QtExec64" BinaryKey="UtilCA" DllEntry="CAQuietExec64" Execute="immediate" Return="check" Impersonate="yes" />
408 </Fragment> 399 </Fragment>
409 400
410 <Fragment> 401 <Fragment>
411 <PropertyRef Id="WixQuietExecCmdLine" /> 402 <PropertyRef Id="WixQuietExecCmdLine" />
412 <CustomAction Id="WixQuietExec" BinaryKey="UtilCA" DllEntry="WixQuietExec" Execute="immediate" Return="check" Impersonate="yes" /> 403 <CustomAction Id="$(var.Prefix)QuietExec$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQuietExec" Execute="immediate" Return="check" Impersonate="yes" />
413 </Fragment> 404 </Fragment>
414 405
415 <Fragment> 406 <Fragment>
416 <PropertyRef Id="WixQuietExec64CmdLine" /> 407 <PropertyRef Id="WixQuietExec64CmdLine" />
417 <CustomAction Id="WixQuietExec64" BinaryKey="UtilCA" DllEntry="WixQuietExec64" Execute="immediate" Return="check" Impersonate="yes" /> 408 <CustomAction Id="$(var.Prefix)QuietExec64$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQuietExec64" Execute="immediate" Return="check" Impersonate="yes" />
418 </Fragment> 409 </Fragment>
419 410
420 <!-- SilentExec custom actions differ from QtExec in that they do not log the commandline or output of the exe --> 411 <!-- SilentExec custom actions differ from QtExec in that they do not log the commandline or output of the exe -->
421 <Fragment> 412 <Fragment>
422 <PropertyRef Id="WixSilentExecCmdLine" /> 413 <PropertyRef Id="WixSilentExecCmdLine" />
423 <CustomAction Id="WixSilentExec" BinaryKey="UtilCA" DllEntry="WixSilentExec" Execute="immediate" Return="check" Impersonate="yes" /> 414 <CustomAction Id="$(var.Prefix)SilentExec$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixSilentExec" Execute="immediate" Return="check" Impersonate="yes" />
424 </Fragment> 415 </Fragment>
425 416
426 <Fragment> 417 <Fragment>
427 <PropertyRef Id="WixSilentExec64CmdLine" /> 418 <PropertyRef Id="WixSilentExec64CmdLine" />
428 <CustomAction Id="WixSilentExec64" BinaryKey="UtilCA" DllEntry="WixSilentExec64" Execute="immediate" Return="check" Impersonate="yes" /> 419 <CustomAction Id="$(var.Prefix)SilentExec64$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixSilentExec64" Execute="immediate" Return="check" Impersonate="yes" />
429 </Fragment> 420 </Fragment>
430</Wix> 421</Wix>
diff --git a/src/wixlib/UtilExtension_Platform.wxi b/src/wixlib/UtilExtension_Platform.wxi
index 4f76c687..0d7fed09 100644
--- a/src/wixlib/UtilExtension_Platform.wxi
+++ b/src/wixlib/UtilExtension_Platform.wxi
@@ -3,8 +3,7 @@
3 3
4 4
5<Include xmlns="http://wixtoolset.org/schemas/v4/wxs"> 5<Include xmlns="http://wixtoolset.org/schemas/v4/wxs">
6 6 <?include caDecor.wxi ?>
7 <?include caSuffix.wxi ?>
8 7
9 <!-- 8 <!--
10 The following actions do not support X64. 9 The following actions do not support X64.
@@ -12,178 +11,178 @@
12 <?if $(var.platform)!=x64 ?> 11 <?if $(var.platform)!=x64 ?>
13 12
14 <Fragment> 13 <Fragment>
15 <CustomAction Id="WixCheckRebootRequired$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="WixCheckRebootRequired" Execute="immediate" Return="ignore" SuppressModularization="yes" /> 14 <CustomAction Id="$(var.Prefix)CheckRebootRequired$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixCheckRebootRequired" Execute="immediate" Return="ignore" SuppressModularization="yes" />
16 15
17 <InstallExecuteSequence> 16 <InstallExecuteSequence>
18 <!-- Condition this so it runs on install and MMode, but not uninstall --> 17 <!-- Condition this so it runs on install and MMode, but not uninstall -->
19 <Custom Action="WixCheckRebootRequired$(var.Suffix)" After="InstallFinalize" Overridable="yes">NOT REMOVE~="ALL" AND VersionNT &gt; 400</Custom> 18 <Custom Action="$(var.Prefix)CheckRebootRequired$(var.Suffix)" After="InstallFinalize" Overridable="yes">NOT REMOVE~="ALL" AND VersionNT &gt; 400</Custom>
20 </InstallExecuteSequence> 19 </InstallExecuteSequence>
21 </Fragment> 20 </Fragment>
22 21
23 <Fragment> 22 <Fragment>
24 <CustomAction Id="WixCloseApplications$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="WixCloseApplications" Execute="immediate" Return="check" SuppressModularization="yes" /> 23 <CustomAction Id="$(var.Prefix)CloseApplications$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixCloseApplications" Execute="immediate" Return="check" SuppressModularization="yes" />
25 <CustomAction Id="WixCloseApplicationsDeferred$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="WixCloseApplicationsDeferred" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> 24 <CustomAction Id="$(var.Prefix)CloseApplicationsDeferred$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixCloseApplicationsDeferred" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" />
26 <CustomActionRef Id="WixCheckRebootRequired$(var.Suffix)" /> 25 <CustomActionRef Id="$(var.Prefix)CheckRebootRequired$(var.Suffix)" />
27 26
28 <InstallExecuteSequence> 27 <InstallExecuteSequence>
29 <Custom Action="WixCloseApplications$(var.Suffix)" Before="InstallFiles" Overridable="yes">VersionNT &gt; 400</Custom> 28 <Custom Action="$(var.Prefix)CloseApplications$(var.Suffix)" Before="InstallFiles" Overridable="yes">VersionNT &gt; 400</Custom>
30 </InstallExecuteSequence> 29 </InstallExecuteSequence>
31 </Fragment> 30 </Fragment>
32 31
33 <Fragment> 32 <Fragment>
34 <CustomAction Id="WixRegisterRestartResources$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="WixRegisterRestartResources$(var.Suffix)" Execute="immediate" Return="check" SuppressModularization="yes" /> 33 <CustomAction Id="$(var.Prefix)RegisterRestartResources$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixRegisterRestartResources$(var.Suffix)" Execute="immediate" Return="check" SuppressModularization="yes" />
35 34
36 <InstallExecuteSequence> 35 <InstallExecuteSequence>
37 <Custom Action="WixRegisterRestartResources$(var.Suffix)" Before="InstallValidate" Overridable="yes" /> 36 <Custom Action="$(var.Prefix)RegisterRestartResources$(var.Suffix)" Before="InstallValidate" Overridable="yes" />
38 </InstallExecuteSequence> 37 </InstallExecuteSequence>
39 </Fragment> 38 </Fragment>
40 39
41 <Fragment> 40 <Fragment>
42 <UIRef Id="ConfigureUsersErrorText" /> 41 <UIRef Id="ConfigureUsersErrorText" />
43 42
44 <CustomAction Id="ConfigureUsers$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="ConfigureUsers" Execute="immediate" Return="check" SuppressModularization="yes" /> 43 <CustomAction Id="$(var.Prefix)ConfigureUsers$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigureUsers" Execute="immediate" Return="check" SuppressModularization="yes" />
45 <CustomAction Id="CreateUser$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="CreateUser" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" /> 44 <CustomAction Id="$(var.Prefix)CreateUser$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CreateUser" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" />
46 <CustomAction Id="CreateUserRollback$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="RemoveUser" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" /> 45 <CustomAction Id="$(var.Prefix)CreateUserRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RemoveUser" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" />
47 <!-- RemoveUser is a type commit action because it is not possible to rollback the removal of a user --> 46 <!-- RemoveUser is a type commit action because it is not possible to rollback the removal of a user -->
48 <CustomAction Id="RemoveUser$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="RemoveUser" Impersonate="no" Execute="commit" Return="ignore" HideTarget="yes" SuppressModularization="yes" /> 47 <CustomAction Id="$(var.Prefix)RemoveUser$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RemoveUser" Impersonate="no" Execute="commit" Return="ignore" HideTarget="yes" SuppressModularization="yes" />
49 48
50 <InstallExecuteSequence> 49 <InstallExecuteSequence>
51 <Custom Action="ConfigureUsers$(var.Suffix)" Before="InstallFiles" Overridable="yes">VersionNT &gt; 400</Custom> 50 <Custom Action="$(var.Prefix)ConfigureUsers$(var.Suffix)" Before="InstallFiles" Overridable="yes">VersionNT &gt; 400</Custom>
52 </InstallExecuteSequence> 51 </InstallExecuteSequence>
53 </Fragment> 52 </Fragment>
54 53
55 <Fragment> 54 <Fragment>
56 <UIRef Id="ConfigureSmbErrorsText" /> 55 <UIRef Id="ConfigureSmbErrorsText" />
57 56
58 <CustomAction Id="ConfigureSmbInstall$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="ConfigureSmbInstall" Execute="immediate" Return="check" SuppressModularization="yes" /> 57 <CustomAction Id="$(var.Prefix)ConfigureSmbInstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigureSmbInstall" Execute="immediate" Return="check" SuppressModularization="yes" />
59 <CustomAction Id="ConfigureSmbUninstall$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="ConfigureSmbUninstall" Execute="immediate" Return="check" SuppressModularization="yes" /> 58 <CustomAction Id="$(var.Prefix)ConfigureSmbUninstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigureSmbUninstall" Execute="immediate" Return="check" SuppressModularization="yes" />
60 <CustomAction Id="CreateSmb$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="CreateSmb" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" /> 59 <CustomAction Id="$(var.Prefix)CreateSmb$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CreateSmb" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" />
61 <CustomAction Id="CreateSmbRollback$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="DropSmb" Impersonate="no" Execute="rollback" Return="ignore" HideTarget="yes" SuppressModularization="yes" /> 60 <CustomAction Id="$(var.Prefix)CreateSmbRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="DropSmb" Impersonate="no" Execute="rollback" Return="ignore" HideTarget="yes" SuppressModularization="yes" />
62 <CustomAction Id="DropSmb$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="DropSmb" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" /> 61 <CustomAction Id="$(var.Prefix)DropSmb$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="DropSmb" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" />
63 <CustomAction Id="DropSmbRollback$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="CreateSmb" Impersonate="no" Execute="rollback" Return="ignore" HideTarget="yes" SuppressModularization="yes" /> 62 <CustomAction Id="$(var.Prefix)DropSmbRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CreateSmb" Impersonate="no" Execute="rollback" Return="ignore" HideTarget="yes" SuppressModularization="yes" />
64 63
65 <InstallExecuteSequence> 64 <InstallExecuteSequence>
66 <Custom Action="ConfigureSmbInstall$(var.Suffix)" After="InstallFiles" Overridable="yes">VersionNT &gt; 400</Custom> 65 <Custom Action="$(var.Prefix)ConfigureSmbInstall$(var.Suffix)" After="InstallFiles" Overridable="yes">VersionNT &gt; 400</Custom>
67 <Custom Action="ConfigureSmbUninstall$(var.Suffix)" After="RemoveFiles" Overridable="yes">VersionNT &gt; 400</Custom> 66 <Custom Action="$(var.Prefix)ConfigureSmbUninstall$(var.Suffix)" After="RemoveFiles" Overridable="yes">VersionNT &gt; 400</Custom>
68 </InstallExecuteSequence> 67 </InstallExecuteSequence>
69 </Fragment> 68 </Fragment>
70 69
71 <Fragment> 70 <Fragment>
72 <UIRef Id="PerCounterDataErrorsText" /> 71 <UIRef Id="PerCounterDataErrorsText" />
73 72
74 <CustomAction Id="InstallPerfCounterData$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="InstallPerfCounterData" Execute="immediate" Return="check" SuppressModularization="yes" /> 73 <CustomAction Id="$(var.Prefix)InstallPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="InstallPerfCounterData" Execute="immediate" Return="check" SuppressModularization="yes" />
75 <CustomAction Id="UninstallPerfCounterData$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="UninstallPerfCounterData" Execute="immediate" Return="check" SuppressModularization="yes" /> 74 <CustomAction Id="$(var.Prefix)UninstallPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="UninstallPerfCounterData" Execute="immediate" Return="check" SuppressModularization="yes" />
76 <CustomAction Id="RegisterPerfCounterData$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="RegisterPerfCounterData" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" /> 75 <CustomAction Id="$(var.Prefix)RegisterPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RegisterPerfCounterData" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" />
77 <CustomAction Id="UnregisterPerfCounterData$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="UnregisterPerfCounterData" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" /> 76 <CustomAction Id="$(var.Prefix)UnregisterPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="UnregisterPerfCounterData" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" />
78 <CustomAction Id="RollbackRegisterPerfCounterData$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="UnregisterPerfCounterData" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" /> 77 <CustomAction Id="$(var.Prefix)RollbackRegisterPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="UnregisterPerfCounterData" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" />
79 <CustomAction Id="RollbackUnregisterPerfCounterData$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="RegisterPerfCounterData" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" /> 78 <CustomAction Id="$(var.Prefix)RollbackUnregisterPerfCounterData$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RegisterPerfCounterData" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" />
80 79
81 <InstallExecuteSequence> 80 <InstallExecuteSequence>
82 <Custom Action="InstallPerfCounterData$(var.Suffix)" After="WriteRegistryValues" Overridable="yes">VersionNT &gt; 400</Custom> 81 <Custom Action="$(var.Prefix)InstallPerfCounterData$(var.Suffix)" After="WriteRegistryValues" Overridable="yes">VersionNT &gt; 400</Custom>
83 <Custom Action="UninstallPerfCounterData$(var.Suffix)" Before="RemoveRegistryValues" Overridable="yes">VersionNT &gt; 400</Custom> 82 <Custom Action="$(var.Prefix)UninstallPerfCounterData$(var.Suffix)" Before="RemoveRegistryValues" Overridable="yes">VersionNT &gt; 400</Custom>
84 </InstallExecuteSequence> 83 </InstallExecuteSequence>
85 </Fragment> 84 </Fragment>
86 85
87 <Fragment> 86 <Fragment>
88 <UIRef Id="ConfigurePerfmonErrorsText" /> 87 <UIRef Id="ConfigurePerfmonErrorsText" />
89 88
90 <CustomAction Id="ConfigurePerfmonInstall$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="ConfigurePerfmonInstall" Execute="immediate" Return="check" SuppressModularization="yes" /> 89 <CustomAction Id="$(var.Prefix)ConfigurePerfmonInstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigurePerfmonInstall" Execute="immediate" Return="check" SuppressModularization="yes" />
91 <CustomAction Id="ConfigurePerfmonUninstall$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="ConfigurePerfmonUninstall" Execute="immediate" Return="check" SuppressModularization="yes" /> 90 <CustomAction Id="$(var.Prefix)ConfigurePerfmonUninstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigurePerfmonUninstall" Execute="immediate" Return="check" SuppressModularization="yes" />
92 <CustomAction Id="RegisterPerfmon$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="RegisterPerfmon" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> 91 <CustomAction Id="$(var.Prefix)RegisterPerfmon$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RegisterPerfmon" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" />
93 <CustomAction Id="UnregisterPerfmon$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="UnregisterPerfmon" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> 92 <CustomAction Id="$(var.Prefix)UnregisterPerfmon$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="UnregisterPerfmon" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" />
94 <CustomAction Id="RollbackRegisterPerfmon$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="UnregisterPerfmon" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" /> 93 <CustomAction Id="$(var.Prefix)RollbackRegisterPerfmon$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="UnregisterPerfmon" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" />
95 <CustomAction Id="RollbackUnregisterPerfmon$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="RegisterPerfmon" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" /> 94 <CustomAction Id="$(var.Prefix)RollbackUnregisterPerfmon$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RegisterPerfmon" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" />
96 95
97 <InstallExecuteSequence> 96 <InstallExecuteSequence>
98 <Custom Action="ConfigurePerfmonInstall$(var.Suffix)" After="WriteRegistryValues" Overridable="yes">VersionNT &gt; 400</Custom> 97 <Custom Action="$(var.Prefix)ConfigurePerfmonInstall$(var.Suffix)" After="WriteRegistryValues" Overridable="yes">VersionNT &gt; 400</Custom>
99 <Custom Action="ConfigurePerfmonUninstall$(var.Suffix)" Before="RemoveRegistryValues" Overridable="yes">VersionNT &gt; 400</Custom> 98 <Custom Action="$(var.Prefix)ConfigurePerfmonUninstall$(var.Suffix)" Before="RemoveRegistryValues" Overridable="yes">VersionNT &gt; 400</Custom>
100 </InstallExecuteSequence> 99 </InstallExecuteSequence>
101 </Fragment> 100 </Fragment>
102 101
103 <Fragment> 102 <Fragment>
104 <CustomAction Id="ConfigurePerfmonManifestRegister$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="ConfigurePerfmonManifestRegister" Execute="immediate" Return="check" SuppressModularization="yes" /> 103 <CustomAction Id="$(var.Prefix)ConfigurePerfmonManifestRegister$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigurePerfmonManifestRegister" Execute="immediate" Return="check" SuppressModularization="yes" />
105 <CustomAction Id="ConfigurePerfmonManifestUnregister$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="ConfigurePerfmonManifestUnregister" Execute="immediate" Return="check" SuppressModularization="yes" /> 104 <CustomAction Id="$(var.Prefix)ConfigurePerfmonManifestUnregister$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigurePerfmonManifestUnregister" Execute="immediate" Return="check" SuppressModularization="yes" />
106 <CustomAction Id="RegisterPerfmonManifest$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> 105 <CustomAction Id="$(var.Prefix)RegisterPerfmonManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" />
107 <CustomAction Id="UnregisterPerfmonManifest$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="deferred" Return="ignore" SuppressModularization="yes" /> 106 <CustomAction Id="$(var.Prefix)UnregisterPerfmonManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="deferred" Return="ignore" SuppressModularization="yes" />
108 <CustomAction Id="RollbackRegisterPerfmonManifest$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="rollback" Return="ignore" SuppressModularization="yes" /> 107 <CustomAction Id="$(var.Prefix)RollbackRegisterPerfmonManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="rollback" Return="ignore" SuppressModularization="yes" />
109 <CustomAction Id="RollbackUnregisterPerfmonManifest$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" /> 108 <CustomAction Id="$(var.Prefix)RollbackUnregisterPerfmonManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" />
110 109
111 <InstallExecuteSequence> 110 <InstallExecuteSequence>
112 <Custom Action="ConfigurePerfmonManifestRegister$(var.Suffix)" After="InstallFiles" Overridable="yes">VersionNT &gt; 400</Custom> 111 <Custom Action="$(var.Prefix)ConfigurePerfmonManifestRegister$(var.Suffix)" After="InstallFiles" Overridable="yes">VersionNT &gt; 400</Custom>
113 <Custom Action="ConfigurePerfmonManifestUnregister$(var.Suffix)" After="RemoveRegistryValues" Overridable="yes">VersionNT &gt; 400</Custom> 112 <Custom Action="$(var.Prefix)ConfigurePerfmonManifestUnregister$(var.Suffix)" After="RemoveRegistryValues" Overridable="yes">VersionNT &gt; 400</Custom>
114 </InstallExecuteSequence> 113 </InstallExecuteSequence>
115 </Fragment> 114 </Fragment>
116 115
117 <Fragment> 116 <Fragment>
118 <CustomAction Id="ConfigureEventManifestRegister$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="ConfigureEventManifestRegister" Execute="immediate" Return="check" SuppressModularization="yes" /> 117 <CustomAction Id="$(var.Prefix)ConfigureEventManifestRegister$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigureEventManifestRegister" Execute="immediate" Return="check" SuppressModularization="yes" />
119 <CustomAction Id="ConfigureEventManifestUnregister$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="ConfigureEventManifestUnregister" Execute="immediate" Return="check" SuppressModularization="yes" /> 118 <CustomAction Id="$(var.Prefix)ConfigureEventManifestUnregister$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ConfigureEventManifestUnregister" Execute="immediate" Return="check" SuppressModularization="yes" />
120 <CustomAction Id="RegisterEventManifest$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> 119 <CustomAction Id="$(var.Prefix)RegisterEventManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" />
121 <CustomAction Id="UnregisterEventManifest$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="deferred" Return="ignore" SuppressModularization="yes" /> 120 <CustomAction Id="$(var.Prefix)UnregisterEventManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="deferred" Return="ignore" SuppressModularization="yes" />
122 <CustomAction Id="RollbackRegisterEventManifest$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="rollback" Return="ignore" SuppressModularization="yes" /> 121 <CustomAction Id="$(var.Prefix)RollbackRegisterEventManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="rollback" Return="ignore" SuppressModularization="yes" />
123 <CustomAction Id="RollbackUnregisterEventManifest$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" /> 122 <CustomAction Id="$(var.Prefix)RollbackUnregisterEventManifest$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="CAQuietExec" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" />
124 123
125 <InstallExecuteSequence> 124 <InstallExecuteSequence>
126 <Custom Action="ConfigureEventManifestRegister$(var.Suffix)" After="SchedXmlFile" Overridable="yes">VersionNT &gt; 400</Custom> 125 <Custom Action="$(var.Prefix)ConfigureEventManifestRegister$(var.Suffix)" After="$(var.Prefix)SchedXmlFile$(var.Suffix)" Overridable="yes">VersionNT &gt; 400</Custom>
127 <Custom Action="ConfigureEventManifestUnregister$(var.Suffix)" After="RemoveRegistryValues" Overridable="yes">VersionNT &gt; 400</Custom> 126 <Custom Action="$(var.Prefix)ConfigureEventManifestUnregister$(var.Suffix)" After="RemoveRegistryValues" Overridable="yes">VersionNT &gt; 400</Custom>
128 </InstallExecuteSequence> 127 </InstallExecuteSequence>
129 </Fragment> 128 </Fragment>
130 129
131 <Fragment> 130 <Fragment>
132 <CustomAction Id="SchedServiceConfig$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="SchedServiceConfig" Execute="immediate" Return="check" SuppressModularization="yes" /> 131 <CustomAction Id="$(var.Prefix)SchedServiceConfig$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="SchedServiceConfig" Execute="immediate" Return="check" SuppressModularization="yes" />
133 <CustomAction Id="ExecServiceConfig$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="ExecServiceConfig" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" /> 132 <CustomAction Id="$(var.Prefix)ExecServiceConfig$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecServiceConfig" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" />
134 <CustomAction Id="RollbackServiceConfig$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="RollbackServiceConfig" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" /> 133 <CustomAction Id="$(var.Prefix)RollbackServiceConfig$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="RollbackServiceConfig" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" />
135 134
136 <InstallExecuteSequence> 135 <InstallExecuteSequence>
137 <!-- Condition this so it runs on install and MMode, but not uninstall --> 136 <!-- Condition this so it runs on install and MMode, but not uninstall -->
138 <Custom Action="SchedServiceConfig$(var.Suffix)" After="InstallServices" Overridable="yes">NOT REMOVE~="ALL" AND VersionNT &gt; 400</Custom> 137 <Custom Action="$(var.Prefix)SchedServiceConfig$(var.Suffix)" After="InstallServices" Overridable="yes">NOT REMOVE~="ALL" AND VersionNT &gt; 400</Custom>
139 </InstallExecuteSequence> 138 </InstallExecuteSequence>
140 </Fragment> 139 </Fragment>
141 140
142 <Fragment> 141 <Fragment>
143 <CustomAction Id="WixTouchFileDuringInstall" BinaryKey="UtilCA$(var.Suffix)" DllEntry="WixTouchFileDuringInstall" Execute="immediate" Return="check" SuppressModularization="yes" /> 142 <CustomAction Id="$(var.Prefix)TouchFileDuringInstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixTouchFileDuringInstall" Execute="immediate" Return="check" SuppressModularization="yes" />
144 <CustomAction Id="WixTouchFileDuringUninstall" BinaryKey="UtilCA$(var.Suffix)" DllEntry="WixTouchFileDuringUninstall" Execute="immediate" Return="check" SuppressModularization="yes" /> 143 <CustomAction Id="$(var.Prefix)TouchFileDuringUninstall$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixTouchFileDuringUninstall" Execute="immediate" Return="check" SuppressModularization="yes" />
145 <CustomAction Id="WixExecuteTouchFile" BinaryKey="UtilCA$(var.Suffix)" DllEntry="WixExecuteTouchFile" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" /> 144 <CustomAction Id="$(var.Prefix)ExecuteTouchFile$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixExecuteTouchFile" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" />
146 <CustomAction Id="WixRollbackTouchFile" BinaryKey="UtilCA$(var.Suffix)" DllEntry="WixExecuteTouchFile" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" /> 145 <CustomAction Id="$(var.Prefix)RollbackTouchFile$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixExecuteTouchFile" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" />
147 146
148 <InstallExecuteSequence> 147 <InstallExecuteSequence>
149 <Custom Action="WixTouchFileDuringUninstall" Before="RemoveFiles" Overridable="yes" /> 148 <Custom Action="$(var.Prefix)TouchFileDuringUninstall" Before="RemoveFiles" Overridable="yes" />
150 <Custom Action="WixTouchFileDuringInstall" After="InstallFiles" Overridable="yes" /> 149 <Custom Action="$(var.Prefix)TouchFileDuringInstall" After="InstallFiles" Overridable="yes" />
151 </InstallExecuteSequence> 150 </InstallExecuteSequence>
152 </Fragment> 151 </Fragment>
153 152
154 <Fragment> 153 <Fragment>
155 <UIRef Id="XmlFileErrorsText" /> 154 <UIRef Id="XmlFileErrorsText" />
156 155
157 <CustomAction Id="SchedXmlFile$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="SchedXmlFile" Execute="immediate" Return="check" SuppressModularization="yes" /> 156 <CustomAction Id="$(var.Prefix)SchedXmlFile$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="SchedXmlFile" Execute="immediate" Return="check" SuppressModularization="yes" />
158 <CustomAction Id="ExecXmlFile$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="ExecXmlFile" Execute="deferred" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> 157 <CustomAction Id="$(var.Prefix)ExecXmlFile$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecXmlFile" Execute="deferred" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" />
159 <CustomAction Id="ExecXmlFileRollback$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="ExecXmlFileRollback" Execute="rollback" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> 158 <CustomAction Id="$(var.Prefix)ExecXmlFileRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecXmlFileRollback" Execute="rollback" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" />
160 159
161 <InstallExecuteSequence> 160 <InstallExecuteSequence>
162 <Custom Action="SchedXmlFile$(var.Suffix)" After="DuplicateFiles" Overridable="yes">VersionNT &gt; 400</Custom> 161 <Custom Action="$(var.Prefix)SchedXmlFile$(var.Suffix)" After="DuplicateFiles" Overridable="yes">VersionNT &gt; 400</Custom>
163 </InstallExecuteSequence> 162 </InstallExecuteSequence>
164 </Fragment> 163 </Fragment>
165 164
166 <Fragment> 165 <Fragment>
167 <UIRef Id="XmlConfigErrorsText" /> 166 <UIRef Id="XmlConfigErrorsText" />
168 167
169 <CustomAction Id="SchedXmlConfig$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="SchedXmlConfig" Execute="immediate" Return="check" SuppressModularization="yes" /> 168 <CustomAction Id="$(var.Prefix)SchedXmlConfig$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="SchedXmlConfig" Execute="immediate" Return="check" SuppressModularization="yes" />
170 <CustomAction Id="ExecXmlConfig$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="ExecXmlConfig" Execute="deferred" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> 169 <CustomAction Id="$(var.Prefix)ExecXmlConfig$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecXmlConfig" Execute="deferred" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" />
171 <CustomAction Id="ExecXmlConfigRollback$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="ExecXmlConfigRollback" Execute="rollback" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> 170 <CustomAction Id="$(var.Prefix)ExecXmlConfigRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecXmlConfigRollback" Execute="rollback" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" />
172 171
173 <InstallExecuteSequence> 172 <InstallExecuteSequence>
174 <Custom Action="SchedXmlConfig$(var.Suffix)" After="DuplicateFiles" Overridable="yes">VersionNT &gt; 400</Custom> 173 <Custom Action="$(var.Prefix)SchedXmlConfig$(var.Suffix)" After="DuplicateFiles" Overridable="yes">VersionNT &gt; 400</Custom>
175 </InstallExecuteSequence> 174 </InstallExecuteSequence>
176 </Fragment> 175 </Fragment>
177 176
178 <Fragment> 177 <Fragment>
179 <CustomAction Id="WixSchedInternetShortcuts$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="WixSchedInternetShortcuts" Execute="immediate" Return="check" SuppressModularization="yes" /> 178 <CustomAction Id="$(var.Prefix)SchedInternetShortcuts$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixSchedInternetShortcuts" Execute="immediate" Return="check" SuppressModularization="yes" />
180 <CustomAction Id="WixRollbackInternetShortcuts$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="WixRollbackInternetShortcuts" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" /> 179 <CustomAction Id="$(var.Prefix)RollbackInternetShortcuts$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixRollbackInternetShortcuts" Impersonate="no" Execute="rollback" Return="check" SuppressModularization="yes" />
181 <CustomAction Id="WixCreateInternetShortcuts$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="WixCreateInternetShortcuts" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" /> 180 <CustomAction Id="$(var.Prefix)CreateInternetShortcuts$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixCreateInternetShortcuts" Impersonate="no" Execute="deferred" Return="check" SuppressModularization="yes" />
182 181
183 <InstallExecuteSequence> 182 <InstallExecuteSequence>
184 <Custom Action="WixSchedInternetShortcuts$(var.Suffix)" Before="RemoveFolders" Overridable="yes">VersionNT &gt; 400</Custom> 183 <Custom Action="$(var.Prefix)SchedInternetShortcuts$(var.Suffix)" Before="RemoveFolders" Overridable="yes">VersionNT &gt; 400</Custom>
185 <Custom Action="WixRollbackInternetShortcuts$(var.DeferredSuffix)" Before="WixCreateInternetShortcuts$(var.DeferredSuffix)" Overridable="yes">VersionNT &gt; 400</Custom> 184 <Custom Action="$(var.Prefix)RollbackInternetShortcuts$(var.Suffix)" Before="$(var.Prefix)CreateInternetShortcuts$(var.Suffix)" Overridable="yes">VersionNT &gt; 400</Custom>
186 <Custom Action="WixCreateInternetShortcuts$(var.DeferredSuffix)" After="CreateShortcuts" Overridable="yes">VersionNT &gt; 400</Custom> 185 <Custom Action="$(var.Prefix)CreateInternetShortcuts$(var.Suffix)" After="CreateShortcuts" Overridable="yes">VersionNT &gt; 400</Custom>
187 </InstallExecuteSequence> 186 </InstallExecuteSequence>
188 </Fragment> 187 </Fragment>
189 188
@@ -196,29 +195,29 @@
196 <Fragment> 195 <Fragment>
197 <UIRef Id="SecureObjectsErrors" /> 196 <UIRef Id="SecureObjectsErrors" />
198 197
199 <CustomAction Id="SchedSecureObjects$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="SchedSecureObjects" Execute="immediate" Return="check" SuppressModularization="yes" /> 198 <CustomAction Id="$(var.Prefix)SchedSecureObjects$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="SchedSecureObjects" Execute="immediate" Return="check" SuppressModularization="yes" />
200 <CustomAction Id="SchedSecureObjectsRollback$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="SchedSecureObjectsRollback" Execute="immediate" Return="check" SuppressModularization="yes" /> 199 <CustomAction Id="$(var.Prefix)SchedSecureObjectsRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="SchedSecureObjectsRollback" Execute="immediate" Return="check" SuppressModularization="yes" />
201 <CustomAction Id="ExecSecureObjects$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="ExecSecureObjects" Execute="deferred" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> 200 <CustomAction Id="$(var.Prefix)ExecSecureObjects$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecSecureObjects" Execute="deferred" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" />
202 <CustomAction Id="ExecSecureObjectsRollback$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="ExecSecureObjectsRollback" Execute="rollback" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" /> 201 <CustomAction Id="$(var.Prefix)ExecSecureObjectsRollback$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="ExecSecureObjectsRollback" Execute="rollback" Impersonate="no" Return="check" HideTarget="yes" SuppressModularization="yes" />
203 202
204 <InstallExecuteSequence> 203 <InstallExecuteSequence>
205 <!-- Condition this so it runs on install and MMode, but not uninstall --> 204 <!-- Condition this so it runs on install and MMode, but not uninstall -->
206 <Custom Action="SchedSecureObjects$(var.Suffix)" After="InstallServices" Overridable="yes">NOT REMOVE~="ALL" AND VersionNT &gt; 400</Custom> 205 <Custom Action="$(var.Prefix)SchedSecureObjects$(var.Suffix)" After="InstallServices" Overridable="yes">NOT REMOVE~="ALL" AND VersionNT &gt; 400</Custom>
207 <Custom Action="SchedSecureObjectsRollback$(var.Suffix)" After="UnpublishFeatures" Overridable="yes">VersionNT &gt; 400</Custom> 206 <Custom Action="$(var.Prefix)SchedSecureObjectsRollback$(var.Suffix)" After="UnpublishFeatures" Overridable="yes">VersionNT &gt; 400</Custom>
208 </InstallExecuteSequence> 207 </InstallExecuteSequence>
209 </Fragment> 208 </Fragment>
210 209
211 <Fragment> 210 <Fragment>
212 <CustomAction Id="WixSchedFormatFiles$(var.Suffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="WixSchedFormatFiles" Execute="immediate" Return="check" SuppressModularization="yes" /> 211 <CustomAction Id="$(var.Prefix)SchedFormatFiles$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixSchedFormatFiles" Execute="immediate" Return="check" SuppressModularization="yes" />
213 <CustomAction Id="WixExecFormatFiles$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="WixExecFormatFiles" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" /> 212 <CustomAction Id="$(var.Prefix)ExecFormatFiles$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixExecFormatFiles" Execute="deferred" Impersonate="no" Return="check" SuppressModularization="yes" />
214 <CustomAction Id="WixRollbackFormatFiles$(var.DeferredSuffix)" BinaryKey="UtilCA$(var.Suffix)" DllEntry="WixExecFormatFiles" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" /> 213 <CustomAction Id="$(var.Prefix)RollbackFormatFiles$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixExecFormatFiles" Execute="rollback" Impersonate="no" Return="check" SuppressModularization="yes" />
215 214
216 <InstallExecuteSequence> 215 <InstallExecuteSequence>
217 <Custom Action="WixSchedFormatFiles$(var.Suffix)" After="InstallFiles" /> 216 <Custom Action="$(var.Prefix)SchedFormatFiles$(var.Suffix)" After="InstallFiles" />
218 </InstallExecuteSequence> 217 </InstallExecuteSequence>
219 </Fragment> 218 </Fragment>
220 219
221 <Fragment> 220 <Fragment>
222 <Binary Id="UtilCA$(var.Suffix)" SourceFile="!(bindpath.$(var.platform))utilca.dll" /> 221 <Binary Id="$(var.Prefix)UtilCA$(var.Suffix)" SourceFile="!(bindpath.$(var.platform))utilca.dll" />
223 </Fragment> 222 </Fragment>
224</Include> 223</Include>
diff --git a/src/wixlib/caDecor.wxi b/src/wixlib/caDecor.wxi
new file mode 100644
index 00000000..1d00df8f
--- /dev/null
+++ b/src/wixlib/caDecor.wxi
@@ -0,0 +1,40 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3
4
5<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">
6 <?ifdef Prefix ?>
7 <?undef Prefix ?>
8 <?endif ?>
9
10 <?define Prefix="Wix4" ?>
11
12 <?ifndef platform ?>
13 <?define platform="x86" ?>
14 <?endif ?>
15
16 <?if $(var.platform)="" ?>
17 <?undef platform ?>
18 <?define platform="x86" ?>
19 <?endif ?>
20
21 <?ifdef Suffix ?>
22 <?undef Suffix ?>
23 <?endif ?>
24
25 <?if $(var.platform)~="x86" ?>
26 <?define Suffix="_X86" ?>
27 <?endif ?>
28
29 <?if $(var.platform)~="x64" ?>
30 <?define Suffix="_X64" ?>
31 <?endif ?>
32
33 <?if $(var.platform)~="arm" ?>
34 <?define Suffix="_A32" ?>
35 <?endif ?>
36
37 <?if $(var.platform)~="arm64" ?>
38 <?define Suffix="_A64" ?>
39 <?endif ?>
40</Include>
diff --git a/src/wixlib/caSuffix.wxi b/src/wixlib/caSuffix.wxi
deleted file mode 100644
index a56a2393..00000000
--- a/src/wixlib/caSuffix.wxi
+++ /dev/null
@@ -1,28 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3
4<Include xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?ifndef platform ?>
6 <?error Required value "platform" not defined in include caSuffix.wxi ?>
7 <?endif ?>
8
9 <?ifdef Suffix ?>
10 <?undef Suffix ?>
11 <?undef DeferredSuffix ?>
12 <?endif ?>
13
14 <?if $(var.platform)="x86" ?>
15 <?define Suffix="" ?>
16 <?define DeferredSuffix="" ?>
17 <?endif ?>
18
19 <?if $(var.platform)="x64" ?>
20 <?define Suffix="_x64" ?>
21 <?define DeferredSuffix="_64" ?>
22 <?endif ?>
23
24 <?if $(var.platform)="arm" ?>
25 <?define Suffix="_ARM" ?>
26 <?define DeferredSuffix="_ARM" ?>
27 <?endif ?>
28</Include>
diff --git a/src/wixlib/util.wixproj b/src/wixlib/util.wixproj
index f9dbabb8..21d96832 100644
--- a/src/wixlib/util.wixproj
+++ b/src/wixlib/util.wixproj
@@ -33,7 +33,7 @@
33 </ItemGroup> 33 </ItemGroup>
34 <ItemGroup> 34 <ItemGroup>
35 <None Include="caerr.wxi" /> 35 <None Include="caerr.wxi" />
36 <None Include="caSuffix.wxi" /> 36 <None Include="caDecor.wxi" />
37 <None Include="UtilExtension_Platform.wxi" /> 37 <None Include="UtilExtension_Platform.wxi" />
38 </ItemGroup> 38 </ItemGroup>
39 <Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' AND Exists('$(WixTargetsPath)') " /> 39 <Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' AND Exists('$(WixTargetsPath)') " />