diff options
author | Bob Arnson <bob@joyofsetup.com> | 2020-03-05 19:48:12 -0500 |
---|---|---|
committer | Bob Arnson <bob@firegiant.com> | 2020-03-09 12:16:09 -0400 |
commit | e9d10933bedb8215ec50ca85db272d6647426b31 (patch) | |
tree | 262cbaf190de5d5461941c79923bef8cf4cf7ad1 /src | |
parent | 7533ca33de2b8125e9f9ecb3b28a247acca85f83 (diff) | |
download | wix-e9d10933bedb8215ec50ca85db272d6647426b31.tar.gz wix-e9d10933bedb8215ec50ca85db272d6647426b31.tar.bz2 wix-e9d10933bedb8215ec50ca85db272d6647426b31.zip |
Version extension ids.
Partial fix for wixtoolset/issues#5933.
Diffstat (limited to 'src')
67 files changed, 1240 insertions, 1108 deletions
diff --git a/src/ca/CloseApps.cpp b/src/ca/CloseApps.cpp index a3f28ed3..63be353c 100644 --- a/src/ca/CloseApps.cpp +++ b/src/ca/CloseApps.cpp | |||
@@ -4,10 +4,8 @@ | |||
4 | 4 | ||
5 | #define DEFAULT_PROCESS_EXIT_WAIT_TIME 5000 | 5 | #define DEFAULT_PROCESS_EXIT_WAIT_TIME 5000 |
6 | 6 | ||
7 | // WixCloseApplication Target Description Condition Attributes Sequence | ||
8 | |||
9 | // structs | 7 | // structs |
10 | LPCWSTR wzQUERY_CLOSEAPPS = L"SELECT `WixCloseApplication`, `Target`, `Description`, `Condition`, `Attributes`, `Property`, `TerminateExitCode`, `Timeout` FROM `WixCloseApplication` ORDER BY `Sequence`"; | 8 | LPCWSTR wzQUERY_CLOSEAPPS = L"SELECT `Wix4CloseApplication`, `Target`, `Description`, `Condition`, `Attributes`, `Property`, `TerminateExitCode`, `Timeout` FROM `Wix4CloseApplication` ORDER BY `Sequence`"; |
11 | enum eQUERY_CLOSEAPPS { QCA_ID = 1, QCA_TARGET, QCA_DESCRIPTION, QCA_CONDITION, QCA_ATTRIBUTES, QCA_PROPERTY, QCA_TERMINATEEXITCODE, QCA_TIMEOUT }; | 9 | enum eQUERY_CLOSEAPPS { QCA_ID = 1, QCA_TARGET, QCA_DESCRIPTION, QCA_CONDITION, QCA_ATTRIBUTES, QCA_PROPERTY, QCA_TERMINATEEXITCODE, QCA_TIMEOUT }; |
12 | 10 | ||
13 | // CloseApplication.Attributes | 11 | // CloseApplication.Attributes |
@@ -294,14 +292,14 @@ extern "C" UINT __stdcall WixCloseApplications( | |||
294 | // loop through all the objects to be secured | 292 | // loop through all the objects to be secured |
295 | // | 293 | // |
296 | hr = WcaOpenExecuteView(wzQUERY_CLOSEAPPS, &hView); | 294 | hr = WcaOpenExecuteView(wzQUERY_CLOSEAPPS, &hView); |
297 | ExitOnFailure(hr, "failed to open view on WixCloseApplication table"); | 295 | ExitOnFailure(hr, "failed to open view on Wix4CloseApplication table"); |
298 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) | 296 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) |
299 | { | 297 | { |
300 | hr = WcaGetRecordString(hRec, QCA_ID, &pwzId); | 298 | hr = WcaGetRecordString(hRec, QCA_ID, &pwzId); |
301 | ExitOnFailure(hr, "failed to get id from WixCloseApplication table"); | 299 | ExitOnFailure(hr, "failed to get id from Wix4CloseApplication table"); |
302 | 300 | ||
303 | hr = WcaGetRecordString(hRec, QCA_CONDITION, &pwzCondition); | 301 | hr = WcaGetRecordString(hRec, QCA_CONDITION, &pwzCondition); |
304 | ExitOnFailure(hr, "failed to get condition from WixCloseApplication table"); | 302 | ExitOnFailure(hr, "failed to get condition from Wix4CloseApplication table"); |
305 | 303 | ||
306 | if (pwzCondition && *pwzCondition) | 304 | if (pwzCondition && *pwzCondition) |
307 | { | 305 | { |
@@ -309,7 +307,7 @@ extern "C" UINT __stdcall WixCloseApplications( | |||
309 | if (MSICONDITION_ERROR == condition) | 307 | if (MSICONDITION_ERROR == condition) |
310 | { | 308 | { |
311 | hr = E_INVALIDARG; | 309 | hr = E_INVALIDARG; |
312 | ExitOnFailure(hr, "failed to process condition for WixCloseApplication '%ls'", pwzId); | 310 | ExitOnFailure(hr, "failed to process condition for Wix4CloseApplication '%ls'", pwzId); |
313 | } | 311 | } |
314 | else if (MSICONDITION_FALSE == condition) | 312 | else if (MSICONDITION_FALSE == condition) |
315 | { | 313 | { |
@@ -318,16 +316,16 @@ extern "C" UINT __stdcall WixCloseApplications( | |||
318 | } | 316 | } |
319 | 317 | ||
320 | hr = WcaGetRecordFormattedString(hRec, QCA_TARGET, &pwzTarget); | 318 | hr = WcaGetRecordFormattedString(hRec, QCA_TARGET, &pwzTarget); |
321 | ExitOnFailure(hr, "failed to get target from WixCloseApplication table"); | 319 | ExitOnFailure(hr, "failed to get target from Wix4CloseApplication table"); |
322 | 320 | ||
323 | hr = WcaGetRecordFormattedString(hRec, QCA_DESCRIPTION, &pwzDescription); | 321 | hr = WcaGetRecordFormattedString(hRec, QCA_DESCRIPTION, &pwzDescription); |
324 | ExitOnFailure(hr, "failed to get description from WixCloseApplication table"); | 322 | ExitOnFailure(hr, "failed to get description from Wix4CloseApplication table"); |
325 | 323 | ||
326 | hr = WcaGetRecordInteger(hRec, QCA_ATTRIBUTES, reinterpret_cast<int*>(&dwAttributes)); | 324 | hr = WcaGetRecordInteger(hRec, QCA_ATTRIBUTES, reinterpret_cast<int*>(&dwAttributes)); |
327 | ExitOnFailure(hr, "failed to get attributes from WixCloseApplication table"); | 325 | ExitOnFailure(hr, "failed to get attributes from Wix4CloseApplication table"); |
328 | 326 | ||
329 | hr = WcaGetRecordFormattedString(hRec, QCA_PROPERTY, &pwzProperty); | 327 | hr = WcaGetRecordFormattedString(hRec, QCA_PROPERTY, &pwzProperty); |
330 | ExitOnFailure(hr, "failed to get property from WixCloseApplication table"); | 328 | ExitOnFailure(hr, "failed to get property from Wix4CloseApplication table"); |
331 | 329 | ||
332 | hr = WcaGetRecordInteger(hRec, QCA_TERMINATEEXITCODE, reinterpret_cast<int*>(&dwTerminateExitCode)); | 330 | hr = WcaGetRecordInteger(hRec, QCA_TERMINATEEXITCODE, reinterpret_cast<int*>(&dwTerminateExitCode)); |
333 | if (S_FALSE == hr) | 331 | if (S_FALSE == hr) |
@@ -335,7 +333,7 @@ extern "C" UINT __stdcall WixCloseApplications( | |||
335 | dwTerminateExitCode = 0; | 333 | dwTerminateExitCode = 0; |
336 | hr = S_OK; | 334 | hr = S_OK; |
337 | } | 335 | } |
338 | ExitOnFailure(hr, "failed to get timeout from WixCloseApplication table"); | 336 | ExitOnFailure(hr, "failed to get timeout from Wix4CloseApplication table"); |
339 | 337 | ||
340 | hr = WcaGetRecordInteger(hRec, QCA_TIMEOUT, reinterpret_cast<int*>(&dwTimeout)); | 338 | hr = WcaGetRecordInteger(hRec, QCA_TIMEOUT, reinterpret_cast<int*>(&dwTimeout)); |
341 | if (S_FALSE == hr) | 339 | if (S_FALSE == hr) |
@@ -343,7 +341,7 @@ extern "C" UINT __stdcall WixCloseApplications( | |||
343 | dwTimeout = DEFAULT_PROCESS_EXIT_WAIT_TIME; | 341 | dwTimeout = DEFAULT_PROCESS_EXIT_WAIT_TIME; |
344 | hr = S_OK; | 342 | hr = S_OK; |
345 | } | 343 | } |
346 | ExitOnFailure(hr, "failed to get timeout from WixCloseApplication table"); | 344 | ExitOnFailure(hr, "failed to get timeout from Wix4CloseApplication table"); |
347 | 345 | ||
348 | // Before trying any changes to the machine, prompt if requested. | 346 | // Before trying any changes to the machine, prompt if requested. |
349 | if (dwAttributes & CLOSEAPP_ATTRIBUTE_PROMPTTOCONTINUE) | 347 | if (dwAttributes & CLOSEAPP_ATTRIBUTE_PROMPTTOCONTINUE) |
@@ -433,8 +431,8 @@ extern "C" UINT __stdcall WixCloseApplications( | |||
433 | { | 431 | { |
434 | Assert(0 < cCloseApps); | 432 | Assert(0 < cCloseApps); |
435 | 433 | ||
436 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"WixCloseApplicationsDeferred"), pwzCustomActionData, cCloseApps * COST_CLOSEAPP); | 434 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"CloseApplicationsDeferred"), pwzCustomActionData, cCloseApps * COST_CLOSEAPP); |
437 | ExitOnFailure(hr, "failed to schedule WixCloseApplicationsDeferred action"); | 435 | ExitOnFailure(hr, "failed to schedule CloseApplicationsDeferred action"); |
438 | } | 436 | } |
439 | 437 | ||
440 | LExit: | 438 | LExit: |
diff --git a/src/ca/FormatFiles.cpp b/src/ca/FormatFiles.cpp index 6a816700..464b92d6 100644 --- a/src/ca/FormatFiles.cpp +++ b/src/ca/FormatFiles.cpp | |||
@@ -27,9 +27,9 @@ extern "C" UINT __stdcall WixSchedFormatFiles( | |||
27 | PSCZ sczRollbackCustomActionData; | 27 | PSCZ sczRollbackCustomActionData; |
28 | 28 | ||
29 | LPCWSTR wzQuery = | 29 | LPCWSTR wzQuery = |
30 | L"SELECT `WixFormatFiles`.`Binary_`, `WixFormatFiles`.`File_`, `File`.`Component_` " | 30 | L"SELECT `Wix4FormatFile`.`Binary_`, `Wix4FormatFile`.`File_`, `File`.`Component_` " |
31 | L"FROM `WixFormatFiles`, `File` " | 31 | L"FROM `Wix4FormatFile`, `File` " |
32 | L"WHERE `WixFormatFiles`.`File_` = `File`.`File`"; | 32 | L"WHERE `Wix4FormatFile`.`File_` = `File`.`File`"; |
33 | enum eQuery { eqBinaryKey = 1, eqFileKey, eqComponentKey }; | 33 | enum eQuery { eqBinaryKey = 1, eqFileKey, eqComponentKey }; |
34 | 34 | ||
35 | // initialize | 35 | // initialize |
@@ -38,7 +38,7 @@ extern "C" UINT __stdcall WixSchedFormatFiles( | |||
38 | 38 | ||
39 | // query and loop through all the files | 39 | // query and loop through all the files |
40 | hr = WcaOpenExecuteView(wzQuery, &hView); | 40 | hr = WcaOpenExecuteView(wzQuery, &hView); |
41 | ExitOnFailure(hr, "Failed to open view on WixFormatFiles table"); | 41 | ExitOnFailure(hr, "Failed to open view on Wix4FormatFile table"); |
42 | 42 | ||
43 | DWORD cFiles = 0; | 43 | DWORD cFiles = 0; |
44 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) | 44 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) |
@@ -100,19 +100,19 @@ extern "C" UINT __stdcall WixSchedFormatFiles( | |||
100 | { | 100 | { |
101 | hr = S_OK; | 101 | hr = S_OK; |
102 | } | 102 | } |
103 | ExitOnFailure(hr, "Failure occurred while processing WixFormatFiles table"); | 103 | ExitOnFailure(hr, "Failure occurred while processing Wix4FormatFile table"); |
104 | 104 | ||
105 | // schedule deferred CAs if there's anything to do | 105 | // schedule deferred CAs if there's anything to do |
106 | if (sczRollbackCustomActionData && *sczRollbackCustomActionData) | 106 | if (sczRollbackCustomActionData && *sczRollbackCustomActionData) |
107 | { | 107 | { |
108 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"WixRollbackFormatFiles"), sczRollbackCustomActionData, cFiles * COST_FILEFORMATTING); | 108 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RollbackFormatFiles"), sczRollbackCustomActionData, cFiles * COST_FILEFORMATTING); |
109 | ExitOnFailure(hr, "Failed to schedule WixRollbackFormatFiles"); | 109 | ExitOnFailure(hr, "Failed to schedule RollbackFormatFiles"); |
110 | } | 110 | } |
111 | 111 | ||
112 | if (sczExecCustomActionData && *sczExecCustomActionData) | 112 | if (sczExecCustomActionData && *sczExecCustomActionData) |
113 | { | 113 | { |
114 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"WixExecFormatFiles"), sczExecCustomActionData, cFiles * COST_FILEFORMATTING); | 114 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"ExecFormatFiles"), sczExecCustomActionData, cFiles * COST_FILEFORMATTING); |
115 | ExitOnFailure(hr, "Failed to schedule WixExecFormatFiles"); | 115 | ExitOnFailure(hr, "Failed to schedule ExecFormatFiles"); |
116 | } | 116 | } |
117 | 117 | ||
118 | LExit: | 118 | LExit: |
diff --git a/src/ca/RemoveFoldersEx.cpp b/src/ca/RemoveFoldersEx.cpp index 194c6662..ce64c2c2 100644 --- a/src/ca/RemoveFoldersEx.cpp +++ b/src/ca/RemoveFoldersEx.cpp | |||
@@ -2,7 +2,7 @@ | |||
2 | 2 | ||
3 | #include "precomp.h" | 3 | #include "precomp.h" |
4 | 4 | ||
5 | LPCWSTR vcsRemoveFolderExQuery = L"SELECT `WixRemoveFolderEx`, `Component_`, `Property`, `InstallMode` FROM `WixRemoveFolderEx`"; | 5 | LPCWSTR vcsRemoveFolderExQuery = L"SELECT `Wix4RemoveFolderEx`, `Component_`, `Property`, `InstallMode` FROM `Wix4RemoveFolderEx`"; |
6 | enum eRemoveFolderExQuery { rfqId = 1, rfqComponent, rfqProperty, feqMode }; | 6 | enum eRemoveFolderExQuery { rfqId = 1, rfqComponent, rfqProperty, feqMode }; |
7 | 7 | ||
8 | static HRESULT RecursePath( | 8 | static HRESULT RecursePath( |
@@ -81,10 +81,10 @@ static HRESULT RecursePath( | |||
81 | 81 | ||
82 | // Add the row to remove any files and another row to remove the folder. | 82 | // Add the row to remove any files and another row to remove the folder. |
83 | hr = WcaAddTempRecord(phTable, phColumns, L"RemoveFile", NULL, 1, 5, L"RfxFiles", wzComponent, L"*.*", sczProperty, iMode); | 83 | hr = WcaAddTempRecord(phTable, phColumns, L"RemoveFile", NULL, 1, 5, L"RfxFiles", wzComponent, L"*.*", sczProperty, iMode); |
84 | ExitOnFailure(hr, "Failed to add row to remove all files for WixRemoveFolderEx row: %S under path:", wzId, wzPath); | 84 | ExitOnFailure(hr, "Failed to add row to remove all files for Wix4RemoveFolderEx row: %S under path:", wzId, wzPath); |
85 | 85 | ||
86 | hr = WcaAddTempRecord(phTable, phColumns, L"RemoveFile", NULL, 1, 5, L"RfxFolder", wzComponent, NULL, sczProperty, iMode); | 86 | hr = WcaAddTempRecord(phTable, phColumns, L"RemoveFile", NULL, 1, 5, L"RfxFolder", wzComponent, NULL, sczProperty, iMode); |
87 | ExitOnFailure(hr, "Failed to add row to remove folder for WixRemoveFolderEx row: %S under path: %S", wzId, wzPath); | 87 | ExitOnFailure(hr, "Failed to add row to remove folder for Wix4RemoveFolderEx row: %S under path: %S", wzId, wzPath); |
88 | 88 | ||
89 | LExit: | 89 | LExit: |
90 | if (INVALID_HANDLE_VALUE != hFind) | 90 | if (INVALID_HANDLE_VALUE != hFind) |
@@ -122,15 +122,15 @@ extern "C" UINT WINAPI WixRemoveFoldersEx( | |||
122 | ExitOnFailure(hr, "Failed to initialize WixRemoveFoldersEx."); | 122 | ExitOnFailure(hr, "Failed to initialize WixRemoveFoldersEx."); |
123 | 123 | ||
124 | // anything to do? | 124 | // anything to do? |
125 | if (S_OK != WcaTableExists(L"WixRemoveFolderEx")) | 125 | if (S_OK != WcaTableExists(L"Wix4RemoveFolderEx")) |
126 | { | 126 | { |
127 | WcaLog(LOGMSG_STANDARD, "WixRemoveFolderEx table doesn't exist, so there are no folders to remove."); | 127 | WcaLog(LOGMSG_STANDARD, "Wix4RemoveFolderEx table doesn't exist, so there are no folders to remove."); |
128 | ExitFunction(); | 128 | ExitFunction(); |
129 | } | 129 | } |
130 | 130 | ||
131 | // query and loop through all the remove folders exceptions | 131 | // query and loop through all the remove folders exceptions |
132 | hr = WcaOpenExecuteView(vcsRemoveFolderExQuery, &hView); | 132 | hr = WcaOpenExecuteView(vcsRemoveFolderExQuery, &hView); |
133 | ExitOnFailure(hr, "Failed to open view on WixRemoveFolderEx table"); | 133 | ExitOnFailure(hr, "Failed to open view on Wix4RemoveFolderEx table"); |
134 | 134 | ||
135 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) | 135 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) |
136 | { | 136 | { |
@@ -173,7 +173,7 @@ extern "C" UINT WINAPI WixRemoveFoldersEx( | |||
173 | { | 173 | { |
174 | hr = S_OK; | 174 | hr = S_OK; |
175 | } | 175 | } |
176 | ExitOnFailure(hr, "Failure occured while processing WixRemoveFolderEx table"); | 176 | ExitOnFailure(hr, "Failure occured while processing Wix4RemoveFolderEx table"); |
177 | 177 | ||
178 | LExit: | 178 | LExit: |
179 | if (hColumns) | 179 | if (hColumns) |
diff --git a/src/ca/RestartManager.cpp b/src/ca/RestartManager.cpp index 3cfc07ee..c31819c1 100644 --- a/src/ca/RestartManager.cpp +++ b/src/ca/RestartManager.cpp | |||
@@ -18,8 +18,8 @@ enum eRmuResourceType | |||
18 | }; | 18 | }; |
19 | 19 | ||
20 | LPCWSTR vcsRestartResourceQuery = | 20 | LPCWSTR vcsRestartResourceQuery = |
21 | L"SELECT `WixRestartResource`.`WixRestartResource`, `WixRestartResource`.`Component_`, `WixRestartResource`.`Resource`, `WixRestartResource`.`Attributes` " | 21 | L"SELECT `Wix4RestartResource`.`Wix4RestartResource`, `Wix4RestartResource`.`Component_`, `Wix4RestartResource`.`Resource`, `Wix4RestartResource`.`Attributes` " |
22 | L"FROM `WixRestartResource`"; | 22 | L"FROM `Wix4RestartResource`"; |
23 | enum eRestartResourceQuery { rrqRestartResource = 1, rrqComponent, rrqResource, rrqAttributes }; | 23 | enum eRestartResourceQuery { rrqRestartResource = 1, rrqComponent, rrqResource, rrqAttributes }; |
24 | 24 | ||
25 | /******************************************************************** | 25 | /******************************************************************** |
@@ -58,9 +58,9 @@ extern "C" UINT __stdcall WixRegisterRestartResources( | |||
58 | ExitOnFailure(hr, "Failed to initialize."); | 58 | ExitOnFailure(hr, "Failed to initialize."); |
59 | 59 | ||
60 | // Skip if the table doesn't exist. | 60 | // Skip if the table doesn't exist. |
61 | if (S_OK != WcaTableExists(L"WixRestartResource")) | 61 | if (S_OK != WcaTableExists(L"Wix4RestartResource")) |
62 | { | 62 | { |
63 | WcaLog(LOGMSG_STANDARD, "The RestartResource table does not exist; there are no resources to register with Restart Manager."); | 63 | WcaLog(LOGMSG_STANDARD, "The Wix4RestartResource table does not exist; there are no resources to register with Restart Manager."); |
64 | ExitFunction(); | 64 | ExitFunction(); |
65 | } | 65 | } |
66 | 66 | ||
diff --git a/src/ca/TouchFile.cpp b/src/ca/TouchFile.cpp index 1c40a3eb..e704f922 100644 --- a/src/ca/TouchFile.cpp +++ b/src/ca/TouchFile.cpp | |||
@@ -2,7 +2,7 @@ | |||
2 | 2 | ||
3 | #include "precomp.h" | 3 | #include "precomp.h" |
4 | 4 | ||
5 | LPCWSTR vcsTouchFileQuery = L"SELECT `WixTouchFile`, `Component_`, `Path`, `Attributes` FROM `WixTouchFile`"; | 5 | LPCWSTR vcsTouchFileQuery = L"SELECT `Wix4TouchFile`, `Component_`, `Path`, `Attributes` FROM `Wix4TouchFile`"; |
6 | enum TOUCH_FILE_QUERY { tfqId = 1, tfqComponent, tfqPath, tfqTouchFileAttributes }; | 6 | enum TOUCH_FILE_QUERY { tfqId = 1, tfqComponent, tfqPath, tfqTouchFileAttributes }; |
7 | 7 | ||
8 | enum TOUCH_FILE_ATTRIBUTE | 8 | enum TOUCH_FILE_ATTRIBUTE |
@@ -134,7 +134,7 @@ static HRESULT ProcessTouchFileTable( | |||
134 | LPWSTR sczRollbackData = NULL; | 134 | LPWSTR sczRollbackData = NULL; |
135 | LPWSTR sczExecuteData = NULL; | 135 | LPWSTR sczExecuteData = NULL; |
136 | 136 | ||
137 | if (S_OK != WcaTableExists(L"WixTouchFile")) | 137 | if (S_OK != WcaTableExists(L"Wix4TouchFile")) |
138 | { | 138 | { |
139 | ExitFunction(); | 139 | ExitFunction(); |
140 | } | 140 | } |
@@ -142,7 +142,7 @@ static HRESULT ProcessTouchFileTable( | |||
142 | ::GetSystemTimeAsFileTime(&ftModified); | 142 | ::GetSystemTimeAsFileTime(&ftModified); |
143 | 143 | ||
144 | hr = WcaOpenExecuteView(vcsTouchFileQuery, &hView); | 144 | hr = WcaOpenExecuteView(vcsTouchFileQuery, &hView); |
145 | ExitOnFailure(hr, "Failed to open view on WixTouchFile table"); | 145 | ExitOnFailure(hr, "Failed to open view on Wix4TouchFile table"); |
146 | 146 | ||
147 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) | 147 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) |
148 | { | 148 | { |
@@ -181,18 +181,18 @@ static HRESULT ProcessTouchFileTable( | |||
181 | { | 181 | { |
182 | hr = S_OK; | 182 | hr = S_OK; |
183 | } | 183 | } |
184 | ExitOnFailure(hr, "Failure occured while processing WixTouchFile table"); | 184 | ExitOnFailure(hr, "Failure occured while processing Wix4TouchFile table"); |
185 | 185 | ||
186 | if (sczRollbackData) | 186 | if (sczRollbackData) |
187 | { | 187 | { |
188 | hr = WcaDoDeferredAction(L"WixRollbackTouchFile", sczRollbackData, 0); | 188 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RollbackTouchFile"), sczRollbackData, 0); |
189 | ExitOnFailure(hr, "Failed to schedule WixRollbackTouchFile"); | 189 | ExitOnFailure(hr, "Failed to schedule RollbackTouchFile"); |
190 | } | 190 | } |
191 | 191 | ||
192 | if (sczExecuteData) | 192 | if (sczExecuteData) |
193 | { | 193 | { |
194 | hr = WcaDoDeferredAction(L"WixExecuteTouchFile", sczExecuteData, 0); | 194 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"ExecuteTouchFile"), sczExecuteData, 0); |
195 | ExitOnFailure(hr, "Failed to schedule WixExecuteTouchFile"); | 195 | ExitOnFailure(hr, "Failed to schedule ExecuteTouchFile"); |
196 | } | 196 | } |
197 | 197 | ||
198 | LExit: | 198 | LExit: |
diff --git a/src/ca/XmlConfig.cpp b/src/ca/XmlConfig.cpp index c12b2bc2..8c60979d 100644 --- a/src/ca/XmlConfig.cpp +++ b/src/ca/XmlConfig.cpp | |||
@@ -30,9 +30,9 @@ enum eXmlPreserveDate | |||
30 | }; | 30 | }; |
31 | 31 | ||
32 | LPCWSTR vcsXmlConfigQuery = | 32 | LPCWSTR vcsXmlConfigQuery = |
33 | L"SELECT `XmlConfig`.`XmlConfig`, `XmlConfig`.`File`, `XmlConfig`.`ElementPath`, `XmlConfig`.`VerifyPath`, `XmlConfig`.`Name`, " | 33 | L"SELECT `Wix4XmlConfig`.`Wix4XmlConfig`, `Wix4XmlConfig`.`File`, `Wix4XmlConfig`.`ElementPath`, `Wix4XmlConfig`.`VerifyPath`, `Wix4XmlConfig`.`Name`, " |
34 | L"`XmlConfig`.`Value`, `XmlConfig`.`Flags`, `XmlConfig`.`Component_`, `Component`.`Attributes` " | 34 | L"`Wix4XmlConfig`.`Value`, `Wix4XmlConfig`.`Flags`, `Wix4XmlConfig`.`Component_`, `Component`.`Attributes` " |
35 | L"FROM `XmlConfig`,`Component` WHERE `XmlConfig`.`Component_`=`Component`.`Component` ORDER BY `File`, `Sequence`"; | 35 | L"FROM `Wix4XmlConfig`,`Component` WHERE `Wix4XmlConfig`.`Component_`=`Component`.`Component` ORDER BY `File`, `Sequence`"; |
36 | enum eXmlConfigQuery { xfqXmlConfig = 1, xfqFile, xfqElementPath, xfqVerifyPath, xfqName, xfqValue, xfqXmlFlags, xfqComponent, xfqCompAttributes }; | 36 | enum eXmlConfigQuery { xfqXmlConfig = 1, xfqFile, xfqElementPath, xfqVerifyPath, xfqName, xfqValue, xfqXmlFlags, xfqComponent, xfqCompAttributes }; |
37 | 37 | ||
38 | struct XML_CONFIG_CHANGE | 38 | struct XML_CONFIG_CHANGE |
@@ -146,7 +146,7 @@ static HRESULT ReadXmlConfigTable( | |||
146 | 146 | ||
147 | // loop through all the xml configurations | 147 | // loop through all the xml configurations |
148 | hr = WcaOpenExecuteView(vcsXmlConfigQuery, &hView); | 148 | hr = WcaOpenExecuteView(vcsXmlConfigQuery, &hView); |
149 | ExitOnFailure(hr, "failed to open view on XmlConfig table"); | 149 | ExitOnFailure(hr, "failed to open view on Wix4XmlConfig table"); |
150 | 150 | ||
151 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) | 151 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) |
152 | { | 152 | { |
@@ -155,13 +155,13 @@ static HRESULT ReadXmlConfigTable( | |||
155 | 155 | ||
156 | // Get record Id | 156 | // Get record Id |
157 | hr = WcaGetRecordString(hRec, xfqXmlConfig, &pwzData); | 157 | hr = WcaGetRecordString(hRec, xfqXmlConfig, &pwzData); |
158 | ExitOnFailure(hr, "failed to get XmlConfig record Id"); | 158 | ExitOnFailure(hr, "failed to get Wix4XmlConfig record Id"); |
159 | hr = StringCchCopyW((*ppxfcTail)->wzId, countof((*ppxfcTail)->wzId), pwzData); | 159 | hr = StringCchCopyW((*ppxfcTail)->wzId, countof((*ppxfcTail)->wzId), pwzData); |
160 | ExitOnFailure(hr, "failed to copy XmlConfig record Id"); | 160 | ExitOnFailure(hr, "failed to copy Wix4XmlConfig record Id"); |
161 | 161 | ||
162 | // Get component name | 162 | // Get component name |
163 | hr = WcaGetRecordString(hRec, xfqComponent, &pwzData); | 163 | hr = WcaGetRecordString(hRec, xfqComponent, &pwzData); |
164 | ExitOnFailure(hr, "failed to get component name for XmlConfig: %ls", (*ppxfcTail)->wzId); | 164 | ExitOnFailure(hr, "failed to get component name for Wix4XmlConfig: %ls", (*ppxfcTail)->wzId); |
165 | 165 | ||
166 | // Get the component's state | 166 | // Get the component's state |
167 | if (0 < lstrlenW(pwzData)) | 167 | if (0 < lstrlenW(pwzData)) |
@@ -175,45 +175,45 @@ static HRESULT ReadXmlConfigTable( | |||
175 | 175 | ||
176 | // Get the xml file | 176 | // Get the xml file |
177 | hr = WcaGetRecordFormattedString(hRec, xfqFile, &pwzData); | 177 | hr = WcaGetRecordFormattedString(hRec, xfqFile, &pwzData); |
178 | ExitOnFailure(hr, "failed to get xml file for XmlConfig: %ls", (*ppxfcTail)->wzId); | 178 | ExitOnFailure(hr, "failed to get xml file for Wix4XmlConfig: %ls", (*ppxfcTail)->wzId); |
179 | hr = StringCchCopyW((*ppxfcTail)->wzFile, countof((*ppxfcTail)->wzFile), pwzData); | 179 | hr = StringCchCopyW((*ppxfcTail)->wzFile, countof((*ppxfcTail)->wzFile), pwzData); |
180 | ExitOnFailure(hr, "failed to copy xml file path"); | 180 | ExitOnFailure(hr, "failed to copy xml file path"); |
181 | 181 | ||
182 | // Figure out if the file is already on the machine or if it's being installed | 182 | // Figure out if the file is already on the machine or if it's being installed |
183 | hr = WcaGetRecordString(hRec, xfqFile, &pwzData); | 183 | hr = WcaGetRecordString(hRec, xfqFile, &pwzData); |
184 | ExitOnFailure(hr, "failed to get xml file for XmlConfig: %ls", (*ppxfcTail)->wzId); | 184 | ExitOnFailure(hr, "failed to get xml file for Wix4XmlConfig: %ls", (*ppxfcTail)->wzId); |
185 | if (NULL != wcsstr(pwzData, L"[!") || NULL != wcsstr(pwzData, L"[#")) | 185 | if (NULL != wcsstr(pwzData, L"[!") || NULL != wcsstr(pwzData, L"[#")) |
186 | { | 186 | { |
187 | (*ppxfcTail)->fInstalledFile = TRUE; | 187 | (*ppxfcTail)->fInstalledFile = TRUE; |
188 | } | 188 | } |
189 | 189 | ||
190 | // Get the XmlConfig table flags | 190 | // Get the Wix4XmlConfig table flags |
191 | hr = WcaGetRecordInteger(hRec, xfqXmlFlags, &(*ppxfcTail)->iXmlFlags); | 191 | hr = WcaGetRecordInteger(hRec, xfqXmlFlags, &(*ppxfcTail)->iXmlFlags); |
192 | ExitOnFailure(hr, "failed to get XmlConfig flags for XmlConfig: %ls", (*ppxfcTail)->wzId); | 192 | ExitOnFailure(hr, "failed to get Wix4XmlConfig flags for Wix4XmlConfig: %ls", (*ppxfcTail)->wzId); |
193 | 193 | ||
194 | // Get the Element Path | 194 | // Get the Element Path |
195 | hr = WcaGetRecordFormattedString(hRec, xfqElementPath, &(*ppxfcTail)->pwzElementPath); | 195 | hr = WcaGetRecordFormattedString(hRec, xfqElementPath, &(*ppxfcTail)->pwzElementPath); |
196 | ExitOnFailure(hr, "failed to get Element Path for XmlConfig: %ls", (*ppxfcTail)->wzId); | 196 | ExitOnFailure(hr, "failed to get Element Path for Wix4XmlConfig: %ls", (*ppxfcTail)->wzId); |
197 | 197 | ||
198 | // Get the Verify Path | 198 | // Get the Verify Path |
199 | hr = WcaGetRecordFormattedString(hRec, xfqVerifyPath, &(*ppxfcTail)->pwzVerifyPath); | 199 | hr = WcaGetRecordFormattedString(hRec, xfqVerifyPath, &(*ppxfcTail)->pwzVerifyPath); |
200 | ExitOnFailure(hr, "failed to get Verify Path for XmlConfig: %ls", (*ppxfcTail)->wzId); | 200 | ExitOnFailure(hr, "failed to get Verify Path for Wix4XmlConfig: %ls", (*ppxfcTail)->wzId); |
201 | 201 | ||
202 | // Get the name | 202 | // Get the name |
203 | hr = WcaGetRecordFormattedString(hRec, xfqName, &pwzData); | 203 | hr = WcaGetRecordFormattedString(hRec, xfqName, &pwzData); |
204 | ExitOnFailure(hr, "failed to get Name for XmlConfig: %ls", (*ppxfcTail)->wzId); | 204 | ExitOnFailure(hr, "failed to get Name for Wix4XmlConfig: %ls", (*ppxfcTail)->wzId); |
205 | hr = StringCchCopyW((*ppxfcTail)->wzName, countof((*ppxfcTail)->wzName), pwzData); | 205 | hr = StringCchCopyW((*ppxfcTail)->wzName, countof((*ppxfcTail)->wzName), pwzData); |
206 | ExitOnFailure(hr, "failed to copy name of element"); | 206 | ExitOnFailure(hr, "failed to copy name of element"); |
207 | 207 | ||
208 | // Get the value | 208 | // Get the value |
209 | hr = WcaGetRecordFormattedString(hRec, xfqValue, &pwzData); | 209 | hr = WcaGetRecordFormattedString(hRec, xfqValue, &pwzData); |
210 | ExitOnFailure(hr, "failed to get Value for XmlConfig: %ls", (*ppxfcTail)->wzId); | 210 | ExitOnFailure(hr, "failed to get Value for Wix4XmlConfig: %ls", (*ppxfcTail)->wzId); |
211 | hr = StrAllocString(&(*ppxfcTail)->pwzValue, pwzData, 0); | 211 | hr = StrAllocString(&(*ppxfcTail)->pwzValue, pwzData, 0); |
212 | ExitOnFailure(hr, "failed to allocate buffer for value"); | 212 | ExitOnFailure(hr, "failed to allocate buffer for value"); |
213 | 213 | ||
214 | // Get the component attributes | 214 | // Get the component attributes |
215 | hr = WcaGetRecordInteger(hRec, xfqCompAttributes, &(*ppxfcTail)->iCompAttributes); | 215 | hr = WcaGetRecordInteger(hRec, xfqCompAttributes, &(*ppxfcTail)->iCompAttributes); |
216 | ExitOnFailure(hr, "failed to get component attributes for XmlConfig: %ls", (*ppxfcTail)->wzId); | 216 | ExitOnFailure(hr, "failed to get component attributes for Wix4XmlConfig: %ls", (*ppxfcTail)->wzId); |
217 | } | 217 | } |
218 | 218 | ||
219 | // if we looped through all records all is well | 219 | // if we looped through all records all is well |
@@ -359,7 +359,7 @@ static HRESULT BeginChangeFile( | |||
359 | hr = WcaWriteStreamToCaData(pbData, cbData, &pwzRollbackCustomActionData); | 359 | hr = WcaWriteStreamToCaData(pbData, cbData, &pwzRollbackCustomActionData); |
360 | ExitOnFailure(hr, "failed to write file contents to rollback custom action data."); | 360 | ExitOnFailure(hr, "failed to write file contents to rollback custom action data."); |
361 | 361 | ||
362 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"ExecXmlConfigRollback"), pwzRollbackCustomActionData, COST_XMLFILE); | 362 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"ExecXmlConfigRollback"), pwzRollbackCustomActionData, COST_XMLFILE); |
363 | ExitOnFailure(hr, "failed to schedule ExecXmlConfigRollback for file: %ls", pwzFile); | 363 | ExitOnFailure(hr, "failed to schedule ExecXmlConfigRollback for file: %ls", pwzFile); |
364 | 364 | ||
365 | ReleaseStr(pwzRollbackCustomActionData); | 365 | ReleaseStr(pwzRollbackCustomActionData); |
@@ -459,10 +459,10 @@ extern "C" UINT __stdcall SchedXmlConfig( | |||
459 | ExitOnFailure(hr, "failed to initialize"); | 459 | ExitOnFailure(hr, "failed to initialize"); |
460 | 460 | ||
461 | hr = ReadXmlConfigTable(&pxfcHead, &pxfcTail); | 461 | hr = ReadXmlConfigTable(&pxfcHead, &pxfcTail); |
462 | MessageExitOnFailure(hr, msierrXmlConfigFailedRead, "failed to read XmlConfig table"); | 462 | MessageExitOnFailure(hr, msierrXmlConfigFailedRead, "failed to read Wix4XmlConfig table"); |
463 | 463 | ||
464 | hr = ProcessChanges(&pxfcHead); | 464 | hr = ProcessChanges(&pxfcHead); |
465 | ExitOnFailure(hr, "failed to process XmlConfig changes"); | 465 | ExitOnFailure(hr, "failed to process Wix4XmlConfig changes"); |
466 | 466 | ||
467 | // loop through all the xml configurations | 467 | // loop through all the xml configurations |
468 | for (pxfc = pxfcHead; pxfc; pxfc = pxfc->pxfcNext) | 468 | for (pxfc = pxfcHead; pxfc; pxfc = pxfc->pxfcNext) |
@@ -557,7 +557,7 @@ extern "C" UINT __stdcall SchedXmlConfig( | |||
557 | { | 557 | { |
558 | Assert(0 < cFiles); | 558 | Assert(0 < cFiles); |
559 | 559 | ||
560 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"ExecXmlConfig"), pwzCustomActionData, cFiles * COST_XMLFILE); | 560 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"ExecXmlConfig"), pwzCustomActionData, cFiles * COST_XMLFILE); |
561 | ExitOnFailure(hr, "failed to schedule ExecXmlConfig action"); | 561 | ExitOnFailure(hr, "failed to schedule ExecXmlConfig action"); |
562 | } | 562 | } |
563 | 563 | ||
diff --git a/src/ca/XmlFile.cpp b/src/ca/XmlFile.cpp index fc6f519b..95449126 100644 --- a/src/ca/XmlFile.cpp +++ b/src/ca/XmlFile.cpp | |||
@@ -36,9 +36,9 @@ enum eXmlSelectionLanguage | |||
36 | }; | 36 | }; |
37 | 37 | ||
38 | LPCWSTR vcsXmlFileQuery = | 38 | LPCWSTR vcsXmlFileQuery = |
39 | L"SELECT `XmlFile`.`XmlFile`, `XmlFile`.`File`, `XmlFile`.`ElementPath`, `XmlFile`.`Name`, `XmlFile`.`Value`, " | 39 | L"SELECT `Wix4XmlFile`.`Wix4XmlFile`, `Wix4XmlFile`.`File`, `Wix4XmlFile`.`ElementPath`, `Wix4XmlFile`.`Name`, `Wix4XmlFile`.`Value`, " |
40 | L"`XmlFile`.`Flags`, `XmlFile`.`Component_`, `Component`.`Attributes` " | 40 | L"`Wix4XmlFile`.`Flags`, `Wix4XmlFile`.`Component_`, `Component`.`Attributes` " |
41 | L"FROM `XmlFile`,`Component` WHERE `XmlFile`.`Component_`=`Component`.`Component` ORDER BY `File`, `Sequence`"; | 41 | L"FROM `Wix4XmlFile`,`Component` WHERE `Wix4XmlFile`.`Component_`=`Component`.`Component` ORDER BY `File`, `Sequence`"; |
42 | enum eXmlFileQuery { xfqXmlFile = 1, xfqFile, xfqXPath, xfqName, xfqValue, xfqXmlFlags, xfqComponent, xfqCompAttributes }; | 42 | enum eXmlFileQuery { xfqXmlFile = 1, xfqFile, xfqXPath, xfqName, xfqValue, xfqXmlFlags, xfqComponent, xfqCompAttributes }; |
43 | 43 | ||
44 | struct XML_FILE_CHANGE | 44 | struct XML_FILE_CHANGE |
@@ -130,12 +130,14 @@ static HRESULT ReadXmlFileTable( | |||
130 | LPWSTR pwzData = NULL; | 130 | LPWSTR pwzData = NULL; |
131 | 131 | ||
132 | // check to see if necessary tables are specified | 132 | // check to see if necessary tables are specified |
133 | if (S_FALSE == WcaTableExists(L"XmlFile")) | 133 | if (S_FALSE == WcaTableExists(L"Wix4XmlFile")) |
134 | { | ||
134 | ExitFunction1(hr = S_FALSE); | 135 | ExitFunction1(hr = S_FALSE); |
136 | } | ||
135 | 137 | ||
136 | // loop through all the xml configurations | 138 | // loop through all the xml configurations |
137 | hr = WcaOpenExecuteView(vcsXmlFileQuery, &hView); | 139 | hr = WcaOpenExecuteView(vcsXmlFileQuery, &hView); |
138 | ExitOnFailure(hr, "failed to open view on XmlFile table"); | 140 | ExitOnFailure(hr, "failed to open view on Wix4XmlFile table"); |
139 | 141 | ||
140 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) | 142 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) |
141 | { | 143 | { |
@@ -144,13 +146,13 @@ static HRESULT ReadXmlFileTable( | |||
144 | 146 | ||
145 | // Get record Id | 147 | // Get record Id |
146 | hr = WcaGetRecordString(hRec, xfqXmlFile, &pwzData); | 148 | hr = WcaGetRecordString(hRec, xfqXmlFile, &pwzData); |
147 | ExitOnFailure(hr, "failed to get XmlFile record Id"); | 149 | ExitOnFailure(hr, "failed to get Wix4XmlFile record Id"); |
148 | hr = StringCchCopyW((*ppxfcTail)->wzId, countof((*ppxfcTail)->wzId), pwzData); | 150 | hr = StringCchCopyW((*ppxfcTail)->wzId, countof((*ppxfcTail)->wzId), pwzData); |
149 | ExitOnFailure(hr, "failed to copy XmlFile record Id"); | 151 | ExitOnFailure(hr, "failed to copy Wix4XmlFile record Id"); |
150 | 152 | ||
151 | // Get component name | 153 | // Get component name |
152 | hr = WcaGetRecordString(hRec, xfqComponent, &pwzData); | 154 | hr = WcaGetRecordString(hRec, xfqComponent, &pwzData); |
153 | ExitOnFailure(hr, "failed to get component name for XmlFile: %ls", (*ppxfcTail)->wzId); | 155 | ExitOnFailure(hr, "failed to get component name for Wix4XmlFile: %ls", (*ppxfcTail)->wzId); |
154 | 156 | ||
155 | // Get the component's state | 157 | // Get the component's state |
156 | er = ::MsiGetComponentStateW(WcaGetInstallHandle(), pwzData, &(*ppxfcTail)->isInstalled, &(*ppxfcTail)->isAction); | 158 | er = ::MsiGetComponentStateW(WcaGetInstallHandle(), pwzData, &(*ppxfcTail)->isInstalled, &(*ppxfcTail)->isAction); |
@@ -158,33 +160,33 @@ static HRESULT ReadXmlFileTable( | |||
158 | 160 | ||
159 | // Get the xml file | 161 | // Get the xml file |
160 | hr = WcaGetRecordFormattedString(hRec, xfqFile, &pwzData); | 162 | hr = WcaGetRecordFormattedString(hRec, xfqFile, &pwzData); |
161 | ExitOnFailure(hr, "failed to get xml file for XmlFile: %ls", (*ppxfcTail)->wzId); | 163 | ExitOnFailure(hr, "failed to get xml file for Wix4XmlFile: %ls", (*ppxfcTail)->wzId); |
162 | hr = StringCchCopyW((*ppxfcTail)->wzFile, countof((*ppxfcTail)->wzFile), pwzData); | 164 | hr = StringCchCopyW((*ppxfcTail)->wzFile, countof((*ppxfcTail)->wzFile), pwzData); |
163 | ExitOnFailure(hr, "failed to copy xml file path"); | 165 | ExitOnFailure(hr, "failed to copy xml file path"); |
164 | 166 | ||
165 | // Get the XmlFile table flags | 167 | // Get the Wix4XmlFile table flags |
166 | hr = WcaGetRecordInteger(hRec, xfqXmlFlags, &(*ppxfcTail)->iXmlFlags); | 168 | hr = WcaGetRecordInteger(hRec, xfqXmlFlags, &(*ppxfcTail)->iXmlFlags); |
167 | ExitOnFailure(hr, "failed to get XmlFile flags for XmlFile: %ls", (*ppxfcTail)->wzId); | 169 | ExitOnFailure(hr, "failed to get Wix4XmlFile flags for Wix4XmlFile: %ls", (*ppxfcTail)->wzId); |
168 | 170 | ||
169 | // Get the XPath | 171 | // Get the XPath |
170 | hr = WcaGetRecordFormattedString(hRec, xfqXPath, &(*ppxfcTail)->pwzElementPath); | 172 | hr = WcaGetRecordFormattedString(hRec, xfqXPath, &(*ppxfcTail)->pwzElementPath); |
171 | ExitOnFailure(hr, "failed to get XPath for XmlFile: %ls", (*ppxfcTail)->wzId); | 173 | ExitOnFailure(hr, "failed to get XPath for Wix4XmlFile: %ls", (*ppxfcTail)->wzId); |
172 | 174 | ||
173 | // Get the name | 175 | // Get the name |
174 | hr = WcaGetRecordFormattedString(hRec, xfqName, &pwzData); | 176 | hr = WcaGetRecordFormattedString(hRec, xfqName, &pwzData); |
175 | ExitOnFailure(hr, "failed to get Name for XmlFile: %ls", (*ppxfcTail)->wzId); | 177 | ExitOnFailure(hr, "failed to get Name for Wix4XmlFile: %ls", (*ppxfcTail)->wzId); |
176 | hr = StringCchCopyW((*ppxfcTail)->wzName, countof((*ppxfcTail)->wzName), pwzData); | 178 | hr = StringCchCopyW((*ppxfcTail)->wzName, countof((*ppxfcTail)->wzName), pwzData); |
177 | ExitOnFailure(hr, "failed to copy name of element"); | 179 | ExitOnFailure(hr, "failed to copy name of element"); |
178 | 180 | ||
179 | // Get the value | 181 | // Get the value |
180 | hr = WcaGetRecordFormattedString(hRec, xfqValue, &pwzData); | 182 | hr = WcaGetRecordFormattedString(hRec, xfqValue, &pwzData); |
181 | ExitOnFailure(hr, "failed to get Value for XmlFile: %ls", (*ppxfcTail)->wzId); | 183 | ExitOnFailure(hr, "failed to get Value for Wix4XmlFile: %ls", (*ppxfcTail)->wzId); |
182 | hr = StrAllocString(&(*ppxfcTail)->pwzValue, pwzData, 0); | 184 | hr = StrAllocString(&(*ppxfcTail)->pwzValue, pwzData, 0); |
183 | ExitOnFailure(hr, "failed to allocate buffer for value"); | 185 | ExitOnFailure(hr, "failed to allocate buffer for value"); |
184 | 186 | ||
185 | // Get the component attributes | 187 | // Get the component attributes |
186 | hr = WcaGetRecordInteger(hRec, xfqCompAttributes, &(*ppxfcTail)->iCompAttributes); | 188 | hr = WcaGetRecordInteger(hRec, xfqCompAttributes, &(*ppxfcTail)->iCompAttributes); |
187 | ExitOnFailure(hr, "failed to get component attributes for XmlFile: %ls", (*ppxfcTail)->wzId); | 189 | ExitOnFailure(hr, "failed to get component attributes for Wix4XmlFile: %ls", (*ppxfcTail)->wzId); |
188 | } | 190 | } |
189 | 191 | ||
190 | // if we looped through all records all is well | 192 | // if we looped through all records all is well |
@@ -254,7 +256,7 @@ static HRESULT BeginChangeFile( | |||
254 | hr = WcaWriteStreamToCaData(pbData, cbData, &pwzRollbackCustomActionData); | 256 | hr = WcaWriteStreamToCaData(pbData, cbData, &pwzRollbackCustomActionData); |
255 | ExitOnFailure(hr, "failed to write file contents to rollback custom action data."); | 257 | ExitOnFailure(hr, "failed to write file contents to rollback custom action data."); |
256 | 258 | ||
257 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"ExecXmlFileRollback"), pwzRollbackCustomActionData, COST_XMLFILE); | 259 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"ExecXmlFileRollback"), pwzRollbackCustomActionData, COST_XMLFILE); |
258 | ExitOnFailure(hr, "failed to schedule ExecXmlFileRollback for file: %ls", pwzFile); | 260 | ExitOnFailure(hr, "failed to schedule ExecXmlFileRollback for file: %ls", pwzFile); |
259 | 261 | ||
260 | ReleaseStr(pwzRollbackCustomActionData); | 262 | ReleaseStr(pwzRollbackCustomActionData); |
@@ -325,11 +327,11 @@ extern "C" UINT __stdcall SchedXmlFile( | |||
325 | hr = ReadXmlFileTable(&pxfcHead, &pxfcTail); | 327 | hr = ReadXmlFileTable(&pxfcHead, &pxfcTail); |
326 | if (S_FALSE == hr) | 328 | if (S_FALSE == hr) |
327 | { | 329 | { |
328 | WcaLog(LOGMSG_VERBOSE, "Skipping SchedXmlFile because XmlFile table not present"); | 330 | WcaLog(LOGMSG_VERBOSE, "Skipping SchedXmlFile because Wix4XmlFile table not present"); |
329 | ExitFunction1(hr = S_OK); | 331 | ExitFunction1(hr = S_OK); |
330 | } | 332 | } |
331 | 333 | ||
332 | MessageExitOnFailure(hr, msierrXmlFileFailedRead, "failed to read XmlFile table"); | 334 | MessageExitOnFailure(hr, msierrXmlFileFailedRead, "failed to read Wix4XmlFile table"); |
333 | 335 | ||
334 | // loop through all the xml configurations | 336 | // loop through all the xml configurations |
335 | for (pxfc = pxfcHead; pxfc; pxfc = pxfc->pxfcNext) | 337 | for (pxfc = pxfcHead; pxfc; pxfc = pxfc->pxfcNext) |
@@ -454,7 +456,7 @@ extern "C" UINT __stdcall SchedXmlFile( | |||
454 | { | 456 | { |
455 | Assert(0 < cFiles); | 457 | Assert(0 < cFiles); |
456 | 458 | ||
457 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"ExecXmlFile"), pwzCustomActionData, cFiles * COST_XMLFILE); | 459 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"ExecXmlFile"), pwzCustomActionData, cFiles * COST_XMLFILE); |
458 | ExitOnFailure(hr, "failed to schedule ExecXmlFile action"); | 460 | ExitOnFailure(hr, "failed to schedule ExecXmlFile action"); |
459 | } | 461 | } |
460 | 462 | ||
diff --git a/src/ca/caDecor.h b/src/ca/caDecor.h new file mode 100644 index 00000000..56cfb201 --- /dev/null +++ b/src/ca/caDecor.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #pragma once | ||
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 | #if defined(_M_ARM64) | ||
6 | #define CUSTOM_ACTION_DECORATION(f) L"Wix4" f L"_A64" | ||
7 | #elif defined(_M_AMD64) | ||
8 | #define CUSTOM_ACTION_DECORATION(f) L"Wix4" f L"_X64" | ||
9 | #elif defined(_M_ARM) | ||
10 | #define CUSTOM_ACTION_DECORATION(f) L"Wix4" f L"_ARM" | ||
11 | #else | ||
12 | #define CUSTOM_ACTION_DECORATION(f) L"Wix4" f L"_X86" | ||
13 | #endif | ||
diff --git a/src/ca/caSuffix.h b/src/ca/caSuffix.h deleted file mode 100644 index 303a99e9..00000000 --- a/src/ca/caSuffix.h +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | #pragma once | ||
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 | #if defined _WIN64 | ||
6 | #define PLATFORM_DECORATION(f) f L"_64" | ||
7 | #elif defined ARM | ||
8 | #define PLATFORM_DECORATION(f) f L"_ARM" | ||
9 | #else | ||
10 | #define PLATFORM_DECORATION(f) f | ||
11 | #endif | ||
diff --git a/src/ca/netshortcuts.cpp b/src/ca/netshortcuts.cpp index 59ef838b..6ff129db 100644 --- a/src/ca/netshortcuts.cpp +++ b/src/ca/netshortcuts.cpp | |||
@@ -4,7 +4,7 @@ | |||
4 | 4 | ||
5 | LPCWSTR vcsShortcutsQuery = | 5 | LPCWSTR vcsShortcutsQuery = |
6 | L"SELECT `Component_`, `Directory_`, `Name`, `Target`, `Attributes`, `IconFile`, `IconIndex` " | 6 | L"SELECT `Component_`, `Directory_`, `Name`, `Target`, `Attributes`, `IconFile`, `IconIndex` " |
7 | L"FROM `WixInternetShortcut`"; | 7 | L"FROM `Wix4InternetShortcut`"; |
8 | enum eShortcutsQuery { esqComponent = 1, esqDirectory, esqFilename, esqTarget, esqAttributes, esqIconFile, esqIconIndex }; | 8 | enum eShortcutsQuery { esqComponent = 1, esqDirectory, esqFilename, esqTarget, esqAttributes, esqIconFile, esqIconIndex }; |
9 | enum eShortcutsAttributes { esaLink = 0, esaURL = 1 }; | 9 | enum eShortcutsAttributes { esaLink = 0, esaURL = 1 }; |
10 | 10 | ||
@@ -44,9 +44,9 @@ extern "C" UINT __stdcall WixSchedInternetShortcuts( | |||
44 | ExitOnFailure(hr, "failed to initialize WixSchedInternetShortcuts."); | 44 | ExitOnFailure(hr, "failed to initialize WixSchedInternetShortcuts."); |
45 | 45 | ||
46 | // anything to do? | 46 | // anything to do? |
47 | if (S_OK != WcaTableExists(L"WixInternetShortcut")) | 47 | if (S_OK != WcaTableExists(L"Wix4InternetShortcut")) |
48 | { | 48 | { |
49 | WcaLog(LOGMSG_STANDARD, "WixInternetShortcut table doesn't exist, so there are no Internet shortcuts to process"); | 49 | WcaLog(LOGMSG_STANDARD, "Wix4InternetShortcut table doesn't exist, so there are no Internet shortcuts to process"); |
50 | goto LExit; | 50 | goto LExit; |
51 | } | 51 | } |
52 | 52 | ||
@@ -71,7 +71,7 @@ extern "C" UINT __stdcall WixSchedInternetShortcuts( | |||
71 | 71 | ||
72 | // query and loop through all the shortcuts | 72 | // query and loop through all the shortcuts |
73 | hr = WcaOpenExecuteView(vcsShortcutsQuery, &hView); | 73 | hr = WcaOpenExecuteView(vcsShortcutsQuery, &hView); |
74 | ExitOnFailure(hr, "failed to open view on WixInternetShortcut table"); | 74 | ExitOnFailure(hr, "failed to open view on Wix4InternetShortcut table"); |
75 | 75 | ||
76 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) | 76 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) |
77 | { | 77 | { |
@@ -91,7 +91,7 @@ extern "C" UINT __stdcall WixSchedInternetShortcuts( | |||
91 | hr = WcaGetRecordInteger(hRec, esqIconIndex, &iIconIndex); | 91 | hr = WcaGetRecordInteger(hRec, esqIconIndex, &iIconIndex); |
92 | ExitOnFailure(hr, "failed to get shortcut icon index"); | 92 | ExitOnFailure(hr, "failed to get shortcut icon index"); |
93 | 93 | ||
94 | // skip processing this WixInternetShortcut row if the component isn't being configured | 94 | // skip processing this Wix4InternetShortcut row if the component isn't being configured |
95 | WCA_TODO todo = WcaGetComponentToDo(pwzComponent); | 95 | WCA_TODO todo = WcaGetComponentToDo(pwzComponent); |
96 | if (WCA_TODO_UNKNOWN == todo) | 96 | if (WCA_TODO_UNKNOWN == todo) |
97 | { | 97 | { |
@@ -144,7 +144,7 @@ extern "C" UINT __stdcall WixSchedInternetShortcuts( | |||
144 | { | 144 | { |
145 | hr = S_OK; | 145 | hr = S_OK; |
146 | } | 146 | } |
147 | ExitOnFailure(hr, "Failure occured while processing WixInternetShortcut table"); | 147 | ExitOnFailure(hr, "Failure occured while processing Wix4InternetShortcut table"); |
148 | 148 | ||
149 | // if we have any shortcuts to install | 149 | // if we have any shortcuts to install |
150 | if (pwzCustomActionData && *pwzCustomActionData) | 150 | if (pwzCustomActionData && *pwzCustomActionData) |
@@ -154,9 +154,9 @@ extern "C" UINT __stdcall WixSchedInternetShortcuts( | |||
154 | ExitOnFailure(hr, "failed to extend progress bar for InternetShortcuts"); | 154 | ExitOnFailure(hr, "failed to extend progress bar for InternetShortcuts"); |
155 | 155 | ||
156 | // provide custom action data to deferred and rollback CAs | 156 | // provide custom action data to deferred and rollback CAs |
157 | hr = WcaSetProperty(PLATFORM_DECORATION(L"WixRollbackInternetShortcuts"), pwzCustomActionData); | 157 | hr = WcaSetProperty(CUSTOM_ACTION_DECORATION(L"RollbackInternetShortcuts"), pwzCustomActionData); |
158 | ExitOnFailure(hr, "failed to set WixRollbackInternetShortcuts rollback custom action data"); | 158 | ExitOnFailure(hr, "failed to set WixRollbackInternetShortcuts rollback custom action data"); |
159 | hr = WcaSetProperty(PLATFORM_DECORATION(L"WixCreateInternetShortcuts"), pwzCustomActionData); | 159 | hr = WcaSetProperty(CUSTOM_ACTION_DECORATION(L"CreateInternetShortcuts"), pwzCustomActionData); |
160 | ExitOnFailure(hr, "failed to set WixCreateInternetShortcuts custom action data"); | 160 | ExitOnFailure(hr, "failed to set WixCreateInternetShortcuts custom action data"); |
161 | } | 161 | } |
162 | 162 | ||
diff --git a/src/ca/precomp.h b/src/ca/precomp.h index 66e2f6b0..c5d6afe5 100644 --- a/src/ca/precomp.h +++ b/src/ca/precomp.h | |||
@@ -51,4 +51,4 @@ | |||
51 | #include "scasmb.h" | 51 | #include "scasmb.h" |
52 | #include "scasmbexec.h" | 52 | #include "scasmbexec.h" |
53 | 53 | ||
54 | #include "caSuffix.h" | 54 | #include "caDecor.h" |
diff --git a/src/ca/scamanifest.cpp b/src/ca/scamanifest.cpp index 58b4054d..adb8d3d3 100644 --- a/src/ca/scamanifest.cpp +++ b/src/ca/scamanifest.cpp | |||
@@ -2,8 +2,8 @@ | |||
2 | 2 | ||
3 | #include "precomp.h" | 3 | #include "precomp.h" |
4 | 4 | ||
5 | LPCWSTR vcsPerfmonManifestQuery = L"SELECT `Component_`, `File`, `ResourceFileDirectory` FROM `PerfmonManifest`"; | 5 | LPCWSTR vcsPerfmonManifestQuery = L"SELECT `Component_`, `File`, `ResourceFileDirectory` FROM `Wix4PerfmonManifest`"; |
6 | LPCWSTR vcsEventManifestQuery = L"SELECT `Component_`, `File` FROM `EventManifest`"; | 6 | LPCWSTR vcsEventManifestQuery = L"SELECT `Component_`, `File` FROM `Wix4EventManifest`"; |
7 | enum ePerfMonManifestQuery { pfmComponent = 1, pfmFile, pfmResourceFileDir }; | 7 | enum ePerfMonManifestQuery { pfmComponent = 1, pfmFile, pfmResourceFileDir }; |
8 | enum eEventManifestQuery { emComponent = 1, emFile}; | 8 | enum eEventManifestQuery { emComponent = 1, emFile}; |
9 | 9 | ||
@@ -46,9 +46,9 @@ extern "C" UINT __stdcall ConfigurePerfmonManifestRegister( | |||
46 | ExitFunction1(hr = S_FALSE); | 46 | ExitFunction1(hr = S_FALSE); |
47 | } | 47 | } |
48 | // check to see if necessary tables are specified | 48 | // check to see if necessary tables are specified |
49 | if (S_OK != WcaTableExists(L"PerfmonManifest")) | 49 | if (S_OK != WcaTableExists(L"Wix4PerfmonManifest")) |
50 | { | 50 | { |
51 | WcaLog(LOGMSG_VERBOSE, "Skipping ConfigurePerfmonManifestRegister() because PerfmonManifest table not present"); | 51 | WcaLog(LOGMSG_VERBOSE, "Skipping ConfigurePerfmonManifestRegister() because Wix4PerfmonManifest table not present"); |
52 | ExitFunction1(hr = S_FALSE); | 52 | ExitFunction1(hr = S_FALSE); |
53 | } | 53 | } |
54 | 54 | ||
@@ -79,7 +79,7 @@ extern "C" UINT __stdcall ConfigurePerfmonManifestRegister( | |||
79 | hr = StrAllocFormatted(&pwzCommand, L"\"unlodctr.exe\" /m:\"%s\"", pwzFile); | 79 | hr = StrAllocFormatted(&pwzCommand, L"\"unlodctr.exe\" /m:\"%s\"", pwzFile); |
80 | ExitOnFailure(hr, "failed to copy string in PerfMonManifest"); | 80 | ExitOnFailure(hr, "failed to copy string in PerfMonManifest"); |
81 | 81 | ||
82 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"RollbackRegisterPerfmonManifest"), pwzCommand, COST_PERFMONMANIFEST_UNREGISTER); | 82 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RollbackRegisterPerfmonManifest"), pwzCommand, COST_PERFMONMANIFEST_UNREGISTER); |
83 | ExitOnFailure(hr, "failed to schedule RollbackRegisterPerfmonManifest action"); | 83 | ExitOnFailure(hr, "failed to schedule RollbackRegisterPerfmonManifest action"); |
84 | 84 | ||
85 | if ( *pwzResourceFilePath ) | 85 | if ( *pwzResourceFilePath ) |
@@ -95,7 +95,7 @@ extern "C" UINT __stdcall ConfigurePerfmonManifestRegister( | |||
95 | 95 | ||
96 | WcaLog(LOGMSG_VERBOSE, "RegisterPerfmonManifest's CustomActionData: '%ls'", pwzCommand); | 96 | WcaLog(LOGMSG_VERBOSE, "RegisterPerfmonManifest's CustomActionData: '%ls'", pwzCommand); |
97 | 97 | ||
98 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"RegisterPerfmonManifest"), pwzCommand, COST_PERFMONMANIFEST_REGISTER); | 98 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RegisterPerfmonManifest"), pwzCommand, COST_PERFMONMANIFEST_REGISTER); |
99 | ExitOnFailure(hr, "failed to schedule RegisterPerfmonManifest action"); | 99 | ExitOnFailure(hr, "failed to schedule RegisterPerfmonManifest action"); |
100 | } | 100 | } |
101 | 101 | ||
@@ -143,40 +143,40 @@ extern "C" UINT __stdcall ConfigurePerfmonManifestUnregister( | |||
143 | ExitFunction1(hr = S_FALSE); | 143 | ExitFunction1(hr = S_FALSE); |
144 | } | 144 | } |
145 | // check to see if necessary tables are specified | 145 | // check to see if necessary tables are specified |
146 | if (WcaTableExists(L"PerfmonManifest") != S_OK) | 146 | if (WcaTableExists(L"Wix4PerfmonManifest") != S_OK) |
147 | { | 147 | { |
148 | WcaLog(LOGMSG_VERBOSE, "Skipping ConfigurePerfmonManifestUnregister() because PerfmonManifest table not present"); | 148 | WcaLog(LOGMSG_VERBOSE, "Skipping ConfigurePerfmonManifestUnregister() because Wix4PerfmonManifest table not present"); |
149 | ExitFunction1(hr = S_FALSE); | 149 | ExitFunction1(hr = S_FALSE); |
150 | } | 150 | } |
151 | 151 | ||
152 | hr = WcaOpenExecuteView(vcsPerfmonManifestQuery, &hView); | 152 | hr = WcaOpenExecuteView(vcsPerfmonManifestQuery, &hView); |
153 | ExitOnFailure(hr, "failed to open view on PerfMonManifest table"); | 153 | ExitOnFailure(hr, "failed to open view on Wix4PerfmonManifest table"); |
154 | while ((hr = WcaFetchRecord(hView, &hRec)) == S_OK) | 154 | while ((hr = WcaFetchRecord(hView, &hRec)) == S_OK) |
155 | { | 155 | { |
156 | // get component install state | 156 | // get component install state |
157 | hr = WcaGetRecordString(hRec, pfmComponent, &pwzData); | 157 | hr = WcaGetRecordString(hRec, pfmComponent, &pwzData); |
158 | ExitOnFailure(hr, "failed to get Component for PerfMonManifest"); | 158 | ExitOnFailure(hr, "failed to get Component for Wix4PerfmonManifest"); |
159 | er = ::MsiGetComponentStateW(hInstall, pwzData, &isInstalled, &isAction); | 159 | er = ::MsiGetComponentStateW(hInstall, pwzData, &isInstalled, &isAction); |
160 | hr = HRESULT_FROM_WIN32(er); | 160 | hr = HRESULT_FROM_WIN32(er); |
161 | ExitOnFailure(hr, "failed to get Component state for PerfMonManifest"); | 161 | ExitOnFailure(hr, "failed to get Component state for Wix4PerfmonManifest"); |
162 | if (!WcaIsUninstalling(isInstalled, isAction)) | 162 | if (!WcaIsUninstalling(isInstalled, isAction)) |
163 | { | 163 | { |
164 | continue; | 164 | continue; |
165 | } | 165 | } |
166 | 166 | ||
167 | hr = WcaGetRecordFormattedString(hRec, pfmFile, &pwzFile); | 167 | hr = WcaGetRecordFormattedString(hRec, pfmFile, &pwzFile); |
168 | ExitOnFailure(hr, "failed to get File for PerfMonManifest"); | 168 | ExitOnFailure(hr, "failed to get File for Wix4PerfmonManifest"); |
169 | 169 | ||
170 | hr = WcaGetRecordFormattedString(hRec, pfmResourceFileDir, &pwzResourceFilePath); | 170 | hr = WcaGetRecordFormattedString(hRec, pfmResourceFileDir, &pwzResourceFilePath); |
171 | ExitOnFailure(hr, "failed to get ApplicationIdentity for PerfMonManifest"); | 171 | ExitOnFailure(hr, "failed to get ApplicationIdentity for Wix4PerfmonManifest"); |
172 | size_t iResourcePath = lstrlenW(pwzResourceFilePath); | 172 | size_t iResourcePath = lstrlenW(pwzResourceFilePath); |
173 | if ( iResourcePath > 0 && *(pwzResourceFilePath + iResourcePath -1) == L'\\') | 173 | if ( iResourcePath > 0 && *(pwzResourceFilePath + iResourcePath -1) == L'\\') |
174 | *(pwzResourceFilePath + iResourcePath -1) = 0; //remove the trailing '\' | 174 | *(pwzResourceFilePath + iResourcePath -1) = 0; //remove the trailing '\' |
175 | 175 | ||
176 | hr = StrAllocFormatted(&pwzCommand, L"\"lodctr.exe\" /m:\"%s\" \"%s\"", pwzFile, pwzResourceFilePath); | 176 | hr = StrAllocFormatted(&pwzCommand, L"\"lodctr.exe\" /m:\"%s\" \"%s\"", pwzFile, pwzResourceFilePath); |
177 | ExitOnFailure(hr, "failed to copy string in PerfMonManifest"); | 177 | ExitOnFailure(hr, "failed to copy string in Wix4PerfmonManifest"); |
178 | 178 | ||
179 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"RollbackUnregisterPerfmonManifest"), pwzCommand, COST_PERFMONMANIFEST_REGISTER); | 179 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RollbackUnregisterPerfmonManifest"), pwzCommand, COST_PERFMONMANIFEST_REGISTER); |
180 | ExitOnFailure(hr, "failed to schedule RollbackUnregisterPerfmonManifest action"); | 180 | ExitOnFailure(hr, "failed to schedule RollbackUnregisterPerfmonManifest action"); |
181 | 181 | ||
182 | hr = StrAllocFormatted(&pwzCommand, L"\"unlodctr.exe\" /m:\"%s\"", pwzFile); | 182 | hr = StrAllocFormatted(&pwzCommand, L"\"unlodctr.exe\" /m:\"%s\"", pwzFile); |
@@ -184,7 +184,7 @@ extern "C" UINT __stdcall ConfigurePerfmonManifestUnregister( | |||
184 | 184 | ||
185 | WcaLog(LOGMSG_VERBOSE, "UnRegisterPerfmonManifest's CustomActionData: '%ls'", pwzCommand); | 185 | WcaLog(LOGMSG_VERBOSE, "UnRegisterPerfmonManifest's CustomActionData: '%ls'", pwzCommand); |
186 | 186 | ||
187 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"UnregisterPerfmonManifest"), pwzCommand, COST_PERFMONMANIFEST_UNREGISTER); | 187 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"UnregisterPerfmonManifest"), pwzCommand, COST_PERFMONMANIFEST_UNREGISTER); |
188 | ExitOnFailure(hr, "failed to schedule UnregisterPerfmonManifest action"); | 188 | ExitOnFailure(hr, "failed to schedule UnregisterPerfmonManifest action"); |
189 | } | 189 | } |
190 | 190 | ||
@@ -231,41 +231,41 @@ extern "C" UINT __stdcall ConfigureEventManifestRegister( | |||
231 | ExitFunction1(hr = S_FALSE); | 231 | ExitFunction1(hr = S_FALSE); |
232 | } | 232 | } |
233 | // check to see if necessary tables are specified | 233 | // check to see if necessary tables are specified |
234 | if (S_OK != WcaTableExists(L"EventManifest")) | 234 | if (S_OK != WcaTableExists(L"Wix4EventManifest")) |
235 | { | 235 | { |
236 | WcaLog(LOGMSG_VERBOSE, "Skipping ConfigureEventManifestRegister() because EventManifest table not present"); | 236 | WcaLog(LOGMSG_VERBOSE, "Skipping ConfigureEventManifestRegister() because Wix4EventManifest table not present"); |
237 | ExitFunction1(hr = S_FALSE); | 237 | ExitFunction1(hr = S_FALSE); |
238 | } | 238 | } |
239 | 239 | ||
240 | hr = WcaOpenExecuteView(vcsEventManifestQuery, &hView); | 240 | hr = WcaOpenExecuteView(vcsEventManifestQuery, &hView); |
241 | ExitOnFailure(hr, "failed to open view on EventManifest table"); | 241 | ExitOnFailure(hr, "failed to open view on Wix4EventManifest table"); |
242 | while ((hr = WcaFetchRecord(hView, &hRec)) == S_OK) | 242 | while ((hr = WcaFetchRecord(hView, &hRec)) == S_OK) |
243 | { | 243 | { |
244 | // get component install state | 244 | // get component install state |
245 | hr = WcaGetRecordString(hRec, emComponent, &pwzData); | 245 | hr = WcaGetRecordString(hRec, emComponent, &pwzData); |
246 | ExitOnFailure(hr, "failed to get Component for EventManifest"); | 246 | ExitOnFailure(hr, "failed to get Component for Wix4EventManifest"); |
247 | er = ::MsiGetComponentStateW(hInstall, pwzData, &isInstalled, &isAction); | 247 | er = ::MsiGetComponentStateW(hInstall, pwzData, &isInstalled, &isAction); |
248 | hr = HRESULT_FROM_WIN32(er); | 248 | hr = HRESULT_FROM_WIN32(er); |
249 | ExitOnFailure(hr, "failed to get Component state for EventManifest"); | 249 | ExitOnFailure(hr, "failed to get Component state for Wix4EventManifest"); |
250 | if (!WcaIsInstalling(isInstalled, isAction)) | 250 | if (!WcaIsInstalling(isInstalled, isAction)) |
251 | { | 251 | { |
252 | continue; | 252 | continue; |
253 | } | 253 | } |
254 | 254 | ||
255 | hr = WcaGetRecordFormattedString(hRec, emFile, &pwzFile); | 255 | hr = WcaGetRecordFormattedString(hRec, emFile, &pwzFile); |
256 | ExitOnFailure(hr, "failed to get File for EventManifest"); | 256 | ExitOnFailure(hr, "failed to get File for Wix4EventManifest"); |
257 | 257 | ||
258 | hr = StrAllocFormatted(&pwzCommand, L"\"wevtutil.exe\" um \"%s\"", pwzFile); | 258 | hr = StrAllocFormatted(&pwzCommand, L"\"wevtutil.exe\" um \"%s\"", pwzFile); |
259 | ExitOnFailure(hr, "failed to copy string in EventManifest"); | 259 | ExitOnFailure(hr, "failed to copy string in Wix4EventManifest"); |
260 | 260 | ||
261 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"RollbackRegisterEventManifest"), pwzCommand, COST_PERFMONMANIFEST_UNREGISTER); | 261 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RollbackRegisterEventManifest"), pwzCommand, COST_PERFMONMANIFEST_UNREGISTER); |
262 | ExitOnFailure(hr, "failed to schedule RollbackRegisterEventManifest action"); | 262 | ExitOnFailure(hr, "failed to schedule RollbackRegisterEventManifest action"); |
263 | 263 | ||
264 | hr = StrAllocFormatted(&pwzCommand, L"\"wevtutil.exe\" im \"%s\"", pwzFile); | 264 | hr = StrAllocFormatted(&pwzCommand, L"\"wevtutil.exe\" im \"%s\"", pwzFile); |
265 | ExitOnFailure(hr, "failed to copy string in EventManifest"); | 265 | ExitOnFailure(hr, "failed to copy string in Wix4EventManifest"); |
266 | WcaLog(LOGMSG_VERBOSE, "RegisterEventManifest's CustomActionData: '%ls'", pwzCommand); | 266 | WcaLog(LOGMSG_VERBOSE, "RegisterEventManifest's CustomActionData: '%ls'", pwzCommand); |
267 | 267 | ||
268 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"RegisterEventManifest"), pwzCommand, COST_EVENTMANIFEST_REGISTER); | 268 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RegisterEventManifest"), pwzCommand, COST_EVENTMANIFEST_REGISTER); |
269 | ExitOnFailure(hr, "failed to schedule RegisterEventManifest action"); | 269 | ExitOnFailure(hr, "failed to schedule RegisterEventManifest action"); |
270 | } | 270 | } |
271 | 271 | ||
@@ -273,7 +273,7 @@ extern "C" UINT __stdcall ConfigureEventManifestRegister( | |||
273 | { | 273 | { |
274 | hr = S_OK; | 274 | hr = S_OK; |
275 | } | 275 | } |
276 | ExitOnFailure(hr, "Failure while processing EventManifest"); | 276 | ExitOnFailure(hr, "Failure while processing Wix4EventManifest"); |
277 | 277 | ||
278 | hr = S_OK; | 278 | hr = S_OK; |
279 | 279 | ||
@@ -313,22 +313,22 @@ extern "C" UINT __stdcall ConfigureEventManifestUnregister( | |||
313 | ExitFunction1(hr = S_FALSE); | 313 | ExitFunction1(hr = S_FALSE); |
314 | } | 314 | } |
315 | // check to see if necessary tables are specified | 315 | // check to see if necessary tables are specified |
316 | if (S_OK != WcaTableExists(L"EventManifest")) | 316 | if (S_OK != WcaTableExists(L"Wix4EventManifest")) |
317 | { | 317 | { |
318 | WcaLog(LOGMSG_VERBOSE, "Skipping ConfigureEventManifestUnregister() because EventManifest table not present"); | 318 | WcaLog(LOGMSG_VERBOSE, "Skipping ConfigureEventManifestUnregister() because Wix4EventManifest table not present"); |
319 | ExitFunction1(hr = S_FALSE); | 319 | ExitFunction1(hr = S_FALSE); |
320 | } | 320 | } |
321 | 321 | ||
322 | hr = WcaOpenExecuteView(vcsEventManifestQuery, &hView); | 322 | hr = WcaOpenExecuteView(vcsEventManifestQuery, &hView); |
323 | ExitOnFailure(hr, "failed to open view on EventManifest table"); | 323 | ExitOnFailure(hr, "failed to open view on Wix4EventManifest table"); |
324 | while ((hr = WcaFetchRecord(hView, &hRec)) == S_OK) | 324 | while ((hr = WcaFetchRecord(hView, &hRec)) == S_OK) |
325 | { | 325 | { |
326 | // get component install state | 326 | // get component install state |
327 | hr = WcaGetRecordString(hRec, emComponent, &pwzData); | 327 | hr = WcaGetRecordString(hRec, emComponent, &pwzData); |
328 | ExitOnFailure(hr, "failed to get Component for EventManifest"); | 328 | ExitOnFailure(hr, "failed to get Component for Wix4EventManifest"); |
329 | er = ::MsiGetComponentStateW(hInstall, pwzData, &isInstalled, &isAction); | 329 | er = ::MsiGetComponentStateW(hInstall, pwzData, &isInstalled, &isAction); |
330 | hr = HRESULT_FROM_WIN32(er); | 330 | hr = HRESULT_FROM_WIN32(er); |
331 | ExitOnFailure(hr, "failed to get Component state for EventManifest"); | 331 | ExitOnFailure(hr, "failed to get Component state for Wix4EventManifest"); |
332 | 332 | ||
333 | // nothing to do on an install | 333 | // nothing to do on an install |
334 | // schedule the rollback action when reinstalling to re-register pre-patch manifest | 334 | // schedule the rollback action when reinstalling to re-register pre-patch manifest |
@@ -338,22 +338,22 @@ extern "C" UINT __stdcall ConfigureEventManifestUnregister( | |||
338 | } | 338 | } |
339 | 339 | ||
340 | hr = WcaGetRecordFormattedString(hRec, emFile, &pwzFile); | 340 | hr = WcaGetRecordFormattedString(hRec, emFile, &pwzFile); |
341 | ExitOnFailure(hr, "failed to get File for EventManifest"); | 341 | ExitOnFailure(hr, "failed to get File for Wix4EventManifest"); |
342 | 342 | ||
343 | hr = StrAllocFormatted(&pwzCommand, L"\"wevtutil.exe\" im \"%s\"", pwzFile); | 343 | hr = StrAllocFormatted(&pwzCommand, L"\"wevtutil.exe\" im \"%s\"", pwzFile); |
344 | ExitOnFailure(hr, "failed to copy string in EventManifest"); | 344 | ExitOnFailure(hr, "failed to copy string in Wix4EventManifest"); |
345 | 345 | ||
346 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"RollbackUnregisterEventManifest"), pwzCommand, COST_PERFMONMANIFEST_REGISTER); | 346 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RollbackUnregisterEventManifest"), pwzCommand, COST_PERFMONMANIFEST_REGISTER); |
347 | ExitOnFailure(hr, "failed to schedule RollbackUnregisterEventManifest action"); | 347 | ExitOnFailure(hr, "failed to schedule RollbackUnregisterEventManifest action"); |
348 | 348 | ||
349 | // no need to uninstall on a repair/patch. Register action will re-register and update the manifest. | 349 | // no need to uninstall on a repair/patch. Register action will re-register and update the manifest. |
350 | if (!WcaIsReInstalling(isInstalled, isAction)) | 350 | if (!WcaIsReInstalling(isInstalled, isAction)) |
351 | { | 351 | { |
352 | hr = StrAllocFormatted(&pwzCommand, L"\"wevtutil.exe\" um \"%s\"", pwzFile); | 352 | hr = StrAllocFormatted(&pwzCommand, L"\"wevtutil.exe\" um \"%s\"", pwzFile); |
353 | ExitOnFailure(hr, "failed to copy string in EventManifest"); | 353 | ExitOnFailure(hr, "failed to copy string in Wix4EventManifest"); |
354 | WcaLog(LOGMSG_VERBOSE, "UnregisterEventManifest's CustomActionData: '%ls'", pwzCommand); | 354 | WcaLog(LOGMSG_VERBOSE, "UnregisterEventManifest's CustomActionData: '%ls'", pwzCommand); |
355 | 355 | ||
356 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"UnregisterEventManifest"), pwzCommand, COST_PERFMONMANIFEST_UNREGISTER); | 356 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"UnregisterEventManifest"), pwzCommand, COST_PERFMONMANIFEST_UNREGISTER); |
357 | ExitOnFailure(hr, "failed to schedule UnregisterEventManifest action"); | 357 | ExitOnFailure(hr, "failed to schedule UnregisterEventManifest action"); |
358 | } | 358 | } |
359 | } | 359 | } |
@@ -362,7 +362,7 @@ extern "C" UINT __stdcall ConfigureEventManifestUnregister( | |||
362 | { | 362 | { |
363 | hr = S_OK; | 363 | hr = S_OK; |
364 | } | 364 | } |
365 | ExitOnFailure(hr, "Failure while processing EventManifest"); | 365 | ExitOnFailure(hr, "Failure while processing Wix4EventManifest"); |
366 | 366 | ||
367 | hr = S_OK; | 367 | hr = S_OK; |
368 | 368 | ||
diff --git a/src/ca/scaperf.cpp b/src/ca/scaperf.cpp index 82f458af..fd301278 100644 --- a/src/ca/scaperf.cpp +++ b/src/ca/scaperf.cpp | |||
@@ -2,10 +2,10 @@ | |||
2 | 2 | ||
3 | #include "precomp.h" | 3 | #include "precomp.h" |
4 | 4 | ||
5 | LPCWSTR vcsPerfCounterDataQuery = L"SELECT `PerformanceCategory`, `Component_`, `Name`, `IniData`, `ConstantData` FROM `PerformanceCategory`"; | 5 | LPCWSTR vcsPerfCounterDataQuery = L"SELECT `Wix4PerformanceCategory`, `Component_`, `Name`, `IniData`, `ConstantData` FROM `Wix4PerformanceCategory`"; |
6 | enum ePerfCounterDataQuery { pcdqId = 1, pcdqComponent, pcdqName, pcdqIniData, pcdqConstantData }; | 6 | enum ePerfCounterDataQuery { pcdqId = 1, pcdqComponent, pcdqName, pcdqIniData, pcdqConstantData }; |
7 | 7 | ||
8 | LPCWSTR vcsPerfMonQuery = L"SELECT `Component_`, `File`, `Name` FROM `Perfmon`"; | 8 | LPCWSTR vcsPerfMonQuery = L"SELECT `Component_`, `File`, `Name` FROM `Wix4Perfmon`"; |
9 | enum ePerfMonQuery { pmqComponent = 1, pmqFile, pmqName }; | 9 | enum ePerfMonQuery { pmqComponent = 1, pmqFile, pmqName }; |
10 | 10 | ||
11 | 11 | ||
@@ -32,7 +32,7 @@ extern "C" UINT __stdcall InstallPerfCounterData( | |||
32 | ExitOnFailure(hr, "Failed to initialize InstallPerfCounterData."); | 32 | ExitOnFailure(hr, "Failed to initialize InstallPerfCounterData."); |
33 | 33 | ||
34 | hr = ProcessPerformanceCategory(hInstall, TRUE); | 34 | hr = ProcessPerformanceCategory(hInstall, TRUE); |
35 | MessageExitOnFailure(hr, msierrInstallPerfCounterData, "Failed to process PerformanceCategory table."); | 35 | MessageExitOnFailure(hr, msierrInstallPerfCounterData, "Failed to process Wix4PerformanceCategory table."); |
36 | 36 | ||
37 | LExit: | 37 | LExit: |
38 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; | 38 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; |
@@ -57,7 +57,7 @@ extern "C" UINT __stdcall UninstallPerfCounterData( | |||
57 | ExitOnFailure(hr, "Failed to initialize UninstallPerfCounterData."); | 57 | ExitOnFailure(hr, "Failed to initialize UninstallPerfCounterData."); |
58 | 58 | ||
59 | hr = ProcessPerformanceCategory(hInstall, FALSE); | 59 | hr = ProcessPerformanceCategory(hInstall, FALSE); |
60 | MessageExitOnFailure(hr, msierrUninstallPerfCounterData, "Failed to process PerformanceCategory table."); | 60 | MessageExitOnFailure(hr, msierrUninstallPerfCounterData, "Failed to process Wix4PerformanceCategory table."); |
61 | 61 | ||
62 | LExit: | 62 | LExit: |
63 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; | 63 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; |
@@ -85,9 +85,9 @@ extern "C" UINT __stdcall ConfigurePerfmonInstall( | |||
85 | ExitOnFailure(hr, "Failed to initialize"); | 85 | ExitOnFailure(hr, "Failed to initialize"); |
86 | 86 | ||
87 | // check to see if necessary tables are specified | 87 | // check to see if necessary tables are specified |
88 | if (S_OK != WcaTableExists(L"Perfmon")) | 88 | if (S_OK != WcaTableExists(L"Wix4Perfmon")) |
89 | { | 89 | { |
90 | WcaLog(LOGMSG_VERBOSE, "Skipping RegisterPerfmon() because Perfmon table not present"); | 90 | WcaLog(LOGMSG_VERBOSE, "Skipping RegisterPerfmon() because Wix4Perfmon table not present"); |
91 | ExitFunction1(hr = S_FALSE); | 91 | ExitFunction1(hr = S_FALSE); |
92 | } | 92 | } |
93 | 93 | ||
@@ -113,9 +113,9 @@ extern "C" UINT __stdcall ConfigurePerfmonInstall( | |||
113 | ExitOnFailure(hr, "failed to get File for PerfMon"); | 113 | ExitOnFailure(hr, "failed to get File for PerfMon"); |
114 | 114 | ||
115 | WcaLog(LOGMSG_VERBOSE, "ConfigurePerfmonInstall's CustomActionData: '%ls', '%ls'", pwzName, pwzFile); | 115 | WcaLog(LOGMSG_VERBOSE, "ConfigurePerfmonInstall's CustomActionData: '%ls', '%ls'", pwzName, pwzFile); |
116 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"RegisterPerfmon"), pwzFile, COST_PERFMON_REGISTER); | 116 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RegisterPerfmon"), pwzFile, COST_PERFMON_REGISTER); |
117 | ExitOnFailure(hr, "failed to schedule RegisterPerfmon action"); | 117 | ExitOnFailure(hr, "failed to schedule RegisterPerfmon action"); |
118 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"RollbackRegisterPerfmon"), pwzName, COST_PERFMON_UNREGISTER); | 118 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RollbackRegisterPerfmon"), pwzName, COST_PERFMON_UNREGISTER); |
119 | ExitOnFailure(hr, "failed to schedule RollbackRegisterPerfmon action"); | 119 | ExitOnFailure(hr, "failed to schedule RollbackRegisterPerfmon action"); |
120 | } | 120 | } |
121 | 121 | ||
@@ -158,9 +158,9 @@ extern "C" UINT __stdcall ConfigurePerfmonUninstall( | |||
158 | ExitOnFailure(hr, "Failed to initialize"); | 158 | ExitOnFailure(hr, "Failed to initialize"); |
159 | 159 | ||
160 | // check to see if necessary tables are specified | 160 | // check to see if necessary tables are specified |
161 | if (WcaTableExists(L"Perfmon") != S_OK) | 161 | if (WcaTableExists(L"Wix4Perfmon") != S_OK) |
162 | { | 162 | { |
163 | WcaLog(LOGMSG_VERBOSE, "Skipping UnregisterPerfmon() because Perfmon table not present"); | 163 | WcaLog(LOGMSG_VERBOSE, "Skipping UnregisterPerfmon() because Wix4Perfmon table not present"); |
164 | ExitFunction1(hr = S_FALSE); | 164 | ExitFunction1(hr = S_FALSE); |
165 | } | 165 | } |
166 | 166 | ||
@@ -186,9 +186,9 @@ extern "C" UINT __stdcall ConfigurePerfmonUninstall( | |||
186 | ExitOnFailure(hr, "failed to get File for PerfMon"); | 186 | ExitOnFailure(hr, "failed to get File for PerfMon"); |
187 | 187 | ||
188 | WcaLog(LOGMSG_VERBOSE, "ConfigurePerfmonUninstall's CustomActionData: '%ls', '%ls'", pwzName, pwzFile); | 188 | WcaLog(LOGMSG_VERBOSE, "ConfigurePerfmonUninstall's CustomActionData: '%ls', '%ls'", pwzName, pwzFile); |
189 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"UnregisterPerfmon"), pwzName, COST_PERFMON_UNREGISTER); | 189 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"UnregisterPerfmon"), pwzName, COST_PERFMON_UNREGISTER); |
190 | ExitOnFailure(hr, "failed to schedule UnregisterPerfmon action"); | 190 | ExitOnFailure(hr, "failed to schedule UnregisterPerfmon action"); |
191 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"RollbackUnregisterPerfmon"), pwzFile, COST_PERFMON_REGISTER); | 191 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RollbackUnregisterPerfmon"), pwzFile, COST_PERFMON_REGISTER); |
192 | ExitOnFailure(hr, "failed to schedule RollbackUnregisterPerfmon action"); | 192 | ExitOnFailure(hr, "failed to schedule RollbackUnregisterPerfmon action"); |
193 | } | 193 | } |
194 | 194 | ||
@@ -229,26 +229,26 @@ static HRESULT ProcessPerformanceCategory( | |||
229 | LPWSTR pwzCustomActionData = NULL; | 229 | LPWSTR pwzCustomActionData = NULL; |
230 | 230 | ||
231 | // check to see if necessary tables are specified | 231 | // check to see if necessary tables are specified |
232 | if (S_OK != WcaTableExists(L"PerformanceCategory")) | 232 | if (S_OK != WcaTableExists(L"Wix4PerformanceCategory")) |
233 | { | 233 | { |
234 | ExitFunction1(hr = S_FALSE); | 234 | ExitFunction1(hr = S_FALSE); |
235 | } | 235 | } |
236 | 236 | ||
237 | hr = WcaOpenExecuteView(vcsPerfCounterDataQuery, &hView); | 237 | hr = WcaOpenExecuteView(vcsPerfCounterDataQuery, &hView); |
238 | ExitOnFailure(hr, "failed to open view on PerformanceCategory table"); | 238 | ExitOnFailure(hr, "failed to open view on Wix4PerformanceCategory table"); |
239 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) | 239 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) |
240 | { | 240 | { |
241 | hr = WcaGetRecordString(hRec, pcdqId, &pwzId); | 241 | hr = WcaGetRecordString(hRec, pcdqId, &pwzId); |
242 | ExitOnFailure(hr, "Failed to get id for PerformanceCategory."); | 242 | ExitOnFailure(hr, "Failed to get id for Wix4PerformanceCategory."); |
243 | 243 | ||
244 | // Check to see if the Component is being installed or uninstalled | 244 | // Check to see if the Component is being installed or uninstalled |
245 | // when we are processing the same. | 245 | // when we are processing the same. |
246 | hr = WcaGetRecordString(hRec, pcdqComponent, &pwzComponent); | 246 | hr = WcaGetRecordString(hRec, pcdqComponent, &pwzComponent); |
247 | ExitOnFailure(hr, "Failed to get Component for PerformanceCategory: %ls", pwzId); | 247 | ExitOnFailure(hr, "Failed to get Component for Wix4PerformanceCategory: %ls", pwzId); |
248 | 248 | ||
249 | er = ::MsiGetComponentStateW(hInstall, pwzComponent, &isInstalled, &isAction); | 249 | er = ::MsiGetComponentStateW(hInstall, pwzComponent, &isInstalled, &isAction); |
250 | hr = HRESULT_FROM_WIN32(er); | 250 | hr = HRESULT_FROM_WIN32(er); |
251 | ExitOnFailure(hr, "Failed to get Component state for PerformanceCategory: %ls", pwzId); | 251 | ExitOnFailure(hr, "Failed to get Component state for Wix4PerformanceCategory: %ls", pwzId); |
252 | 252 | ||
253 | if ((fInstall && !WcaIsInstalling(isInstalled, isAction)) || | 253 | if ((fInstall && !WcaIsInstalling(isInstalled, isAction)) || |
254 | (!fInstall && !WcaIsUninstalling(isInstalled, isAction))) | 254 | (!fInstall && !WcaIsUninstalling(isInstalled, isAction))) |
@@ -257,45 +257,45 @@ static HRESULT ProcessPerformanceCategory( | |||
257 | } | 257 | } |
258 | 258 | ||
259 | hr = WcaGetRecordString(hRec, pcdqName, &pwzName); | 259 | hr = WcaGetRecordString(hRec, pcdqName, &pwzName); |
260 | ExitOnFailure(hr, "Failed to get Name for PerformanceCategory: %ls", pwzId); | 260 | ExitOnFailure(hr, "Failed to get Name for Wix4PerformanceCategory: %ls", pwzId); |
261 | hr = WcaWriteStringToCaData(pwzName, &pwzCustomActionData); | 261 | hr = WcaWriteStringToCaData(pwzName, &pwzCustomActionData); |
262 | ExitOnFailure(hr, "Failed to add Name to CustomActionData for PerformanceCategory: %ls", pwzId); | 262 | ExitOnFailure(hr, "Failed to add Name to CustomActionData for Wix4PerformanceCategory: %ls", pwzId); |
263 | 263 | ||
264 | hr = WcaGetRecordString(hRec, pcdqIniData, &pwzData); | 264 | hr = WcaGetRecordString(hRec, pcdqIniData, &pwzData); |
265 | ExitOnFailure(hr, "Failed to get IniData for PerformanceCategory: %ls", pwzId); | 265 | ExitOnFailure(hr, "Failed to get IniData for Wix4PerformanceCategory: %ls", pwzId); |
266 | hr = WcaWriteStringToCaData(pwzData, &pwzCustomActionData); | 266 | hr = WcaWriteStringToCaData(pwzData, &pwzCustomActionData); |
267 | ExitOnFailure(hr, "Failed to add IniData to CustomActionData for PerformanceCategory: %ls", pwzId); | 267 | ExitOnFailure(hr, "Failed to add IniData to CustomActionData for Wix4PerformanceCategory: %ls", pwzId); |
268 | 268 | ||
269 | hr = WcaGetRecordString(hRec, pcdqConstantData, &pwzData); | 269 | hr = WcaGetRecordString(hRec, pcdqConstantData, &pwzData); |
270 | ExitOnFailure(hr, "Failed to get ConstantData for PerformanceCategory: %ls", pwzId); | 270 | ExitOnFailure(hr, "Failed to get ConstantData for Wix4PerformanceCategory: %ls", pwzId); |
271 | hr = WcaWriteStringToCaData(pwzData, &pwzCustomActionData); | 271 | hr = WcaWriteStringToCaData(pwzData, &pwzCustomActionData); |
272 | ExitOnFailure(hr, "Failed to add ConstantData to CustomActionData for PerformanceCategory: %ls", pwzId); | 272 | ExitOnFailure(hr, "Failed to add ConstantData to CustomActionData for Wix4PerformanceCategory: %ls", pwzId); |
273 | } | 273 | } |
274 | 274 | ||
275 | if (hr == E_NOMOREITEMS) | 275 | if (hr == E_NOMOREITEMS) |
276 | { | 276 | { |
277 | hr = S_OK; | 277 | hr = S_OK; |
278 | } | 278 | } |
279 | ExitOnFailure(hr, "Failure while processing PerformanceCategory table."); | 279 | ExitOnFailure(hr, "Failure while processing Wix4PerformanceCategory table."); |
280 | 280 | ||
281 | // If there was any data built up, schedule it for execution. | 281 | // If there was any data built up, schedule it for execution. |
282 | if (pwzCustomActionData) | 282 | if (pwzCustomActionData) |
283 | { | 283 | { |
284 | if (fInstall) | 284 | if (fInstall) |
285 | { | 285 | { |
286 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"RollbackRegisterPerfCounterData"), pwzCustomActionData, COST_PERFMON_UNREGISTER); | 286 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RollbackRegisterPerfCounterData"), pwzCustomActionData, COST_PERFMON_UNREGISTER); |
287 | ExitOnFailure(hr, "Failed to schedule RollbackRegisterPerfCounterData action for PerformanceCategory: %ls", pwzId); | 287 | ExitOnFailure(hr, "Failed to schedule RollbackRegisterPerfCounterData action for Wix4PerformanceCategory: %ls", pwzId); |
288 | 288 | ||
289 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"RegisterPerfCounterData"), pwzCustomActionData, COST_PERFMON_REGISTER); | 289 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RegisterPerfCounterData"), pwzCustomActionData, COST_PERFMON_REGISTER); |
290 | ExitOnFailure(hr, "Failed to schedule RegisterPerfCounterData action for PerformanceCategory: %ls", pwzId); | 290 | ExitOnFailure(hr, "Failed to schedule RegisterPerfCounterData action for Wix4PerformanceCategory: %ls", pwzId); |
291 | } | 291 | } |
292 | else | 292 | else |
293 | { | 293 | { |
294 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"RollbackUnregisterPerfCounterData"), pwzCustomActionData, COST_PERFMON_REGISTER); | 294 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RollbackUnregisterPerfCounterData"), pwzCustomActionData, COST_PERFMON_REGISTER); |
295 | ExitOnFailure(hr, "Failed to schedule RollbackUnregisterPerfCounterData action for PerformanceCategory: %ls", pwzId); | 295 | ExitOnFailure(hr, "Failed to schedule RollbackUnregisterPerfCounterData action for Wix4PerformanceCategory: %ls", pwzId); |
296 | 296 | ||
297 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"UnregisterPerfCounterData"), pwzCustomActionData, COST_PERFMON_UNREGISTER); | 297 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"UnregisterPerfCounterData"), pwzCustomActionData, COST_PERFMON_UNREGISTER); |
298 | ExitOnFailure(hr, "Failed to schedule UnregisterPerfCounterData action for PerformanceCategory: %ls", pwzId); | 298 | ExitOnFailure(hr, "Failed to schedule UnregisterPerfCounterData action for Wix4PerformanceCategory: %ls", pwzId); |
299 | } | 299 | } |
300 | } | 300 | } |
301 | 301 | ||
diff --git a/src/ca/scaperfexec.cpp b/src/ca/scaperfexec.cpp index bf58c8d0..04c0648a 100644 --- a/src/ca/scaperfexec.cpp +++ b/src/ca/scaperfexec.cpp | |||
@@ -35,7 +35,7 @@ extern "C" UINT __stdcall RegisterPerfCounterData( | |||
35 | ExitOnFailure(hr, "Failed to initialize RegisterPerfCounterData."); | 35 | ExitOnFailure(hr, "Failed to initialize RegisterPerfCounterData."); |
36 | 36 | ||
37 | hr = ExecutePerfCounterData(hInstall, TRUE); | 37 | hr = ExecutePerfCounterData(hInstall, TRUE); |
38 | MessageExitOnFailure(hr, msierrInstallPerfCounterData, "Failed to execute PerformanceCategory table."); | 38 | MessageExitOnFailure(hr, msierrInstallPerfCounterData, "Failed to execute Wix4PerformanceCategory table."); |
39 | 39 | ||
40 | LExit: | 40 | LExit: |
41 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; | 41 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; |
@@ -61,7 +61,7 @@ extern "C" UINT __stdcall UnregisterPerfCounterData( | |||
61 | ExitOnFailure(hr, "Failed to initialize UnregisterPerfCounterData."); | 61 | ExitOnFailure(hr, "Failed to initialize UnregisterPerfCounterData."); |
62 | 62 | ||
63 | hr = ExecutePerfCounterData(hInstall, FALSE); | 63 | hr = ExecutePerfCounterData(hInstall, FALSE); |
64 | MessageExitOnFailure(hr, msierrUninstallPerfCounterData, "Failed to execute PerformanceCategory table."); | 64 | MessageExitOnFailure(hr, msierrUninstallPerfCounterData, "Failed to execute Wix4PerformanceCategory table."); |
65 | 65 | ||
66 | LExit: | 66 | LExit: |
67 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; | 67 | er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; |
diff --git a/src/ca/scasched.cpp b/src/ca/scasched.cpp index ba230a9e..d81b1f14 100644 --- a/src/ca/scasched.cpp +++ b/src/ca/scasched.cpp | |||
@@ -21,14 +21,14 @@ extern "C" UINT __stdcall ConfigureSmbInstall( | |||
21 | ExitOnFailure(hr, "Failed to initialize"); | 21 | ExitOnFailure(hr, "Failed to initialize"); |
22 | 22 | ||
23 | // check to see if necessary tables are specified | 23 | // check to see if necessary tables are specified |
24 | if (WcaTableExists(L"FileShare") != S_OK) | 24 | if (WcaTableExists(L"Wix4FileShare") != S_OK) |
25 | { | 25 | { |
26 | WcaLog(LOGMSG_VERBOSE, "Skipping SMB CustomAction, no FileShare table"); | 26 | WcaLog(LOGMSG_VERBOSE, "Skipping SMB CustomAction, no Wix4FileShare table"); |
27 | ExitFunction1(hr = S_FALSE); | 27 | ExitFunction1(hr = S_FALSE); |
28 | } | 28 | } |
29 | 29 | ||
30 | hr = ScaSmbRead(&pssList); | 30 | hr = ScaSmbRead(&pssList); |
31 | ExitOnFailure(hr, "failed to read FileShare table"); | 31 | ExitOnFailure(hr, "failed to read Wix4FileShare table"); |
32 | 32 | ||
33 | hr = ScaSmbInstall(pssList); | 33 | hr = ScaSmbInstall(pssList); |
34 | ExitOnFailure(hr, "failed to install FileShares"); | 34 | ExitOnFailure(hr, "failed to install FileShares"); |
@@ -43,7 +43,7 @@ LExit: | |||
43 | 43 | ||
44 | 44 | ||
45 | /******************************************************************** | 45 | /******************************************************************** |
46 | ConfigureSmb - CUSTOM ACTION ENTRY POINT for installing fileshare settings | 46 | ConfigureSmb - CUSTOM ACTION ENTRY POINT for uninstalling fileshare settings |
47 | 47 | ||
48 | ********************************************************************/ | 48 | ********************************************************************/ |
49 | extern "C" UINT __stdcall ConfigureSmbUninstall( | 49 | extern "C" UINT __stdcall ConfigureSmbUninstall( |
@@ -60,14 +60,14 @@ extern "C" UINT __stdcall ConfigureSmbUninstall( | |||
60 | ExitOnFailure(hr, "Failed to initialize"); | 60 | ExitOnFailure(hr, "Failed to initialize"); |
61 | 61 | ||
62 | // check to see if necessary tables are specified | 62 | // check to see if necessary tables are specified |
63 | if (WcaTableExists(L"FileShare") != S_OK) | 63 | if (WcaTableExists(L"Wix4FileShare") != S_OK) |
64 | { | 64 | { |
65 | WcaLog(LOGMSG_VERBOSE, "Skipping SMB CustomAction, no FileShare table"); | 65 | WcaLog(LOGMSG_VERBOSE, "Skipping SMB CustomAction, no Wix4FileShare table"); |
66 | ExitFunction1(hr = S_FALSE); | 66 | ExitFunction1(hr = S_FALSE); |
67 | } | 67 | } |
68 | 68 | ||
69 | hr = ScaSmbRead(&pssList); | 69 | hr = ScaSmbRead(&pssList); |
70 | ExitOnFailure(hr, "failed to read FileShare table"); | 70 | ExitOnFailure(hr, "failed to read Wix4FileShare table"); |
71 | 71 | ||
72 | hr = ScaSmbUninstall(pssList); | 72 | hr = ScaSmbUninstall(pssList); |
73 | ExitOnFailure(hr, "failed to uninstall FileShares"); | 73 | ExitOnFailure(hr, "failed to uninstall FileShares"); |
@@ -106,7 +106,7 @@ extern "C" UINT __stdcall ConfigureUsers( | |||
106 | fInitializedCom = TRUE; | 106 | fInitializedCom = TRUE; |
107 | 107 | ||
108 | hr = ScaUserRead(&psuList); | 108 | hr = ScaUserRead(&psuList); |
109 | ExitOnFailure(hr, "failed to read User table"); | 109 | ExitOnFailure(hr, "failed to read Wix4User table"); |
110 | 110 | ||
111 | hr = ScaUserExecute(psuList); | 111 | hr = ScaUserExecute(psuList); |
112 | ExitOnFailure(hr, "failed to add/remove User actions"); | 112 | ExitOnFailure(hr, "failed to add/remove User actions"); |
diff --git a/src/ca/scasmb.h b/src/ca/scasmb.h index 7dbeb14d..f2a4b53c 100644 --- a/src/ca/scasmb.h +++ b/src/ca/scasmb.h | |||
@@ -5,7 +5,7 @@ | |||
5 | #include "scauser.h" | 5 | #include "scauser.h" |
6 | 6 | ||
7 | // structs | 7 | // structs |
8 | // Structure used to hold and extra user/permission pairs from the FileSharePermissions Table | 8 | // Structure used to hold and extra user/permission pairs from the Wix4FileSharePermissions Table |
9 | struct SCA_SMB_EX_USER_PERMS | 9 | struct SCA_SMB_EX_USER_PERMS |
10 | { | 10 | { |
11 | int nPermissions; | 11 | int nPermissions; |
diff --git a/src/ca/scasmbsched.cpp b/src/ca/scasmbsched.cpp index 72536d6d..e29f7f51 100644 --- a/src/ca/scasmbsched.cpp +++ b/src/ca/scasmbsched.cpp | |||
@@ -92,8 +92,8 @@ void ScaExUserPermsSmbFreeList(SCA_SMB_EX_USER_PERMS* pExUserPermsList) | |||
92 | } | 92 | } |
93 | 93 | ||
94 | // sql query constants | 94 | // sql query constants |
95 | LPCWSTR vcsSmbQuery = L"SELECT `FileShare`, `ShareName`, `Description`, `Directory_`, " | 95 | LPCWSTR vcsSmbQuery = L"SELECT `Wix4FileShare`, `ShareName`, `Description`, `Directory_`, " |
96 | L"`Component_`, `User_`, `Permissions` FROM `FileShare`"; | 96 | L"`Component_`, `User_`, `Permissions` FROM `Wix4FileShare`"; |
97 | 97 | ||
98 | enum eSmbQuery { | 98 | enum eSmbQuery { |
99 | ssqFileShare = 1, | 99 | ssqFileShare = 1, |
@@ -122,26 +122,26 @@ HRESULT ScaSmbRead(SCA_SMB** ppssList) | |||
122 | SCA_SMB* pss = NULL; | 122 | SCA_SMB* pss = NULL; |
123 | BOOL bUserPermissionsTableExists = FALSE; | 123 | BOOL bUserPermissionsTableExists = FALSE; |
124 | 124 | ||
125 | if (S_OK != WcaTableExists(L"FileShare")) | 125 | if (S_OK != WcaTableExists(L"Wix4FileShare")) |
126 | { | 126 | { |
127 | WcaLog(LOGMSG_VERBOSE, "Skipping ScaSmbCreateShare() - FileShare table not present"); | 127 | WcaLog(LOGMSG_VERBOSE, "Skipping ScaSmbCreateShare() - Wix4FileShare table not present"); |
128 | ExitFunction1(hr = S_FALSE); | 128 | ExitFunction1(hr = S_FALSE); |
129 | } | 129 | } |
130 | 130 | ||
131 | if (S_OK == WcaTableExists(L"FileSharePermissions")) | 131 | if (S_OK == WcaTableExists(L"Wix4FileSharePermissions")) |
132 | { | 132 | { |
133 | bUserPermissionsTableExists = TRUE; | 133 | bUserPermissionsTableExists = TRUE; |
134 | } | 134 | } |
135 | else | 135 | else |
136 | { | 136 | { |
137 | WcaLog(LOGMSG_VERBOSE, "No Additional Permissions - FileSharePermissions table not present"); | 137 | WcaLog(LOGMSG_VERBOSE, "No Additional Permissions - Wix4FileSharePermissions table not present"); |
138 | } | 138 | } |
139 | 139 | ||
140 | WcaLog(LOGMSG_VERBOSE, "Reading File Share Tables"); | 140 | WcaLog(LOGMSG_VERBOSE, "Reading File Share Tables"); |
141 | 141 | ||
142 | // loop through all the fileshares | 142 | // loop through all the fileshares |
143 | hr = WcaOpenExecuteView(vcsSmbQuery, &hView); | 143 | hr = WcaOpenExecuteView(vcsSmbQuery, &hView); |
144 | ExitOnFailure(hr, "Failed to open view on FileShare table"); | 144 | ExitOnFailure(hr, "Failed to open view on Wix4FileShare table"); |
145 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) | 145 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) |
146 | { | 146 | { |
147 | pss = NewSmb(); | 147 | pss = NewSmb(); |
@@ -154,33 +154,33 @@ HRESULT ScaSmbRead(SCA_SMB** ppssList) | |||
154 | ::ZeroMemory(pss, sizeof(*pss)); | 154 | ::ZeroMemory(pss, sizeof(*pss)); |
155 | 155 | ||
156 | hr = WcaGetRecordString(hRec, ssqFileShare, &pwzData); | 156 | hr = WcaGetRecordString(hRec, ssqFileShare, &pwzData); |
157 | ExitOnFailure(hr, "Failed to get FileShare.FileShare"); | 157 | ExitOnFailure(hr, "Failed to get Wix4FileShare.Wix4FileShare"); |
158 | hr = ::StringCchCopyW(pss->wzId, countof(pss->wzId), pwzData); | 158 | hr = ::StringCchCopyW(pss->wzId, countof(pss->wzId), pwzData); |
159 | ExitOnFailure(hr, "Failed to copy ID string to smb object"); | 159 | ExitOnFailure(hr, "Failed to copy ID string to smb object"); |
160 | 160 | ||
161 | hr = WcaGetRecordFormattedString(hRec, ssqShareName, &pwzData); | 161 | hr = WcaGetRecordFormattedString(hRec, ssqShareName, &pwzData); |
162 | ExitOnFailure(hr, "Failed to get FileShare.ShareName"); | 162 | ExitOnFailure(hr, "Failed to get Wix4FileShare.ShareName"); |
163 | hr = ::StringCchCopyW(pss->wzShareName, countof(pss->wzShareName), pwzData); | 163 | hr = ::StringCchCopyW(pss->wzShareName, countof(pss->wzShareName), pwzData); |
164 | ExitOnFailure(hr, "Failed to copy share name string to smb object"); | 164 | ExitOnFailure(hr, "Failed to copy share name string to smb object"); |
165 | 165 | ||
166 | hr = WcaGetRecordString(hRec, ssqComponent, &pwzData); | 166 | hr = WcaGetRecordString(hRec, ssqComponent, &pwzData); |
167 | ExitOnFailure(hr, "Failed to get Component for FileShare: '%ls'", pss->wzShareName); | 167 | ExitOnFailure(hr, "Failed to get Component for Wix4FileShare: '%ls'", pss->wzShareName); |
168 | hr = ::StringCchCopyW(pss->wzComponent, countof(pss->wzComponent), pwzData); | 168 | hr = ::StringCchCopyW(pss->wzComponent, countof(pss->wzComponent), pwzData); |
169 | ExitOnFailure(hr, "Failed to copy component string to smb object"); | 169 | ExitOnFailure(hr, "Failed to copy component string to smb object"); |
170 | 170 | ||
171 | hr = WcaGetRecordFormattedString(hRec, ssqDescription, &pwzData); | 171 | hr = WcaGetRecordFormattedString(hRec, ssqDescription, &pwzData); |
172 | ExitOnFailure(hr, "Failed to get Share Description for FileShare: '%ls'", pss->wzShareName); | 172 | ExitOnFailure(hr, "Failed to get Share Description for Wix4FileShare: '%ls'", pss->wzShareName); |
173 | hr = ::StringCchCopyW(pss->wzDescription, countof(pss->wzDescription), pwzData); | 173 | hr = ::StringCchCopyW(pss->wzDescription, countof(pss->wzDescription), pwzData); |
174 | ExitOnFailure(hr, "Failed to copy description string to smb object"); | 174 | ExitOnFailure(hr, "Failed to copy description string to smb object"); |
175 | 175 | ||
176 | // get user info from the user table | 176 | // get user info from the user table |
177 | hr = WcaGetRecordFormattedString(hRec, ssqUser, &pwzData); | 177 | hr = WcaGetRecordFormattedString(hRec, ssqUser, &pwzData); |
178 | ExitOnFailure(hr, "Failed to get User record for FileShare: '%ls'", pss->wzShareName); | 178 | ExitOnFailure(hr, "Failed to get Wix4User record for Wix4FileShare: '%ls'", pss->wzShareName); |
179 | 179 | ||
180 | // get component install state | 180 | // get component install state |
181 | er = ::MsiGetComponentStateW(WcaGetInstallHandle(), pss->wzComponent, &pss->isInstalled, &pss->isAction); | 181 | er = ::MsiGetComponentStateW(WcaGetInstallHandle(), pss->wzComponent, &pss->isInstalled, &pss->isAction); |
182 | hr = HRESULT_FROM_WIN32(er); | 182 | hr = HRESULT_FROM_WIN32(er); |
183 | ExitOnFailure(hr, "Failed to get Component state for FileShare"); | 183 | ExitOnFailure(hr, "Failed to get Component state for Wix4FileShare"); |
184 | 184 | ||
185 | // if a user was specified | 185 | // if a user was specified |
186 | if (*pwzData) | 186 | if (*pwzData) |
@@ -200,7 +200,7 @@ HRESULT ScaSmbRead(SCA_SMB** ppssList) | |||
200 | 200 | ||
201 | // get the share's directory | 201 | // get the share's directory |
202 | hr = WcaGetRecordString(hRec, ssqDirectory, &pwzData); | 202 | hr = WcaGetRecordString(hRec, ssqDirectory, &pwzData); |
203 | ExitOnFailure(hr, "Failed to get directory for FileShare: '%ls'", pss->wzShareName); | 203 | ExitOnFailure(hr, "Failed to get directory for Wix4FileShare: '%ls'", pss->wzShareName); |
204 | 204 | ||
205 | WCHAR wzPath[MAX_PATH]; | 205 | WCHAR wzPath[MAX_PATH]; |
206 | DWORD dwLen; | 206 | DWORD dwLen; |
@@ -236,7 +236,7 @@ HRESULT ScaSmbRead(SCA_SMB** ppssList) | |||
236 | ExitOnFailure(hr, "Failed to copy directory string to smb object"); | 236 | ExitOnFailure(hr, "Failed to copy directory string to smb object"); |
237 | 237 | ||
238 | hr = WcaGetRecordInteger(hRec, ssqPermissions, &pss->nPermissions); | 238 | hr = WcaGetRecordInteger(hRec, ssqPermissions, &pss->nPermissions); |
239 | ExitOnFailure(hr, "Failed to get FileShare.Permissions"); | 239 | ExitOnFailure(hr, "Failed to get Wix4FileShare.Permissions"); |
240 | 240 | ||
241 | // Check to see if additional user & permissions are specified for this share | 241 | // Check to see if additional user & permissions are specified for this share |
242 | if (bUserPermissionsTableExists) | 242 | if (bUserPermissionsTableExists) |
@@ -253,7 +253,7 @@ HRESULT ScaSmbRead(SCA_SMB** ppssList) | |||
253 | { | 253 | { |
254 | hr = S_OK; | 254 | hr = S_OK; |
255 | } | 255 | } |
256 | ExitOnFailure(hr, "Failure occured while processing FileShare table"); | 256 | ExitOnFailure(hr, "Failure occured while processing Wix4FileShare table"); |
257 | 257 | ||
258 | LExit: | 258 | LExit: |
259 | // if anything was left over after an error clean it all up | 259 | // if anything was left over after an error clean it all up |
@@ -420,10 +420,10 @@ HRESULT SchedCreateSmb(SCA_SMB* pss) | |||
420 | } | 420 | } |
421 | 421 | ||
422 | // Schedule the rollback first | 422 | // Schedule the rollback first |
423 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"CreateSmbRollback"), pwzRollbackCustomActionData, COST_SMB_DROPSMB); | 423 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"CreateSmbRollback"), pwzRollbackCustomActionData, COST_SMB_DROPSMB); |
424 | ExitOnFailure(hr, "Failed to schedule DropSmb action"); | 424 | ExitOnFailure(hr, "Failed to schedule DropSmb action"); |
425 | 425 | ||
426 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"CreateSmb"), pwzCustomActionData, COST_SMB_CREATESMB); | 426 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"CreateSmb"), pwzCustomActionData, COST_SMB_CREATESMB); |
427 | ExitOnFailure(hr, "Failed to schedule CreateSmb action"); | 427 | ExitOnFailure(hr, "Failed to schedule CreateSmb action"); |
428 | 428 | ||
429 | LExit: | 429 | LExit: |
@@ -511,14 +511,14 @@ HRESULT SchedDropSmb(SCA_SMB* pss) | |||
511 | ExitOnFailure(hr, "Failed to add permissions to CustomActionData"); | 511 | ExitOnFailure(hr, "Failed to add permissions to CustomActionData"); |
512 | } | 512 | } |
513 | 513 | ||
514 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"DropSmbRollback"), pwzRollbackCustomActionData, COST_SMB_CREATESMB); | 514 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"DropSmbRollback"), pwzRollbackCustomActionData, COST_SMB_CREATESMB); |
515 | ExitOnFailure(hr, "Failed to schedule DropSmbRollback action"); | 515 | ExitOnFailure(hr, "Failed to schedule DropSmbRollback action"); |
516 | 516 | ||
517 | // DropSMB | 517 | // DropSMB |
518 | hr = WcaWriteStringToCaData(pss->wzShareName, &pwzCustomActionData); | 518 | hr = WcaWriteStringToCaData(pss->wzShareName, &pwzCustomActionData); |
519 | ExitOnFailure(hr, "failed to add ShareName to CustomActionData"); | 519 | ExitOnFailure(hr, "failed to add ShareName to CustomActionData"); |
520 | 520 | ||
521 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"DropSmb"), pwzCustomActionData, COST_SMB_DROPSMB); | 521 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"DropSmb"), pwzCustomActionData, COST_SMB_DROPSMB); |
522 | ExitOnFailure(hr, "Failed to schedule DropSmb action"); | 522 | ExitOnFailure(hr, "Failed to schedule DropSmb action"); |
523 | 523 | ||
524 | LExit: | 524 | LExit: |
@@ -558,7 +558,7 @@ LExit: | |||
558 | } | 558 | } |
559 | 559 | ||
560 | LPCWSTR vcsSmbExUserPermsQuery = L"SELECT `FileShare_`,`User_`,`Permissions` " | 560 | LPCWSTR vcsSmbExUserPermsQuery = L"SELECT `FileShare_`,`User_`,`Permissions` " |
561 | L"FROM `FileSharePermissions` WHERE `FileShare_`=?"; | 561 | L"FROM `Wix4FileSharePermissions` WHERE `FileShare_`=?"; |
562 | 562 | ||
563 | enum eSmbUserPermsQuery { | 563 | enum eSmbUserPermsQuery { |
564 | ssupqFileShare = 1, | 564 | ssupqFileShare = 1, |
@@ -588,9 +588,9 @@ HRESULT ScaSmbExPermsRead(SCA_SMB* pss) | |||
588 | ExitOnFailure(hr, "Failed to look up FileShare"); | 588 | ExitOnFailure(hr, "Failed to look up FileShare"); |
589 | 589 | ||
590 | hr = WcaOpenView(vcsSmbExUserPermsQuery, &hView); | 590 | hr = WcaOpenView(vcsSmbExUserPermsQuery, &hView); |
591 | ExitOnFailure(hr, "Failed to open view on FileSharePermissions table"); | 591 | ExitOnFailure(hr, "Failed to open view on Wix4FileSharePermissions table"); |
592 | hr = WcaExecuteView(hView, hRec); | 592 | hr = WcaExecuteView(hView, hRec); |
593 | ExitOnFailure(hr, "Failed to execute view on FileSharePermissions table"); | 593 | ExitOnFailure(hr, "Failed to execute view on Wix4FileSharePermissions table"); |
594 | 594 | ||
595 | // loop through all User/Permissions paris returned | 595 | // loop through all User/Permissions paris returned |
596 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) | 596 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) |
@@ -605,12 +605,12 @@ HRESULT ScaSmbExPermsRead(SCA_SMB* pss) | |||
605 | ::ZeroMemory(pExUserPerms, sizeof(*pExUserPerms)); | 605 | ::ZeroMemory(pExUserPerms, sizeof(*pExUserPerms)); |
606 | 606 | ||
607 | hr = WcaGetRecordString(hRec, ssupqUser, &pwzData); | 607 | hr = WcaGetRecordString(hRec, ssupqUser, &pwzData); |
608 | ExitOnFailure(hr, "Failed to get FileSharePermissions.User"); | 608 | ExitOnFailure(hr, "Failed to get Wix4FileSharePermissions.User"); |
609 | hr = ScaGetUser(pwzData, &pExUserPerms->scau); | 609 | hr = ScaGetUser(pwzData, &pExUserPerms->scau); |
610 | ExitOnFailure(hr, "Failed to get user information for fileshare: '%ls'", pss->wzShareName); | 610 | ExitOnFailure(hr, "Failed to get user information for fileshare: '%ls'", pss->wzShareName); |
611 | 611 | ||
612 | hr = WcaGetRecordInteger(hRec, ssupqPermissions, &pExUserPerms->nPermissions); | 612 | hr = WcaGetRecordInteger(hRec, ssupqPermissions, &pExUserPerms->nPermissions); |
613 | ExitOnFailure(hr, "Failed to get FileSharePermissions.Permissions"); | 613 | ExitOnFailure(hr, "Failed to get Wix4FileSharePermissions.Permissions"); |
614 | pExUserPerms->accessMode = SET_ACCESS; // we only support SET_ACCESS here | 614 | pExUserPerms->accessMode = SET_ACCESS; // we only support SET_ACCESS here |
615 | 615 | ||
616 | pExUserPermsList = AddExUserPermsSmbToList(pExUserPermsList, pExUserPerms); | 616 | pExUserPermsList = AddExUserPermsSmbToList(pExUserPermsList, pExUserPerms); |
diff --git a/src/ca/scauser.cpp b/src/ca/scauser.cpp index 43317bdc..0d87301f 100644 --- a/src/ca/scauser.cpp +++ b/src/ca/scauser.cpp | |||
@@ -2,16 +2,16 @@ | |||
2 | 2 | ||
3 | #include "precomp.h" | 3 | #include "precomp.h" |
4 | 4 | ||
5 | LPCWSTR vcsUserQuery = L"SELECT `User`, `Component_`, `Name`, `Domain`, `Password` FROM `User` WHERE `User`=?"; | 5 | LPCWSTR vcsUserQuery = L"SELECT `Wix4User`, `Component_`, `Name`, `Domain`, `Password` FROM `Wix4User` WHERE `Wix4User`=?"; |
6 | enum eUserQuery { vuqUser = 1, vuqComponent, vuqName, vuqDomain, vuqPassword }; | 6 | enum eUserQuery { vuqUser = 1, vuqComponent, vuqName, vuqDomain, vuqPassword }; |
7 | 7 | ||
8 | LPCWSTR vcsGroupQuery = L"SELECT `Group`, `Component_`, `Name`, `Domain` FROM `Group` WHERE `Group`=?"; | 8 | LPCWSTR vcsGroupQuery = L"SELECT `Wix4Group`, `Component_`, `Name`, `Domain` FROM `Wix4Group` WHERE `Wix4Group`=?"; |
9 | enum eGroupQuery { vgqGroup = 1, vgqComponent, vgqName, vgqDomain }; | 9 | enum eGroupQuery { vgqGroup = 1, vgqComponent, vgqName, vgqDomain }; |
10 | 10 | ||
11 | LPCWSTR vcsUserGroupQuery = L"SELECT `User_`, `Group_` FROM `UserGroup` WHERE `User_`=?"; | 11 | LPCWSTR vcsUserGroupQuery = L"SELECT `Wix4User_`, `Wix4Group_` FROM `Wix4UserGroup` WHERE `Wix4User_`=?"; |
12 | enum eUserGroupQuery { vugqUser = 1, vugqGroup }; | 12 | enum eUserGroupQuery { vugqUser = 1, vugqGroup }; |
13 | 13 | ||
14 | LPCWSTR vActionableQuery = L"SELECT `User`,`Component_`,`Name`,`Domain`,`Password`,`Attributes` FROM `User` WHERE `Component_` IS NOT NULL"; | 14 | LPCWSTR vActionableQuery = L"SELECT `Wix4User`,`Component_`,`Name`,`Domain`,`Password`,`Attributes` FROM `Wix4User` WHERE `Component_` IS NOT NULL"; |
15 | enum eActionableQuery { vaqUser = 1, vaqComponent, vaqName, vaqDomain, vaqPassword, vaqAttributes }; | 15 | enum eActionableQuery { vaqUser = 1, vaqComponent, vaqName, vaqDomain, vaqPassword, vaqAttributes }; |
16 | 16 | ||
17 | 17 | ||
@@ -51,46 +51,46 @@ HRESULT __stdcall ScaGetUser( | |||
51 | ExitOnFailure(hr, "Failed to look up User"); | 51 | ExitOnFailure(hr, "Failed to look up User"); |
52 | 52 | ||
53 | hr = WcaOpenView(vcsUserQuery, &hView); | 53 | hr = WcaOpenView(vcsUserQuery, &hView); |
54 | ExitOnFailure(hr, "Failed to open view on User table"); | 54 | ExitOnFailure(hr, "Failed to open view on Wix4User table"); |
55 | hr = WcaExecuteView(hView, hRec); | 55 | hr = WcaExecuteView(hView, hRec); |
56 | ExitOnFailure(hr, "Failed to execute view on User table"); | 56 | ExitOnFailure(hr, "Failed to execute view on Wix4User table"); |
57 | 57 | ||
58 | hr = WcaFetchSingleRecord(hView, &hRec); | 58 | hr = WcaFetchSingleRecord(hView, &hRec); |
59 | if (S_OK == hr) | 59 | if (S_OK == hr) |
60 | { | 60 | { |
61 | hr = WcaGetRecordString(hRec, vuqUser, &pwzData); | 61 | hr = WcaGetRecordString(hRec, vuqUser, &pwzData); |
62 | ExitOnFailure(hr, "Failed to get User.User"); | 62 | ExitOnFailure(hr, "Failed to get Wix4User.User"); |
63 | hr = ::StringCchCopyW(pscau->wzKey, countof(pscau->wzKey), pwzData); | 63 | hr = ::StringCchCopyW(pscau->wzKey, countof(pscau->wzKey), pwzData); |
64 | ExitOnFailure(hr, "Failed to copy key string to user object"); | 64 | ExitOnFailure(hr, "Failed to copy key string to user object"); |
65 | 65 | ||
66 | hr = WcaGetRecordString(hRec, vuqComponent, &pwzData); | 66 | hr = WcaGetRecordString(hRec, vuqComponent, &pwzData); |
67 | ExitOnFailure(hr, "Failed to get User.Component_"); | 67 | ExitOnFailure(hr, "Failed to get Wix4User.Component_"); |
68 | hr = ::StringCchCopyW(pscau->wzComponent, countof(pscau->wzComponent), pwzData); | 68 | hr = ::StringCchCopyW(pscau->wzComponent, countof(pscau->wzComponent), pwzData); |
69 | ExitOnFailure(hr, "Failed to copy component string to user object"); | 69 | ExitOnFailure(hr, "Failed to copy component string to user object"); |
70 | 70 | ||
71 | hr = WcaGetRecordFormattedString(hRec, vuqName, &pwzData); | 71 | hr = WcaGetRecordFormattedString(hRec, vuqName, &pwzData); |
72 | ExitOnFailure(hr, "Failed to get User.Name"); | 72 | ExitOnFailure(hr, "Failed to get Wix4User.Name"); |
73 | hr = ::StringCchCopyW(pscau->wzName, countof(pscau->wzName), pwzData); | 73 | hr = ::StringCchCopyW(pscau->wzName, countof(pscau->wzName), pwzData); |
74 | ExitOnFailure(hr, "Failed to copy name string to user object"); | 74 | ExitOnFailure(hr, "Failed to copy name string to user object"); |
75 | 75 | ||
76 | hr = WcaGetRecordFormattedString(hRec, vuqDomain, &pwzData); | 76 | hr = WcaGetRecordFormattedString(hRec, vuqDomain, &pwzData); |
77 | ExitOnFailure(hr, "Failed to get User.Domain"); | 77 | ExitOnFailure(hr, "Failed to get Wix4User.Domain"); |
78 | hr = ::StringCchCopyW(pscau->wzDomain, countof(pscau->wzDomain), pwzData); | 78 | hr = ::StringCchCopyW(pscau->wzDomain, countof(pscau->wzDomain), pwzData); |
79 | ExitOnFailure(hr, "Failed to copy domain string to user object"); | 79 | ExitOnFailure(hr, "Failed to copy domain string to user object"); |
80 | 80 | ||
81 | hr = WcaGetRecordFormattedString(hRec, vuqPassword, &pwzData); | 81 | hr = WcaGetRecordFormattedString(hRec, vuqPassword, &pwzData); |
82 | ExitOnFailure(hr, "Failed to get User.Password"); | 82 | ExitOnFailure(hr, "Failed to get Wix4User.Password"); |
83 | hr = ::StringCchCopyW(pscau->wzPassword, countof(pscau->wzPassword), pwzData); | 83 | hr = ::StringCchCopyW(pscau->wzPassword, countof(pscau->wzPassword), pwzData); |
84 | ExitOnFailure(hr, "Failed to copy password string to user object"); | 84 | ExitOnFailure(hr, "Failed to copy password string to user object"); |
85 | } | 85 | } |
86 | else if (E_NOMOREITEMS == hr) | 86 | else if (E_NOMOREITEMS == hr) |
87 | { | 87 | { |
88 | WcaLog(LOGMSG_STANDARD, "Error: Cannot locate User.User='%ls'", wzUser); | 88 | WcaLog(LOGMSG_STANDARD, "Error: Cannot locate Wix4User.User='%ls'", wzUser); |
89 | hr = E_FAIL; | 89 | hr = E_FAIL; |
90 | } | 90 | } |
91 | else | 91 | else |
92 | { | 92 | { |
93 | ExitOnFailure(hr, "Error or found multiple matching User rows"); | 93 | ExitOnFailure(hr, "Error or found multiple matching Wix4User rows"); |
94 | } | 94 | } |
95 | 95 | ||
96 | LExit: | 96 | LExit: |
@@ -131,42 +131,42 @@ HRESULT __stdcall ScaGetUserDeferred( | |||
131 | hr = WcaFetchWrappedRecordWhereString(hUserQuery, vuqUser, wzUser, &hRecTest); | 131 | hr = WcaFetchWrappedRecordWhereString(hUserQuery, vuqUser, wzUser, &hRecTest); |
132 | if (S_OK == hr) | 132 | if (S_OK == hr) |
133 | { | 133 | { |
134 | AssertSz(FALSE, "Found multiple matching User rows"); | 134 | AssertSz(FALSE, "Found multiple matching Wix4User rows"); |
135 | } | 135 | } |
136 | 136 | ||
137 | hr = WcaGetRecordString(hRec, vuqUser, &pwzData); | 137 | hr = WcaGetRecordString(hRec, vuqUser, &pwzData); |
138 | ExitOnFailure(hr, "Failed to get User.User"); | 138 | ExitOnFailure(hr, "Failed to get Wix4User.User"); |
139 | hr = ::StringCchCopyW(pscau->wzKey, countof(pscau->wzKey), pwzData); | 139 | hr = ::StringCchCopyW(pscau->wzKey, countof(pscau->wzKey), pwzData); |
140 | ExitOnFailure(hr, "Failed to copy key string to user object (in deferred CA)"); | 140 | ExitOnFailure(hr, "Failed to copy key string to user object (in deferred CA)"); |
141 | 141 | ||
142 | hr = WcaGetRecordString(hRec, vuqComponent, &pwzData); | 142 | hr = WcaGetRecordString(hRec, vuqComponent, &pwzData); |
143 | ExitOnFailure(hr, "Failed to get User.Component_"); | 143 | ExitOnFailure(hr, "Failed to get Wix4User.Component_"); |
144 | hr = ::StringCchCopyW(pscau->wzComponent, countof(pscau->wzComponent), pwzData); | 144 | hr = ::StringCchCopyW(pscau->wzComponent, countof(pscau->wzComponent), pwzData); |
145 | ExitOnFailure(hr, "Failed to copy component string to user object (in deferred CA)"); | 145 | ExitOnFailure(hr, "Failed to copy component string to user object (in deferred CA)"); |
146 | 146 | ||
147 | hr = WcaGetRecordString(hRec, vuqName, &pwzData); | 147 | hr = WcaGetRecordString(hRec, vuqName, &pwzData); |
148 | ExitOnFailure(hr, "Failed to get User.Name"); | 148 | ExitOnFailure(hr, "Failed to get Wix4User.Name"); |
149 | hr = ::StringCchCopyW(pscau->wzName, countof(pscau->wzName), pwzData); | 149 | hr = ::StringCchCopyW(pscau->wzName, countof(pscau->wzName), pwzData); |
150 | ExitOnFailure(hr, "Failed to copy name string to user object (in deferred CA)"); | 150 | ExitOnFailure(hr, "Failed to copy name string to user object (in deferred CA)"); |
151 | 151 | ||
152 | hr = WcaGetRecordString(hRec, vuqDomain, &pwzData); | 152 | hr = WcaGetRecordString(hRec, vuqDomain, &pwzData); |
153 | ExitOnFailure(hr, "Failed to get User.Domain"); | 153 | ExitOnFailure(hr, "Failed to get Wix4User.Domain"); |
154 | hr = ::StringCchCopyW(pscau->wzDomain, countof(pscau->wzDomain), pwzData); | 154 | hr = ::StringCchCopyW(pscau->wzDomain, countof(pscau->wzDomain), pwzData); |
155 | ExitOnFailure(hr, "Failed to copy domain string to user object (in deferred CA)"); | 155 | ExitOnFailure(hr, "Failed to copy domain string to user object (in deferred CA)"); |
156 | 156 | ||
157 | hr = WcaGetRecordString(hRec, vuqPassword, &pwzData); | 157 | hr = WcaGetRecordString(hRec, vuqPassword, &pwzData); |
158 | ExitOnFailure(hr, "Failed to get User.Password"); | 158 | ExitOnFailure(hr, "Failed to get Wix4User.Password"); |
159 | hr = ::StringCchCopyW(pscau->wzPassword, countof(pscau->wzPassword), pwzData); | 159 | hr = ::StringCchCopyW(pscau->wzPassword, countof(pscau->wzPassword), pwzData); |
160 | ExitOnFailure(hr, "Failed to copy password string to user object (in deferred CA)"); | 160 | ExitOnFailure(hr, "Failed to copy password string to user object (in deferred CA)"); |
161 | } | 161 | } |
162 | else if (E_NOMOREITEMS == hr) | 162 | else if (E_NOMOREITEMS == hr) |
163 | { | 163 | { |
164 | WcaLog(LOGMSG_STANDARD, "Error: Cannot locate User.User='%ls'", wzUser); | 164 | WcaLog(LOGMSG_STANDARD, "Error: Cannot locate Wix4User.User='%ls'", wzUser); |
165 | hr = E_FAIL; | 165 | hr = E_FAIL; |
166 | } | 166 | } |
167 | else | 167 | else |
168 | { | 168 | { |
169 | ExitOnFailure(hr, "Error fetching single User row"); | 169 | ExitOnFailure(hr, "Error fetching single Wix4User row"); |
170 | } | 170 | } |
171 | 171 | ||
172 | LExit: | 172 | LExit: |
@@ -196,41 +196,41 @@ HRESULT __stdcall ScaGetGroup( | |||
196 | ExitOnFailure(hr, "Failed to look up Group"); | 196 | ExitOnFailure(hr, "Failed to look up Group"); |
197 | 197 | ||
198 | hr = WcaOpenView(vcsGroupQuery, &hView); | 198 | hr = WcaOpenView(vcsGroupQuery, &hView); |
199 | ExitOnFailure(hr, "Failed to open view on Group table"); | 199 | ExitOnFailure(hr, "Failed to open view on Wix4Group table"); |
200 | hr = WcaExecuteView(hView, hRec); | 200 | hr = WcaExecuteView(hView, hRec); |
201 | ExitOnFailure(hr, "Failed to execute view on Group table"); | 201 | ExitOnFailure(hr, "Failed to execute view on Wix4Group table"); |
202 | 202 | ||
203 | hr = WcaFetchSingleRecord(hView, &hRec); | 203 | hr = WcaFetchSingleRecord(hView, &hRec); |
204 | if (S_OK == hr) | 204 | if (S_OK == hr) |
205 | { | 205 | { |
206 | hr = WcaGetRecordString(hRec, vgqGroup, &pwzData); | 206 | hr = WcaGetRecordString(hRec, vgqGroup, &pwzData); |
207 | ExitOnFailure(hr, "Failed to get Group.Group"); | 207 | ExitOnFailure(hr, "Failed to get Wix4Group.Wix4Group."); |
208 | hr = ::StringCchCopyW(pscag->wzKey, countof(pscag->wzKey), pwzData); | 208 | hr = ::StringCchCopyW(pscag->wzKey, countof(pscag->wzKey), pwzData); |
209 | ExitOnFailure(hr, "Failed to copy Group.Group."); | 209 | ExitOnFailure(hr, "Failed to copy Wix4Group.Wix4Group."); |
210 | 210 | ||
211 | hr = WcaGetRecordString(hRec, vgqComponent, &pwzData); | 211 | hr = WcaGetRecordString(hRec, vgqComponent, &pwzData); |
212 | ExitOnFailure(hr, "Failed to get Group.Component_"); | 212 | ExitOnFailure(hr, "Failed to get Wix4Group.Component_"); |
213 | hr = ::StringCchCopyW(pscag->wzComponent, countof(pscag->wzComponent), pwzData); | 213 | hr = ::StringCchCopyW(pscag->wzComponent, countof(pscag->wzComponent), pwzData); |
214 | ExitOnFailure(hr, "Failed to copy Group.Component_."); | 214 | ExitOnFailure(hr, "Failed to copy Wix4Group.Component_."); |
215 | 215 | ||
216 | hr = WcaGetRecordFormattedString(hRec, vgqName, &pwzData); | 216 | hr = WcaGetRecordFormattedString(hRec, vgqName, &pwzData); |
217 | ExitOnFailure(hr, "Failed to get Group.Name"); | 217 | ExitOnFailure(hr, "Failed to get Wix4Group.Name"); |
218 | hr = ::StringCchCopyW(pscag->wzName, countof(pscag->wzName), pwzData); | 218 | hr = ::StringCchCopyW(pscag->wzName, countof(pscag->wzName), pwzData); |
219 | ExitOnFailure(hr, "Failed to copy Group.Name."); | 219 | ExitOnFailure(hr, "Failed to copy Wix4Group.Name."); |
220 | 220 | ||
221 | hr = WcaGetRecordFormattedString(hRec, vgqDomain, &pwzData); | 221 | hr = WcaGetRecordFormattedString(hRec, vgqDomain, &pwzData); |
222 | ExitOnFailure(hr, "Failed to get Group.Domain"); | 222 | ExitOnFailure(hr, "Failed to get Wix4Group.Domain"); |
223 | hr = ::StringCchCopyW(pscag->wzDomain, countof(pscag->wzDomain), pwzData); | 223 | hr = ::StringCchCopyW(pscag->wzDomain, countof(pscag->wzDomain), pwzData); |
224 | ExitOnFailure(hr, "Failed to copy Group.Domain."); | 224 | ExitOnFailure(hr, "Failed to copy Wix4Group.Domain."); |
225 | } | 225 | } |
226 | else if (E_NOMOREITEMS == hr) | 226 | else if (E_NOMOREITEMS == hr) |
227 | { | 227 | { |
228 | WcaLog(LOGMSG_STANDARD, "Error: Cannot locate Group.Group='%ls'", wzGroup); | 228 | WcaLog(LOGMSG_STANDARD, "Error: Cannot locate Wix4Group.Wix4Group='%ls'", wzGroup); |
229 | hr = E_FAIL; | 229 | hr = E_FAIL; |
230 | } | 230 | } |
231 | else | 231 | else |
232 | { | 232 | { |
233 | ExitOnFailure(hr, "Error or found multiple matching Group rows"); | 233 | ExitOnFailure(hr, "Error or found multiple matching Wix4Group rows"); |
234 | } | 234 | } |
235 | 235 | ||
236 | LExit: | 236 | LExit: |
@@ -284,19 +284,19 @@ HRESULT ScaUserRead( | |||
284 | 284 | ||
285 | LPWSTR pwzData = NULL; | 285 | LPWSTR pwzData = NULL; |
286 | 286 | ||
287 | BOOL fUserGroupExists = FALSE; | 287 | BOOL fUserGroupExists = FALSE; |
288 | 288 | ||
289 | SCA_USER *psu = NULL; | 289 | SCA_USER *psu = NULL; |
290 | 290 | ||
291 | INSTALLSTATE isInstalled, isAction; | 291 | INSTALLSTATE isInstalled, isAction; |
292 | 292 | ||
293 | if (S_OK != WcaTableExists(L"User")) | 293 | if (S_OK != WcaTableExists(L"Wix4User")) |
294 | { | 294 | { |
295 | WcaLog(LOGMSG_VERBOSE, "User Table does not exist, exiting"); | 295 | WcaLog(LOGMSG_VERBOSE, "Wix4User Table does not exist, exiting"); |
296 | ExitFunction1(hr = S_FALSE); | 296 | ExitFunction1(hr = S_FALSE); |
297 | } | 297 | } |
298 | 298 | ||
299 | if (S_OK == WcaTableExists(L"UserGroup")) | 299 | if (S_OK == WcaTableExists(L"Wix4UserGroup")) |
300 | { | 300 | { |
301 | fUserGroupExists = TRUE; | 301 | fUserGroupExists = TRUE; |
302 | } | 302 | } |
@@ -305,15 +305,15 @@ HRESULT ScaUserRead( | |||
305 | // loop through all the users | 305 | // loop through all the users |
306 | // | 306 | // |
307 | hr = WcaOpenExecuteView(vActionableQuery, &hView); | 307 | hr = WcaOpenExecuteView(vActionableQuery, &hView); |
308 | ExitOnFailure(hr, "failed to open view on User table"); | 308 | ExitOnFailure(hr, "failed to open view on Wix4User table"); |
309 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) | 309 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) |
310 | { | 310 | { |
311 | hr = WcaGetRecordString(hRec, vaqComponent, &pwzData); | 311 | hr = WcaGetRecordString(hRec, vaqComponent, &pwzData); |
312 | ExitOnFailure(hr, "failed to get User.Component"); | 312 | ExitOnFailure(hr, "failed to get Wix4User.Component"); |
313 | 313 | ||
314 | er = ::MsiGetComponentStateW(WcaGetInstallHandle(), pwzData, &isInstalled, &isAction); | 314 | er = ::MsiGetComponentStateW(WcaGetInstallHandle(), pwzData, &isInstalled, &isAction); |
315 | hr = HRESULT_FROM_WIN32(er); | 315 | hr = HRESULT_FROM_WIN32(er); |
316 | ExitOnFailure(hr, "failed to get Component state for User"); | 316 | ExitOnFailure(hr, "failed to get Component state for Wix4User"); |
317 | 317 | ||
318 | // don't bother if we aren't installing or uninstalling this component | 318 | // don't bother if we aren't installing or uninstalling this component |
319 | if (WcaIsInstalling(isInstalled, isAction) || WcaIsUninstalling(isInstalled, isAction)) | 319 | if (WcaIsInstalling(isInstalled, isAction) || WcaIsUninstalling(isInstalled, isAction)) |
@@ -332,44 +332,44 @@ HRESULT ScaUserRead( | |||
332 | ExitOnFailure(hr, "failed to copy component name: %ls", pwzData); | 332 | ExitOnFailure(hr, "failed to copy component name: %ls", pwzData); |
333 | 333 | ||
334 | hr = WcaGetRecordString(hRec, vaqUser, &pwzData); | 334 | hr = WcaGetRecordString(hRec, vaqUser, &pwzData); |
335 | ExitOnFailure(hr, "failed to get User.User"); | 335 | ExitOnFailure(hr, "failed to get Wix4User.User"); |
336 | hr = ::StringCchCopyW(psu->wzKey, countof(psu->wzKey), pwzData); | 336 | hr = ::StringCchCopyW(psu->wzKey, countof(psu->wzKey), pwzData); |
337 | ExitOnFailure(hr, "failed to copy user key: %ls", pwzData); | 337 | ExitOnFailure(hr, "failed to copy user key: %ls", pwzData); |
338 | 338 | ||
339 | hr = WcaGetRecordFormattedString(hRec, vaqName, &pwzData); | 339 | hr = WcaGetRecordFormattedString(hRec, vaqName, &pwzData); |
340 | ExitOnFailure(hr, "failed to get User.Name"); | 340 | ExitOnFailure(hr, "failed to get Wix4User.Name"); |
341 | hr = ::StringCchCopyW(psu->wzName, countof(psu->wzName), pwzData); | 341 | hr = ::StringCchCopyW(psu->wzName, countof(psu->wzName), pwzData); |
342 | ExitOnFailure(hr, "failed to copy user name: %ls", pwzData); | 342 | ExitOnFailure(hr, "failed to copy user name: %ls", pwzData); |
343 | 343 | ||
344 | hr = WcaGetRecordFormattedString(hRec, vaqDomain, &pwzData); | 344 | hr = WcaGetRecordFormattedString(hRec, vaqDomain, &pwzData); |
345 | ExitOnFailure(hr, "failed to get User.Domain"); | 345 | ExitOnFailure(hr, "failed to get Wix4User.Domain"); |
346 | hr = ::StringCchCopyW(psu->wzDomain, countof(psu->wzDomain), pwzData); | 346 | hr = ::StringCchCopyW(psu->wzDomain, countof(psu->wzDomain), pwzData); |
347 | ExitOnFailure(hr, "failed to copy user domain: %ls", pwzData); | 347 | ExitOnFailure(hr, "failed to copy user domain: %ls", pwzData); |
348 | 348 | ||
349 | hr = WcaGetRecordFormattedString(hRec, vaqPassword, &pwzData); | 349 | hr = WcaGetRecordFormattedString(hRec, vaqPassword, &pwzData); |
350 | ExitOnFailure(hr, "failed to get User.Password"); | 350 | ExitOnFailure(hr, "failed to get Wix4User.Password"); |
351 | hr = ::StringCchCopyW(psu->wzPassword, countof(psu->wzPassword), pwzData); | 351 | hr = ::StringCchCopyW(psu->wzPassword, countof(psu->wzPassword), pwzData); |
352 | ExitOnFailure(hr, "failed to copy user password"); | 352 | ExitOnFailure(hr, "failed to copy user password"); |
353 | 353 | ||
354 | hr = WcaGetRecordInteger(hRec, vaqAttributes, &psu->iAttributes); | 354 | hr = WcaGetRecordInteger(hRec, vaqAttributes, &psu->iAttributes); |
355 | ExitOnFailure(hr, "failed to get User.Attributes"); | 355 | ExitOnFailure(hr, "failed to get Wix4User.Attributes"); |
356 | 356 | ||
357 | // Check if this user is to be added to any groups | 357 | // Check if this user is to be added to any groups |
358 | if (fUserGroupExists) | 358 | if (fUserGroupExists) |
359 | { | 359 | { |
360 | hUserRec = ::MsiCreateRecord(1); | 360 | hUserRec = ::MsiCreateRecord(1); |
361 | hr = WcaSetRecordString(hUserRec, 1, psu->wzKey); | 361 | hr = WcaSetRecordString(hUserRec, 1, psu->wzKey); |
362 | ExitOnFailure(hr, "Failed to create user record for querying UserGroup table"); | 362 | ExitOnFailure(hr, "Failed to create user record for querying Wix4UserGroup table"); |
363 | 363 | ||
364 | hr = WcaOpenView(vcsUserGroupQuery, &hUserGroupView); | 364 | hr = WcaOpenView(vcsUserGroupQuery, &hUserGroupView); |
365 | ExitOnFailure(hr, "Failed to open view on UserGroup table for user %ls", psu->wzKey); | 365 | ExitOnFailure(hr, "Failed to open view on Wix4UserGroup table for user %ls", psu->wzKey); |
366 | hr = WcaExecuteView(hUserGroupView, hUserRec); | 366 | hr = WcaExecuteView(hUserGroupView, hUserRec); |
367 | ExitOnFailure(hr, "Failed to execute view on UserGroup table for user: %ls", psu->wzKey); | 367 | ExitOnFailure(hr, "Failed to execute view on Wix4UserGroup table for user: %ls", psu->wzKey); |
368 | 368 | ||
369 | while (S_OK == (hr = WcaFetchRecord(hUserGroupView, &hRec))) | 369 | while (S_OK == (hr = WcaFetchRecord(hUserGroupView, &hRec))) |
370 | { | 370 | { |
371 | hr = WcaGetRecordString(hRec, vugqGroup, &pwzData); | 371 | hr = WcaGetRecordString(hRec, vugqGroup, &pwzData); |
372 | ExitOnFailure(hr, "failed to get UserGroup.Group"); | 372 | ExitOnFailure(hr, "failed to get Wix4UserGroup.Group"); |
373 | 373 | ||
374 | hr = AddGroupToList(&(psu->psgGroups)); | 374 | hr = AddGroupToList(&(psu->psgGroups)); |
375 | ExitOnFailure(hr, "failed to add group to list"); | 375 | ExitOnFailure(hr, "failed to add group to list"); |
@@ -382,7 +382,7 @@ HRESULT ScaUserRead( | |||
382 | { | 382 | { |
383 | hr = S_OK; | 383 | hr = S_OK; |
384 | } | 384 | } |
385 | ExitOnFailure(hr, "failed to enumerate selected rows from UserGroup table"); | 385 | ExitOnFailure(hr, "failed to enumerate selected rows from Wix4UserGroup table"); |
386 | } | 386 | } |
387 | } | 387 | } |
388 | } | 388 | } |
@@ -391,7 +391,7 @@ HRESULT ScaUserRead( | |||
391 | { | 391 | { |
392 | hr = S_OK; | 392 | hr = S_OK; |
393 | } | 393 | } |
394 | ExitOnFailure(hr, "failed to enumerate selected rows from User table"); | 394 | ExitOnFailure(hr, "failed to enumerate selected rows from Wix4User table"); |
395 | 395 | ||
396 | LExit: | 396 | LExit: |
397 | ReleaseStr(pwzData); | 397 | ReleaseStr(pwzData); |
@@ -581,7 +581,7 @@ HRESULT ScaUserExecute( | |||
581 | ExitOnFailure(hr, "failed to add group information to rollback custom action data"); | 581 | ExitOnFailure(hr, "failed to add group information to rollback custom action data"); |
582 | } | 582 | } |
583 | 583 | ||
584 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"CreateUserRollback"), pwzRollbackData, COST_USER_DELETE); | 584 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"CreateUserRollback"), pwzRollbackData, COST_USER_DELETE); |
585 | ExitOnFailure(hr, "failed to schedule CreateUserRollback"); | 585 | ExitOnFailure(hr, "failed to schedule CreateUserRollback"); |
586 | } | 586 | } |
587 | 587 | ||
@@ -595,7 +595,7 @@ HRESULT ScaUserExecute( | |||
595 | hr = WriteGroupInfo(psu->psgGroups, &pwzActionData); | 595 | hr = WriteGroupInfo(psu->psgGroups, &pwzActionData); |
596 | ExitOnFailure(hr, "failed to add group information to custom action data"); | 596 | ExitOnFailure(hr, "failed to add group information to custom action data"); |
597 | 597 | ||
598 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"CreateUser"), pwzActionData, COST_USER_ADD); | 598 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"CreateUser"), pwzActionData, COST_USER_ADD); |
599 | ExitOnFailure(hr, "failed to schedule CreateUser"); | 599 | ExitOnFailure(hr, "failed to schedule CreateUser"); |
600 | } | 600 | } |
601 | else if (((USER_EXISTS_YES == ueUserExists) || (USER_EXISTS_INDETERMINATE == ueUserExists)) && WcaIsUninstalling(psu->isInstalled, psu->isAction) && !(psu->iAttributes & SCAU_DONT_REMOVE_ON_UNINSTALL)) | 601 | else if (((USER_EXISTS_YES == ueUserExists) || (USER_EXISTS_INDETERMINATE == ueUserExists)) && WcaIsUninstalling(psu->isInstalled, psu->isAction) && !(psu->iAttributes & SCAU_DONT_REMOVE_ON_UNINSTALL)) |
@@ -610,7 +610,7 @@ HRESULT ScaUserExecute( | |||
610 | // | 610 | // |
611 | // Note: We can't rollback the removal of a user which is why RemoveUser is a commit | 611 | // Note: We can't rollback the removal of a user which is why RemoveUser is a commit |
612 | // CustomAction. | 612 | // CustomAction. |
613 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"RemoveUser"), pwzActionData, COST_USER_DELETE); | 613 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RemoveUser"), pwzActionData, COST_USER_DELETE); |
614 | ExitOnFailure(hr, "failed to schedule RemoveUser"); | 614 | ExitOnFailure(hr, "failed to schedule RemoveUser"); |
615 | } | 615 | } |
616 | 616 | ||
diff --git a/src/ca/secureobj.cpp b/src/ca/secureobj.cpp index f6d1406a..392945d9 100644 --- a/src/ca/secureobj.cpp +++ b/src/ca/secureobj.cpp | |||
@@ -3,9 +3,9 @@ | |||
3 | #include "precomp.h" | 3 | #include "precomp.h" |
4 | 4 | ||
5 | // structs | 5 | // structs |
6 | LPCWSTR wzQUERY_SECUREOBJECTS = L"SELECT `SecureObjects`.`SecureObject`, `SecureObjects`.`Table`, `SecureObjects`.`Domain`, `SecureObjects`.`User`, " | 6 | LPCWSTR wzQUERY_SECUREOBJECTS = L"SELECT `Wix4SecureObject`.`Wix4SecureObject`, `Wix4SecureObject`.`Table`, `Wix4SecureObject`.`Domain`, `Wix4SecureObject`.`User`, " |
7 | L"`SecureObjects`.`Permission`, `SecureObjects`.`Component_`, `Component`.`Attributes` FROM `SecureObjects`,`Component` WHERE " | 7 | L"`Wix4SecureObject`.`Permission`, `Wix4SecureObject`.`Component_`, `Component`.`Attributes` FROM `Wix4SecureObject`,`Component` WHERE " |
8 | L"`SecureObjects`.`Component_`=`Component`.`Component`"; | 8 | L"`Wix4SecureObject`.`Component_`=`Component`.`Component`"; |
9 | enum eQUERY_SECUREOBJECTS { QSO_SECUREOBJECT = 1, QSO_TABLE, QSO_DOMAIN, QSO_USER, QSO_PERMISSION, QSO_COMPONENT, QSO_COMPATTRIBUTES }; | 9 | enum eQUERY_SECUREOBJECTS { QSO_SECUREOBJECT = 1, QSO_TABLE, QSO_DOMAIN, QSO_USER, QSO_PERMISSION, QSO_COMPONENT, QSO_COMPATTRIBUTES }; |
10 | 10 | ||
11 | LPCWSTR wzQUERY_REGISTRY = L"SELECT `Registry`.`Registry`, `Registry`.`Root`, `Registry`.`Key` FROM `Registry` WHERE `Registry`.`Registry`=?"; | 11 | LPCWSTR wzQUERY_REGISTRY = L"SELECT `Registry`.`Registry`, `Registry`.`Root`, `Registry`.`Key` FROM `Registry` WHERE `Registry`.`Registry`=?"; |
@@ -142,7 +142,7 @@ static HRESULT StoreACLRollbackInfo( | |||
142 | ExitOnFailure(hr, "failed to add data to rollback CustomActionData"); | 142 | ExitOnFailure(hr, "failed to add data to rollback CustomActionData"); |
143 | } | 143 | } |
144 | 144 | ||
145 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"ExecSecureObjectsRollback"), pwzCustomActionData, COST_SECUREOBJECT); | 145 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"ExecSecureObjectsRollback"), pwzCustomActionData, COST_SECUREOBJECT); |
146 | ExitOnFailure(hr, "failed to schedule ExecSecureObjectsRollback for item: %ls of type: %ls", pwzObject, pwzTable); | 146 | ExitOnFailure(hr, "failed to schedule ExecSecureObjectsRollback for item: %ls of type: %ls", pwzObject, pwzTable); |
147 | 147 | ||
148 | ReleaseStr(pwzCustomActionData); | 148 | ReleaseStr(pwzCustomActionData); |
@@ -343,9 +343,9 @@ extern "C" UINT __stdcall SchedSecureObjects( | |||
343 | ExitOnFailure(hr, "failed to initialize"); | 343 | ExitOnFailure(hr, "failed to initialize"); |
344 | 344 | ||
345 | // anything to do? | 345 | // anything to do? |
346 | if (S_OK != WcaTableExists(L"SecureObjects")) | 346 | if (S_OK != WcaTableExists(L"Wix4SecureObject")) |
347 | { | 347 | { |
348 | WcaLog(LOGMSG_STANDARD, "SecureObjects table doesn't exist, so there are no objects to secure."); | 348 | WcaLog(LOGMSG_STANDARD, "Wix4SecureObject table doesn't exist, so there are no objects to secure."); |
349 | ExitFunction(); | 349 | ExitFunction(); |
350 | } | 350 | } |
351 | 351 | ||
@@ -353,7 +353,7 @@ extern "C" UINT __stdcall SchedSecureObjects( | |||
353 | // loop through all the objects to be secured | 353 | // loop through all the objects to be secured |
354 | // | 354 | // |
355 | hr = WcaOpenExecuteView(wzQUERY_SECUREOBJECTS, &hView); | 355 | hr = WcaOpenExecuteView(wzQUERY_SECUREOBJECTS, &hView); |
356 | ExitOnFailure(hr, "failed to open view on SecureObjects table"); | 356 | ExitOnFailure(hr, "failed to open view on Wix4SecureObject table"); |
357 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) | 357 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) |
358 | { | 358 | { |
359 | hr = WcaGetRecordString(hRec, QSO_TABLE, &pwzTable); | 359 | hr = WcaGetRecordString(hRec, QSO_TABLE, &pwzTable); |
@@ -372,7 +372,7 @@ extern "C" UINT __stdcall SchedSecureObjects( | |||
372 | 372 | ||
373 | BOOL fIs64Bit = iCompAttributes & msidbComponentAttributes64bit; | 373 | BOOL fIs64Bit = iCompAttributes & msidbComponentAttributes64bit; |
374 | 374 | ||
375 | // Only process entries in the SecureObjects table whose components match the bitness of this CA | 375 | // Only process entries in the Wix4SecureObject table whose components match the bitness of this CA |
376 | #ifdef _WIN64 | 376 | #ifdef _WIN64 |
377 | if (!fIs64Bit) | 377 | if (!fIs64Bit) |
378 | { | 378 | { |
@@ -444,7 +444,7 @@ extern "C" UINT __stdcall SchedSecureObjects( | |||
444 | { | 444 | { |
445 | Assert(0 < cObjects); | 445 | Assert(0 < cObjects); |
446 | 446 | ||
447 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"ExecSecureObjects"), pwzCustomActionData, cObjects * COST_SECUREOBJECT); | 447 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"ExecSecureObjects"), pwzCustomActionData, cObjects * COST_SECUREOBJECT); |
448 | ExitOnFailure(hr, "failed to schedule ExecSecureObjects action"); | 448 | ExitOnFailure(hr, "failed to schedule ExecSecureObjects action"); |
449 | } | 449 | } |
450 | 450 | ||
@@ -497,7 +497,7 @@ extern "C" UINT __stdcall SchedSecureObjectsRollback( | |||
497 | // loop through all the objects to be secured | 497 | // loop through all the objects to be secured |
498 | // | 498 | // |
499 | hr = WcaOpenExecuteView(wzQUERY_SECUREOBJECTS, &hView); | 499 | hr = WcaOpenExecuteView(wzQUERY_SECUREOBJECTS, &hView); |
500 | ExitOnFailure(hr, "failed to open view on SecureObjects table"); | 500 | ExitOnFailure(hr, "failed to open view on Wix4SecureObject table"); |
501 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) | 501 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) |
502 | { | 502 | { |
503 | hr = WcaGetRecordString(hRec, QSO_TABLE, &pwzTable); | 503 | hr = WcaGetRecordString(hRec, QSO_TABLE, &pwzTable); |
@@ -516,7 +516,7 @@ extern "C" UINT __stdcall SchedSecureObjectsRollback( | |||
516 | 516 | ||
517 | BOOL fIs64Bit = iCompAttributes & msidbComponentAttributes64bit; | 517 | BOOL fIs64Bit = iCompAttributes & msidbComponentAttributes64bit; |
518 | 518 | ||
519 | // Only process entries in the SecureObjects table whose components match the bitness of this CA | 519 | // Only process entries in the Wix4SecureObject table whose components match the bitness of this CA |
520 | #ifdef _WIN64 | 520 | #ifdef _WIN64 |
521 | if (!fIs64Bit) | 521 | if (!fIs64Bit) |
522 | { | 522 | { |
diff --git a/src/ca/serviceconfig.cpp b/src/ca/serviceconfig.cpp index c2b77035..04b25ffa 100644 --- a/src/ca/serviceconfig.cpp +++ b/src/ca/serviceconfig.cpp | |||
@@ -3,7 +3,7 @@ | |||
3 | #include "precomp.h" | 3 | #include "precomp.h" |
4 | 4 | ||
5 | // structs | 5 | // structs |
6 | LPCWSTR wzQUERY_SERVICECONFIG = L"SELECT `ServiceName`, `Component_`, `NewService`, `FirstFailureActionType`, `SecondFailureActionType`, `ThirdFailureActionType`, `ResetPeriodInDays`, `RestartServiceDelayInSeconds`, `ProgramCommandLine`, `RebootMessage` FROM `ServiceConfig`"; | 6 | LPCWSTR wzQUERY_SERVICECONFIG = L"SELECT `ServiceName`, `Component_`, `NewService`, `FirstFailureActionType`, `SecondFailureActionType`, `ThirdFailureActionType`, `ResetPeriodInDays`, `RestartServiceDelayInSeconds`, `ProgramCommandLine`, `RebootMessage` FROM `Wix4ServiceConfig`"; |
7 | enum eQUERY_SERVICECONFIG { QSC_SERVICENAME = 1, QSC_COMPONENT, QSC_NEWSERVICE, QSC_FIRSTFAILUREACTIONTYPE, QSC_SECONDFAILUREACTIONTYPE, QSC_THIRDFAILUREACTIONTYPE, QSC_RESETPERIODINDAYS, QSC_RESTARTSERVICEDELAYINSECONDS, QSC_PROGRAMCOMMANDLINE, QSC_REBOOTMESSAGE }; | 7 | enum eQUERY_SERVICECONFIG { QSC_SERVICENAME = 1, QSC_COMPONENT, QSC_NEWSERVICE, QSC_FIRSTFAILUREACTIONTYPE, QSC_SECONDFAILUREACTIONTYPE, QSC_THIRDFAILUREACTIONTYPE, QSC_RESETPERIODINDAYS, QSC_RESTARTSERVICEDELAYINSECONDS, QSC_PROGRAMCOMMANDLINE, QSC_REBOOTMESSAGE }; |
8 | 8 | ||
9 | // consts | 9 | // consts |
@@ -81,7 +81,7 @@ extern "C" UINT __stdcall SchedServiceConfig( | |||
81 | 81 | ||
82 | // Loop through all the services to be configured. | 82 | // Loop through all the services to be configured. |
83 | hr = WcaOpenExecuteView(wzQUERY_SERVICECONFIG, &hView); | 83 | hr = WcaOpenExecuteView(wzQUERY_SERVICECONFIG, &hView); |
84 | ExitOnFailure(hr, "Failed to open view on ServiceConfig table."); | 84 | ExitOnFailure(hr, "Failed to open view on Wix4ServiceConfig table."); |
85 | 85 | ||
86 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) | 86 | while (S_OK == (hr = WcaFetchRecord(hView, &hRec))) |
87 | { | 87 | { |
@@ -106,7 +106,7 @@ extern "C" UINT __stdcall SchedServiceConfig( | |||
106 | ExitOnFailure(hr, "Failed to add name to CustomActionData."); | 106 | ExitOnFailure(hr, "Failed to add name to CustomActionData."); |
107 | 107 | ||
108 | hr = WcaGetRecordInteger(hRec, QSC_NEWSERVICE, &iData); | 108 | hr = WcaGetRecordInteger(hRec, QSC_NEWSERVICE, &iData); |
109 | ExitOnFailure(hr, "Failed to get ServiceConfig.NewService."); | 109 | ExitOnFailure(hr, "Failed to get Wix4ServiceConfig.NewService."); |
110 | hr = WcaWriteIntegerToCaData(0 != iData, &pwzCustomActionData); | 110 | hr = WcaWriteIntegerToCaData(0 != iData, &pwzCustomActionData); |
111 | ExitOnFailure(hr, "Failed to add NewService data to CustomActionData"); | 111 | ExitOnFailure(hr, "Failed to add NewService data to CustomActionData"); |
112 | 112 | ||
@@ -167,10 +167,10 @@ extern "C" UINT __stdcall SchedServiceConfig( | |||
167 | // setup CustomActionData and add to progress bar for download | 167 | // setup CustomActionData and add to progress bar for download |
168 | if (0 < cServices) | 168 | if (0 < cServices) |
169 | { | 169 | { |
170 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"RollbackServiceConfig"), pwzScriptKey, cServices * COST_SERVICECONFIG); | 170 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RollbackServiceConfig"), pwzScriptKey, cServices * COST_SERVICECONFIG); |
171 | ExitOnFailure(hr, "failed to schedule RollbackServiceConfig action"); | 171 | ExitOnFailure(hr, "failed to schedule RollbackServiceConfig action"); |
172 | 172 | ||
173 | hr = WcaDoDeferredAction(PLATFORM_DECORATION(L"ExecServiceConfig"), pwzCustomActionData, cServices * COST_SERVICECONFIG); | 173 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"ExecServiceConfig"), pwzCustomActionData, cServices * COST_SERVICECONFIG); |
174 | ExitOnFailure(hr, "failed to schedule ExecServiceConfig action"); | 174 | ExitOnFailure(hr, "failed to schedule ExecServiceConfig action"); |
175 | } | 175 | } |
176 | 176 | ||
diff --git a/src/ca/utilca.vcxproj b/src/ca/utilca.vcxproj index 2ec0c706..45a7f278 100644 --- a/src/ca/utilca.vcxproj +++ b/src/ca/utilca.vcxproj | |||
@@ -66,7 +66,7 @@ | |||
66 | </ItemGroup> | 66 | </ItemGroup> |
67 | 67 | ||
68 | <ItemGroup> | 68 | <ItemGroup> |
69 | <ClInclude Include="caSuffix.h" /> | 69 | <ClInclude Include="caDecor.h" /> |
70 | <ClInclude Include="cost.h" /> | 70 | <ClInclude Include="cost.h" /> |
71 | <ClInclude Include="CustomMsiErrors.h" /> | 71 | <ClInclude Include="CustomMsiErrors.h" /> |
72 | <ClInclude Include="precomp.h" /> | 72 | <ClInclude Include="precomp.h" /> |
diff --git a/src/test/WixToolsetTest.Util/TestData/CloseApplication/Package.en-us.wxl b/src/test/WixToolsetTest.Util/TestData/CloseApplication/Package.en-us.wxl new file mode 100644 index 00000000..38c12ac1 --- /dev/null +++ b/src/test/WixToolsetTest.Util/TestData/CloseApplication/Package.en-us.wxl | |||
@@ -0,0 +1,11 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | |||
3 | <!-- | ||
4 | This file contains the declaration of all the localizable strings. | ||
5 | --> | ||
6 | <WixLocalization xmlns="http://wixtoolset.org/schemas/v4/wxl" Culture="en-US"> | ||
7 | |||
8 | <String Id="DowngradeError">A newer version of [ProductName] is already installed.</String> | ||
9 | <String Id="FeatureTitle">MsiPackage</String> | ||
10 | |||
11 | </WixLocalization> | ||
diff --git a/src/test/WixToolsetTest.Util/TestData/CloseApplication/Package.wxs b/src/test/WixToolsetTest.Util/TestData/CloseApplication/Package.wxs new file mode 100644 index 00000000..688ce39d --- /dev/null +++ b/src/test/WixToolsetTest.Util/TestData/CloseApplication/Package.wxs | |||
@@ -0,0 +1,24 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" | ||
3 | xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> | ||
4 | <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> | ||
5 | <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" /> | ||
6 | |||
7 | <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> | ||
8 | <MediaTemplate /> | ||
9 | |||
10 | <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)"> | ||
11 | <ComponentGroupRef Id="ProductComponents" /> | ||
12 | </Feature> | ||
13 | |||
14 | <util:CloseApplication Id="CloseMyApp" CloseMessage="yes" Property="MYAPPISRUNNING" Target="explorer.exe" /> | ||
15 | </Product> | ||
16 | |||
17 | <Fragment> | ||
18 | <Directory Id="TARGETDIR" Name="SourceDir"> | ||
19 | <Directory Id="ProgramFilesFolder"> | ||
20 | <Directory Id="INSTALLFOLDER" Name="MsiPackage" /> | ||
21 | </Directory> | ||
22 | </Directory> | ||
23 | </Fragment> | ||
24 | </Wix> | ||
diff --git a/src/test/WixToolsetTest.Util/TestData/CloseApplication/PackageComponents.wxs b/src/test/WixToolsetTest.Util/TestData/CloseApplication/PackageComponents.wxs new file mode 100644 index 00000000..4f9e6a9d --- /dev/null +++ b/src/test/WixToolsetTest.Util/TestData/CloseApplication/PackageComponents.wxs | |||
@@ -0,0 +1,11 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" | ||
3 | xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> | ||
4 | <Fragment> | ||
5 | <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> | ||
6 | <Component> | ||
7 | <File Source="example.txt" /> | ||
8 | </Component> | ||
9 | </ComponentGroup> | ||
10 | </Fragment> | ||
11 | </Wix> | ||
diff --git a/src/test/WixToolsetTest.Util/TestData/CloseApplication/example.txt b/src/test/WixToolsetTest.Util/TestData/CloseApplication/example.txt new file mode 100644 index 00000000..1b4ffe8a --- /dev/null +++ b/src/test/WixToolsetTest.Util/TestData/CloseApplication/example.txt | |||
@@ -0,0 +1 @@ | |||
This is example.txt. \ No newline at end of file | |||
diff --git a/src/test/WixToolsetTest.Util/TestData/EventManifest/Package.en-us.wxl b/src/test/WixToolsetTest.Util/TestData/EventManifest/Package.en-us.wxl new file mode 100644 index 00000000..38c12ac1 --- /dev/null +++ b/src/test/WixToolsetTest.Util/TestData/EventManifest/Package.en-us.wxl | |||
@@ -0,0 +1,11 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | |||
3 | <!-- | ||
4 | This file contains the declaration of all the localizable strings. | ||
5 | --> | ||
6 | <WixLocalization xmlns="http://wixtoolset.org/schemas/v4/wxl" Culture="en-US"> | ||
7 | |||
8 | <String Id="DowngradeError">A newer version of [ProductName] is already installed.</String> | ||
9 | <String Id="FeatureTitle">MsiPackage</String> | ||
10 | |||
11 | </WixLocalization> | ||
diff --git a/src/test/WixToolsetTest.Util/TestData/EventManifest/Package.wxs b/src/test/WixToolsetTest.Util/TestData/EventManifest/Package.wxs new file mode 100644 index 00000000..fc1018ae --- /dev/null +++ b/src/test/WixToolsetTest.Util/TestData/EventManifest/Package.wxs | |||
@@ -0,0 +1,22 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" | ||
3 | xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> | ||
4 | <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> | ||
5 | <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" /> | ||
6 | |||
7 | <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> | ||
8 | <MediaTemplate /> | ||
9 | |||
10 | <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)"> | ||
11 | <ComponentGroupRef Id="ProductComponents" /> | ||
12 | </Feature> | ||
13 | </Product> | ||
14 | |||
15 | <Fragment> | ||
16 | <Directory Id="TARGETDIR" Name="SourceDir"> | ||
17 | <Directory Id="ProgramFilesFolder"> | ||
18 | <Directory Id="INSTALLFOLDER" Name="MsiPackage" /> | ||
19 | </Directory> | ||
20 | </Directory> | ||
21 | </Fragment> | ||
22 | </Wix> | ||
diff --git a/src/test/WixToolsetTest.Util/TestData/EventManifest/PackageComponents.wxs b/src/test/WixToolsetTest.Util/TestData/EventManifest/PackageComponents.wxs new file mode 100644 index 00000000..75af3f59 --- /dev/null +++ b/src/test/WixToolsetTest.Util/TestData/EventManifest/PackageComponents.wxs | |||
@@ -0,0 +1,13 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" | ||
3 | xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> | ||
4 | <Fragment> | ||
5 | <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> | ||
6 | <Component> | ||
7 | <File Id="Manifest.dll" Source="example.txt"> | ||
8 | <util:EventManifest MessageFile="[Manifest.dll]" ResourceFile="[Manifest.dll]" /> | ||
9 | </File> | ||
10 | </Component> | ||
11 | </ComponentGroup> | ||
12 | </Fragment> | ||
13 | </Wix> | ||
diff --git a/src/test/WixToolsetTest.Util/TestData/EventManifest/example.txt b/src/test/WixToolsetTest.Util/TestData/EventManifest/example.txt new file mode 100644 index 00000000..1b4ffe8a --- /dev/null +++ b/src/test/WixToolsetTest.Util/TestData/EventManifest/example.txt | |||
@@ -0,0 +1 @@ | |||
This is example.txt. \ No newline at end of file | |||
diff --git a/src/test/WixToolsetTest.Util/TestData/InternetShortcut/Package.en-us.wxl b/src/test/WixToolsetTest.Util/TestData/InternetShortcut/Package.en-us.wxl new file mode 100644 index 00000000..38c12ac1 --- /dev/null +++ b/src/test/WixToolsetTest.Util/TestData/InternetShortcut/Package.en-us.wxl | |||
@@ -0,0 +1,11 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | |||
3 | <!-- | ||
4 | This file contains the declaration of all the localizable strings. | ||
5 | --> | ||
6 | <WixLocalization xmlns="http://wixtoolset.org/schemas/v4/wxl" Culture="en-US"> | ||
7 | |||
8 | <String Id="DowngradeError">A newer version of [ProductName] is already installed.</String> | ||
9 | <String Id="FeatureTitle">MsiPackage</String> | ||
10 | |||
11 | </WixLocalization> | ||
diff --git a/src/test/WixToolsetTest.Util/TestData/InternetShortcut/Package.wxs b/src/test/WixToolsetTest.Util/TestData/InternetShortcut/Package.wxs new file mode 100644 index 00000000..fc1018ae --- /dev/null +++ b/src/test/WixToolsetTest.Util/TestData/InternetShortcut/Package.wxs | |||
@@ -0,0 +1,22 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" | ||
3 | xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> | ||
4 | <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> | ||
5 | <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" /> | ||
6 | |||
7 | <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> | ||
8 | <MediaTemplate /> | ||
9 | |||
10 | <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)"> | ||
11 | <ComponentGroupRef Id="ProductComponents" /> | ||
12 | </Feature> | ||
13 | </Product> | ||
14 | |||
15 | <Fragment> | ||
16 | <Directory Id="TARGETDIR" Name="SourceDir"> | ||
17 | <Directory Id="ProgramFilesFolder"> | ||
18 | <Directory Id="INSTALLFOLDER" Name="MsiPackage" /> | ||
19 | </Directory> | ||
20 | </Directory> | ||
21 | </Fragment> | ||
22 | </Wix> | ||
diff --git a/src/test/WixToolsetTest.Util/TestData/InternetShortcut/PackageComponents.wxs b/src/test/WixToolsetTest.Util/TestData/InternetShortcut/PackageComponents.wxs new file mode 100644 index 00000000..23b172f8 --- /dev/null +++ b/src/test/WixToolsetTest.Util/TestData/InternetShortcut/PackageComponents.wxs | |||
@@ -0,0 +1,12 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" | ||
3 | xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> | ||
4 | <Fragment> | ||
5 | <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> | ||
6 | <Component> | ||
7 | <File Source="example.txt" /> | ||
8 | <util:InternetShortcut Id="wixshortcut" Name="WiX Toolset" Target="https://wixtoolset.org" /> | ||
9 | </Component> | ||
10 | </ComponentGroup> | ||
11 | </Fragment> | ||
12 | </Wix> | ||
diff --git a/src/test/WixToolsetTest.Util/TestData/InternetShortcut/example.txt b/src/test/WixToolsetTest.Util/TestData/InternetShortcut/example.txt new file mode 100644 index 00000000..1b4ffe8a --- /dev/null +++ b/src/test/WixToolsetTest.Util/TestData/InternetShortcut/example.txt | |||
@@ -0,0 +1 @@ | |||
This is example.txt. \ No newline at end of file | |||
diff --git a/src/test/WixToolsetTest.Util/TestData/PermissionEx/Package.en-us.wxl b/src/test/WixToolsetTest.Util/TestData/PermissionEx/Package.en-us.wxl new file mode 100644 index 00000000..38c12ac1 --- /dev/null +++ b/src/test/WixToolsetTest.Util/TestData/PermissionEx/Package.en-us.wxl | |||
@@ -0,0 +1,11 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | |||
3 | <!-- | ||
4 | This file contains the declaration of all the localizable strings. | ||
5 | --> | ||
6 | <WixLocalization xmlns="http://wixtoolset.org/schemas/v4/wxl" Culture="en-US"> | ||
7 | |||
8 | <String Id="DowngradeError">A newer version of [ProductName] is already installed.</String> | ||
9 | <String Id="FeatureTitle">MsiPackage</String> | ||
10 | |||
11 | </WixLocalization> | ||
diff --git a/src/test/WixToolsetTest.Util/TestData/PermissionEx/Package.wxs b/src/test/WixToolsetTest.Util/TestData/PermissionEx/Package.wxs new file mode 100644 index 00000000..fc1018ae --- /dev/null +++ b/src/test/WixToolsetTest.Util/TestData/PermissionEx/Package.wxs | |||
@@ -0,0 +1,22 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" | ||
3 | xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> | ||
4 | <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> | ||
5 | <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" /> | ||
6 | |||
7 | <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> | ||
8 | <MediaTemplate /> | ||
9 | |||
10 | <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)"> | ||
11 | <ComponentGroupRef Id="ProductComponents" /> | ||
12 | </Feature> | ||
13 | </Product> | ||
14 | |||
15 | <Fragment> | ||
16 | <Directory Id="TARGETDIR" Name="SourceDir"> | ||
17 | <Directory Id="ProgramFilesFolder"> | ||
18 | <Directory Id="INSTALLFOLDER" Name="MsiPackage" /> | ||
19 | </Directory> | ||
20 | </Directory> | ||
21 | </Fragment> | ||
22 | </Wix> | ||
diff --git a/src/test/WixToolsetTest.Util/TestData/PermissionEx/PackageComponents.wxs b/src/test/WixToolsetTest.Util/TestData/PermissionEx/PackageComponents.wxs new file mode 100644 index 00000000..22438a2b --- /dev/null +++ b/src/test/WixToolsetTest.Util/TestData/PermissionEx/PackageComponents.wxs | |||
@@ -0,0 +1,14 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" | ||
3 | xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> | ||
4 | <Fragment> | ||
5 | <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> | ||
6 | <Component> | ||
7 | <File Source="example.txt" /> | ||
8 | <CreateFolder> | ||
9 | <util:PermissionEx User="Everyone" GenericAll="yes" /> | ||
10 | </CreateFolder> | ||
11 | </Component> | ||
12 | </ComponentGroup> | ||
13 | </Fragment> | ||
14 | </Wix> | ||
diff --git a/src/test/WixToolsetTest.Util/TestData/PermissionEx/example.txt b/src/test/WixToolsetTest.Util/TestData/PermissionEx/example.txt new file mode 100644 index 00000000..1b4ffe8a --- /dev/null +++ b/src/test/WixToolsetTest.Util/TestData/PermissionEx/example.txt | |||
@@ -0,0 +1 @@ | |||
This is example.txt. \ No newline at end of file | |||
diff --git a/src/test/WixToolsetTest.Util/UtilExtensionFixture.cs b/src/test/WixToolsetTest.Util/UtilExtensionFixture.cs index f2f06af8..750098d6 100644 --- a/src/test/WixToolsetTest.Util/UtilExtensionFixture.cs +++ b/src/test/WixToolsetTest.Util/UtilExtensionFixture.cs | |||
@@ -19,11 +19,118 @@ namespace WixToolsetTest.Util | |||
19 | var folder = TestData.Get(@"TestData\UsingFileShare"); | 19 | var folder = TestData.Get(@"TestData\UsingFileShare"); |
20 | var build = new Builder(folder, typeof(UtilExtensionFactory), new[] { folder }); | 20 | var build = new Builder(folder, typeof(UtilExtensionFactory), new[] { folder }); |
21 | 21 | ||
22 | var results = build.BuildAndQuery(Build, "FileShare", "FileSharePermissions"); | 22 | var results = build.BuildAndQuery(Build, "Binary", "CustomAction", "Wix4FileShare", "Wix4FileSharePermissions"); |
23 | Assert.Equal(new[] | 23 | Assert.Equal(new[] |
24 | { | 24 | { |
25 | "FileShare:ExampleFileShare\texample\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tAn example file share\tINSTALLFOLDER\t\t", | 25 | "Binary:Wix4UtilCA_X86\t[Binary data]", |
26 | "FileSharePermissions:ExampleFileShare\tEveryone\t1", | 26 | "CustomAction:Wix4ConfigureSmbInstall_X86\t1\tWix4UtilCA_X86\tConfigureSmbInstall\t", |
27 | "CustomAction:Wix4ConfigureSmbUninstall_X86\t1\tWix4UtilCA_X86\tConfigureSmbUninstall\t", | ||
28 | "CustomAction:Wix4CreateSmb_X86\t11265\tWix4UtilCA_X86\tCreateSmb\t", | ||
29 | "CustomAction:Wix4CreateSmbRollback_X86\t11585\tWix4UtilCA_X86\tDropSmb\t", | ||
30 | "CustomAction:Wix4DropSmb_X86\t11265\tWix4UtilCA_X86\tDropSmb\t", | ||
31 | "CustomAction:Wix4DropSmbRollback_X86\t11585\tWix4UtilCA_X86\tCreateSmb\t", | ||
32 | "Wix4FileShare:ExampleFileShare\texample\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tAn example file share\tINSTALLFOLDER", | ||
33 | "Wix4FileSharePermissions:ExampleFileShare\tEveryone\t1", | ||
34 | }, results.OrderBy(s => s).ToArray()); | ||
35 | } | ||
36 | |||
37 | [Fact] | ||
38 | public void CanBuildUsingFileShareX64() | ||
39 | { | ||
40 | var folder = TestData.Get(@"TestData\UsingFileShare"); | ||
41 | var build = new Builder(folder, typeof(UtilExtensionFactory), new[] { folder }); | ||
42 | |||
43 | var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "Wix4FileShare", "Wix4FileSharePermissions"); | ||
44 | Assert.Equal(new[] | ||
45 | { | ||
46 | "Binary:Wix4UtilCA_X86\t[Binary data]", | ||
47 | "CustomAction:Wix4ConfigureSmbInstall_X86\t1\tWix4UtilCA_X86\tConfigureSmbInstall\t", | ||
48 | "CustomAction:Wix4ConfigureSmbUninstall_X86\t1\tWix4UtilCA_X86\tConfigureSmbUninstall\t", | ||
49 | "CustomAction:Wix4CreateSmb_X86\t11265\tWix4UtilCA_X86\tCreateSmb\t", | ||
50 | "CustomAction:Wix4CreateSmbRollback_X86\t11585\tWix4UtilCA_X86\tDropSmb\t", | ||
51 | "CustomAction:Wix4DropSmb_X86\t11265\tWix4UtilCA_X86\tDropSmb\t", | ||
52 | "CustomAction:Wix4DropSmbRollback_X86\t11585\tWix4UtilCA_X86\tCreateSmb\t", | ||
53 | "Wix4FileShare:ExampleFileShare\texample\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tAn example file share\tINSTALLFOLDER", | ||
54 | "Wix4FileSharePermissions:ExampleFileShare\tEveryone\t1", | ||
55 | }, results.OrderBy(s => s).ToArray()); | ||
56 | } | ||
57 | |||
58 | [Fact] | ||
59 | public void CanBuildCloseApplication() | ||
60 | { | ||
61 | var folder = TestData.Get(@"TestData\CloseApplication"); | ||
62 | var build = new Builder(folder, typeof(UtilExtensionFactory), new[] { folder }); | ||
63 | |||
64 | var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "Wix4CloseApplication"); | ||
65 | Assert.Equal(new[] | ||
66 | { | ||
67 | "Binary:Wix4UtilCA_X86\t[Binary data]", | ||
68 | "CustomAction:Wix4CheckRebootRequired_X86\t65\tWix4UtilCA_X86\tWixCheckRebootRequired\t", | ||
69 | "CustomAction:Wix4CloseApplications_X86\t1\tWix4UtilCA_X86\tWixCloseApplications\t", | ||
70 | "CustomAction:Wix4CloseApplicationsDeferred_X86\t3073\tWix4UtilCA_X86\tWixCloseApplicationsDeferred\t", | ||
71 | "Wix4CloseApplication:CloseMyApp\texplorer.exe\t\t\t3\t\tMYAPPISRUNNING\t\t", | ||
72 | }, results.OrderBy(s => s).ToArray()); | ||
73 | } | ||
74 | |||
75 | [Fact] | ||
76 | public void CanBuildInternetShortcut() | ||
77 | { | ||
78 | var folder = TestData.Get(@"TestData\InternetShortcut"); | ||
79 | var build = new Builder(folder, typeof(UtilExtensionFactory), new[] { folder }); | ||
80 | |||
81 | var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "RemoveFile", "Wix4InternetShortcut"); | ||
82 | Assert.Equal(new[] | ||
83 | { | ||
84 | "Binary:Wix4UtilCA_X86\t[Binary data]", | ||
85 | "CustomAction:Wix4CreateInternetShortcuts_X86\t3073\tWix4UtilCA_X86\tWixCreateInternetShortcuts\t", | ||
86 | "CustomAction:Wix4RollbackInternetShortcuts_X86\t3329\tWix4UtilCA_X86\tWixRollbackInternetShortcuts\t", | ||
87 | "CustomAction:Wix4SchedInternetShortcuts_X86\t1\tWix4UtilCA_X86\tWixSchedInternetShortcuts\t", | ||
88 | "RemoveFile:wixshortcut\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tvtpzs3bw.lnk|WiX Toolset.lnk\tINSTALLFOLDER\t2", | ||
89 | "Wix4InternetShortcut:wixshortcut\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tINSTALLFOLDER\tWiX Toolset.lnk\thttps://wixtoolset.org\t0\t\t0", | ||
90 | }, results.OrderBy(s => s).ToArray()); | ||
91 | } | ||
92 | |||
93 | [Fact] | ||
94 | public void CanBuildWithPermissionEx() | ||
95 | { | ||
96 | var folder = TestData.Get(@"TestData\PermissionEx"); | ||
97 | var build = new Builder(folder, typeof(UtilExtensionFactory), new[] { folder }); | ||
98 | |||
99 | var results = build.BuildAndQuery(BuildX64, "Binary", "CreateFolder", "CustomAction", "Wix4SecureObject"); | ||
100 | Assert.Equal(new[] | ||
101 | { | ||
102 | "Binary:Wix4UtilCA_X64\t[Binary data]", | ||
103 | "CreateFolder:INSTALLFOLDER\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo", | ||
104 | "CustomAction:Wix4ExecSecureObjects_X64\t11265\tWix4UtilCA_X64\tExecSecureObjects\t", | ||
105 | "CustomAction:Wix4ExecSecureObjectsRollback_X64\t11521\tWix4UtilCA_X64\tExecSecureObjectsRollback\t", | ||
106 | "CustomAction:Wix4SchedSecureObjects_X64\t1\tWix4UtilCA_X64\tSchedSecureObjects\t", | ||
107 | "CustomAction:Wix4SchedSecureObjectsRollback_X64\t1\tWix4UtilCA_X64\tSchedSecureObjectsRollback\t", | ||
108 | "Wix4SecureObject:INSTALLFOLDER\tCreateFolder\t\tEveryone\t268435456\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo", | ||
109 | }, results.OrderBy(s => s).ToArray()); | ||
110 | } | ||
111 | |||
112 | [Fact] | ||
113 | public void CanBuildWithEventManifest() | ||
114 | { | ||
115 | var folder = TestData.Get(@"TestData\EventManifest"); | ||
116 | var build = new Builder(folder, typeof(UtilExtensionFactory), new[] { folder }); | ||
117 | |||
118 | var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "Wix4EventManifest", "Wix4XmlFile"); | ||
119 | Assert.Equal(new[] | ||
120 | { | ||
121 | "Binary:Wix4UtilCA_X86\t[Binary data]", | ||
122 | "CustomAction:Wix4ConfigureEventManifestRegister_X86\t1\tWix4UtilCA_X86\tConfigureEventManifestRegister\t", | ||
123 | "CustomAction:Wix4ConfigureEventManifestUnregister_X86\t1\tWix4UtilCA_X86\tConfigureEventManifestUnregister\t", | ||
124 | "CustomAction:Wix4ExecXmlFile_X86\t11265\tWix4UtilCA_X86\tExecXmlFile\t", | ||
125 | "CustomAction:Wix4ExecXmlFileRollback_X86\t11521\tWix4UtilCA_X86\tExecXmlFileRollback\t", | ||
126 | "CustomAction:Wix4RegisterEventManifest_X86\t3073\tWix4UtilCA_X86\tCAQuietExec\t", | ||
127 | "CustomAction:Wix4RollbackRegisterEventManifest_X86\t3393\tWix4UtilCA_X86\tCAQuietExec\t", | ||
128 | "CustomAction:Wix4RollbackUnregisterEventManifest_X86\t3329\tWix4UtilCA_X86\tCAQuietExec\t", | ||
129 | "CustomAction:Wix4SchedXmlFile_X86\t1\tWix4UtilCA_X86\tSchedXmlFile\t", | ||
130 | "CustomAction:Wix4UnregisterEventManifest_X86\t3137\tWix4UtilCA_X86\tCAQuietExec\t", | ||
131 | "Wix4EventManifest:Manifest.dll\t[#Manifest.dll]", | ||
132 | "Wix4XmlFile:Config_Manifest.dllMessageFile\t[#Manifest.dll]\t/*/*/*/*[\\[]@messageFileName[\\]]\tmessageFileName\t[Manifest.dll]\t4100\tManifest.dll\t", | ||
133 | "Wix4XmlFile:Config_Manifest.dllResourceFile\t[#Manifest.dll]\t/*/*/*/*[\\[]@resourceFileName[\\]]\tresourceFileName\t[Manifest.dll]\t4100\tManifest.dll\t", | ||
27 | }, results.OrderBy(s => s).ToArray()); | 134 | }, results.OrderBy(s => s).ToArray()); |
28 | } | 135 | } |
29 | 136 | ||
@@ -93,8 +200,18 @@ namespace WixToolsetTest.Util | |||
93 | 200 | ||
94 | private static void Build(string[] args) | 201 | private static void Build(string[] args) |
95 | { | 202 | { |
96 | var result = WixRunner.Execute(args) | 203 | var result = WixRunner.Execute(args); |
97 | .AssertSuccess(); | 204 | result.AssertSuccess(); |
205 | } | ||
206 | |||
207 | private static void BuildX64(string[] args) | ||
208 | { | ||
209 | var newArgs = args.ToList(); | ||
210 | newArgs.Add("-platform"); | ||
211 | newArgs.Add("x64"); | ||
212 | |||
213 | var result = WixRunner.Execute(newArgs.ToArray()); | ||
214 | result.AssertSuccess(); | ||
98 | } | 215 | } |
99 | } | 216 | } |
100 | } | 217 | } |
diff --git a/src/test/WixToolsetTest.Util/WixToolsetTest.Util.csproj b/src/test/WixToolsetTest.Util/WixToolsetTest.Util.csproj index 6cf001a2..1635287d 100644 --- a/src/test/WixToolsetTest.Util/WixToolsetTest.Util.csproj +++ b/src/test/WixToolsetTest.Util/WixToolsetTest.Util.csproj | |||
@@ -23,6 +23,22 @@ | |||
23 | <Content Include="TestData\UsingFileShare\Package.en-us.wxl" CopyToOutputDirectory="PreserveNewest" /> | 23 | <Content Include="TestData\UsingFileShare\Package.en-us.wxl" CopyToOutputDirectory="PreserveNewest" /> |
24 | <Content Include="TestData\UsingFileShare\Package.wxs" CopyToOutputDirectory="PreserveNewest" /> | 24 | <Content Include="TestData\UsingFileShare\Package.wxs" CopyToOutputDirectory="PreserveNewest" /> |
25 | <Content Include="TestData\UsingFileShare\PackageComponents.wxs" CopyToOutputDirectory="PreserveNewest" /> | 25 | <Content Include="TestData\UsingFileShare\PackageComponents.wxs" CopyToOutputDirectory="PreserveNewest" /> |
26 | <Content Include="TestData\CloseApplication\example.txt" CopyToOutputDirectory="PreserveNewest" /> | ||
27 | <Content Include="TestData\CloseApplication\Package.en-us.wxl" CopyToOutputDirectory="PreserveNewest" /> | ||
28 | <Content Include="TestData\CloseApplication\Package.wxs" CopyToOutputDirectory="PreserveNewest" /> | ||
29 | <Content Include="TestData\CloseApplication\PackageComponents.wxs" CopyToOutputDirectory="PreserveNewest" /> | ||
30 | <Content Include="TestData\InternetShortcut\example.txt" CopyToOutputDirectory="PreserveNewest" /> | ||
31 | <Content Include="TestData\InternetShortcut\Package.en-us.wxl" CopyToOutputDirectory="PreserveNewest" /> | ||
32 | <Content Include="TestData\InternetShortcut\Package.wxs" CopyToOutputDirectory="PreserveNewest" /> | ||
33 | <Content Include="TestData\InternetShortcut\PackageComponents.wxs" CopyToOutputDirectory="PreserveNewest" /> | ||
34 | <Content Include="TestData\PermissionEx\example.txt" CopyToOutputDirectory="PreserveNewest" /> | ||
35 | <Content Include="TestData\PermissionEx\Package.en-us.wxl" CopyToOutputDirectory="PreserveNewest" /> | ||
36 | <Content Include="TestData\PermissionEx\Package.wxs" CopyToOutputDirectory="PreserveNewest" /> | ||
37 | <Content Include="TestData\PermissionEx\PackageComponents.wxs" CopyToOutputDirectory="PreserveNewest" /> | ||
38 | <Content Include="TestData\EventManifest\example.txt" CopyToOutputDirectory="PreserveNewest" /> | ||
39 | <Content Include="TestData\EventManifest\Package.en-us.wxl" CopyToOutputDirectory="PreserveNewest" /> | ||
40 | <Content Include="TestData\EventManifest\Package.wxs" CopyToOutputDirectory="PreserveNewest" /> | ||
41 | <Content Include="TestData\EventManifest\PackageComponents.wxs" CopyToOutputDirectory="PreserveNewest" /> | ||
26 | </ItemGroup> | 42 | </ItemGroup> |
27 | 43 | ||
28 | <ItemGroup> | 44 | <ItemGroup> |
diff --git a/src/wixext/Tuples/EventManifestTuple.cs b/src/wixext/Tuples/EventManifestTuple.cs index b74d2d59..364604be 100644 --- a/src/wixext/Tuples/EventManifestTuple.cs +++ b/src/wixext/Tuples/EventManifestTuple.cs | |||
@@ -11,7 +11,7 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.EventManifest.ToString(), | 11 | UtilTupleDefinitionType.EventManifest.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(EventManifestTupleFields.Component_), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(EventManifestTupleFields.ComponentRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(EventManifestTupleFields.File), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(EventManifestTupleFields.File), IntermediateFieldType.String), |
16 | }, | 16 | }, |
17 | typeof(EventManifestTuple)); | 17 | typeof(EventManifestTuple)); |
@@ -24,7 +24,7 @@ namespace WixToolset.Util.Tuples | |||
24 | 24 | ||
25 | public enum EventManifestTupleFields | 25 | public enum EventManifestTupleFields |
26 | { | 26 | { |
27 | Component_, | 27 | ComponentRef, |
28 | File, | 28 | File, |
29 | } | 29 | } |
30 | 30 | ||
@@ -40,10 +40,10 @@ namespace WixToolset.Util.Tuples | |||
40 | 40 | ||
41 | public IntermediateField this[EventManifestTupleFields index] => this.Fields[(int)index]; | 41 | public IntermediateField this[EventManifestTupleFields index] => this.Fields[(int)index]; |
42 | 42 | ||
43 | public string Component_ | 43 | public string ComponentRef |
44 | { | 44 | { |
45 | get => this.Fields[(int)EventManifestTupleFields.Component_].AsString(); | 45 | get => this.Fields[(int)EventManifestTupleFields.ComponentRef].AsString(); |
46 | set => this.Set((int)EventManifestTupleFields.Component_, value); | 46 | set => this.Set((int)EventManifestTupleFields.ComponentRef, value); |
47 | } | 47 | } |
48 | 48 | ||
49 | public string File | 49 | public string File |
diff --git a/src/wixext/Tuples/FileSharePermissionsTuple.cs b/src/wixext/Tuples/FileSharePermissionsTuple.cs index 3f037e0e..1db01b98 100644 --- a/src/wixext/Tuples/FileSharePermissionsTuple.cs +++ b/src/wixext/Tuples/FileSharePermissionsTuple.cs | |||
@@ -11,8 +11,8 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.FileSharePermissions.ToString(), | 11 | UtilTupleDefinitionType.FileSharePermissions.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(FileSharePermissionsTupleFields.FileShare_), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(FileSharePermissionsTupleFields.FileShareRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(FileSharePermissionsTupleFields.User_), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(FileSharePermissionsTupleFields.UserRef), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(FileSharePermissionsTupleFields.Permissions), IntermediateFieldType.Number), | 16 | new IntermediateFieldDefinition(nameof(FileSharePermissionsTupleFields.Permissions), IntermediateFieldType.Number), |
17 | }, | 17 | }, |
18 | typeof(FileSharePermissionsTuple)); | 18 | typeof(FileSharePermissionsTuple)); |
@@ -25,8 +25,8 @@ namespace WixToolset.Util.Tuples | |||
25 | 25 | ||
26 | public enum FileSharePermissionsTupleFields | 26 | public enum FileSharePermissionsTupleFields |
27 | { | 27 | { |
28 | FileShare_, | 28 | FileShareRef, |
29 | User_, | 29 | UserRef, |
30 | Permissions, | 30 | Permissions, |
31 | } | 31 | } |
32 | 32 | ||
@@ -42,16 +42,16 @@ namespace WixToolset.Util.Tuples | |||
42 | 42 | ||
43 | public IntermediateField this[FileSharePermissionsTupleFields index] => this.Fields[(int)index]; | 43 | public IntermediateField this[FileSharePermissionsTupleFields index] => this.Fields[(int)index]; |
44 | 44 | ||
45 | public string FileShare_ | 45 | public string FileShareRef |
46 | { | 46 | { |
47 | get => this.Fields[(int)FileSharePermissionsTupleFields.FileShare_].AsString(); | 47 | get => this.Fields[(int)FileSharePermissionsTupleFields.FileShareRef].AsString(); |
48 | set => this.Set((int)FileSharePermissionsTupleFields.FileShare_, value); | 48 | set => this.Set((int)FileSharePermissionsTupleFields.FileShareRef, value); |
49 | } | 49 | } |
50 | 50 | ||
51 | public string User_ | 51 | public string UserRef |
52 | { | 52 | { |
53 | get => this.Fields[(int)FileSharePermissionsTupleFields.User_].AsString(); | 53 | get => this.Fields[(int)FileSharePermissionsTupleFields.UserRef].AsString(); |
54 | set => this.Set((int)FileSharePermissionsTupleFields.User_, value); | 54 | set => this.Set((int)FileSharePermissionsTupleFields.UserRef, value); |
55 | } | 55 | } |
56 | 56 | ||
57 | public int Permissions | 57 | public int Permissions |
diff --git a/src/wixext/Tuples/FileShareTuple.cs b/src/wixext/Tuples/FileShareTuple.cs index 5a31b6fa..6a04f6af 100644 --- a/src/wixext/Tuples/FileShareTuple.cs +++ b/src/wixext/Tuples/FileShareTuple.cs | |||
@@ -11,13 +11,10 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.FileShare.ToString(), | 11 | UtilTupleDefinitionType.FileShare.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(FileShareTupleFields.FileShare), IntermediateFieldType.String), | ||
15 | new IntermediateFieldDefinition(nameof(FileShareTupleFields.ShareName), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(FileShareTupleFields.ShareName), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(FileShareTupleFields.Component_), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(FileShareTupleFields.ComponentRef), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(FileShareTupleFields.Description), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(FileShareTupleFields.Description), IntermediateFieldType.String), |
18 | new IntermediateFieldDefinition(nameof(FileShareTupleFields.Directory_), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(FileShareTupleFields.DirectoryRef), IntermediateFieldType.String), |
19 | new IntermediateFieldDefinition(nameof(FileShareTupleFields.User_), IntermediateFieldType.String), | ||
20 | new IntermediateFieldDefinition(nameof(FileShareTupleFields.Permissions), IntermediateFieldType.Number), | ||
21 | }, | 18 | }, |
22 | typeof(FileShareTuple)); | 19 | typeof(FileShareTuple)); |
23 | } | 20 | } |
@@ -29,13 +26,10 @@ namespace WixToolset.Util.Tuples | |||
29 | 26 | ||
30 | public enum FileShareTupleFields | 27 | public enum FileShareTupleFields |
31 | { | 28 | { |
32 | FileShare, | ||
33 | ShareName, | 29 | ShareName, |
34 | Component_, | 30 | ComponentRef, |
35 | Description, | 31 | Description, |
36 | Directory_, | 32 | DirectoryRef, |
37 | User_, | ||
38 | Permissions, | ||
39 | } | 33 | } |
40 | 34 | ||
41 | public class FileShareTuple : IntermediateTuple | 35 | public class FileShareTuple : IntermediateTuple |
@@ -50,22 +44,16 @@ namespace WixToolset.Util.Tuples | |||
50 | 44 | ||
51 | public IntermediateField this[FileShareTupleFields index] => this.Fields[(int)index]; | 45 | public IntermediateField this[FileShareTupleFields index] => this.Fields[(int)index]; |
52 | 46 | ||
53 | public string FileShare | ||
54 | { | ||
55 | get => this.Fields[(int)FileShareTupleFields.FileShare].AsString(); | ||
56 | set => this.Set((int)FileShareTupleFields.FileShare, value); | ||
57 | } | ||
58 | |||
59 | public string ShareName | 47 | public string ShareName |
60 | { | 48 | { |
61 | get => this.Fields[(int)FileShareTupleFields.ShareName].AsString(); | 49 | get => this.Fields[(int)FileShareTupleFields.ShareName].AsString(); |
62 | set => this.Set((int)FileShareTupleFields.ShareName, value); | 50 | set => this.Set((int)FileShareTupleFields.ShareName, value); |
63 | } | 51 | } |
64 | 52 | ||
65 | public string Component_ | 53 | public string ComponentRef |
66 | { | 54 | { |
67 | get => this.Fields[(int)FileShareTupleFields.Component_].AsString(); | 55 | get => this.Fields[(int)FileShareTupleFields.ComponentRef].AsString(); |
68 | set => this.Set((int)FileShareTupleFields.Component_, value); | 56 | set => this.Set((int)FileShareTupleFields.ComponentRef, value); |
69 | } | 57 | } |
70 | 58 | ||
71 | public string Description | 59 | public string Description |
@@ -74,22 +62,10 @@ namespace WixToolset.Util.Tuples | |||
74 | set => this.Set((int)FileShareTupleFields.Description, value); | 62 | set => this.Set((int)FileShareTupleFields.Description, value); |
75 | } | 63 | } |
76 | 64 | ||
77 | public string Directory_ | 65 | public string DirectoryRef |
78 | { | ||
79 | get => this.Fields[(int)FileShareTupleFields.Directory_].AsString(); | ||
80 | set => this.Set((int)FileShareTupleFields.Directory_, value); | ||
81 | } | ||
82 | |||
83 | public string User_ | ||
84 | { | ||
85 | get => this.Fields[(int)FileShareTupleFields.User_].AsString(); | ||
86 | set => this.Set((int)FileShareTupleFields.User_, value); | ||
87 | } | ||
88 | |||
89 | public int? Permissions | ||
90 | { | 66 | { |
91 | get => this.Fields[(int)FileShareTupleFields.Permissions].AsNullableNumber(); | 67 | get => this.Fields[(int)FileShareTupleFields.DirectoryRef].AsString(); |
92 | set => this.Set((int)FileShareTupleFields.Permissions, value); | 68 | set => this.Set((int)FileShareTupleFields.DirectoryRef, value); |
93 | } | 69 | } |
94 | } | 70 | } |
95 | } \ No newline at end of file | 71 | } \ No newline at end of file |
diff --git a/src/wixext/Tuples/GroupTuple.cs b/src/wixext/Tuples/GroupTuple.cs index 97335714..6061b1f4 100644 --- a/src/wixext/Tuples/GroupTuple.cs +++ b/src/wixext/Tuples/GroupTuple.cs | |||
@@ -12,7 +12,7 @@ namespace WixToolset.Util | |||
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(GroupTupleFields.Group), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(GroupTupleFields.Group), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(GroupTupleFields.Component_), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(GroupTupleFields.ComponentRef), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(GroupTupleFields.Name), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(GroupTupleFields.Name), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(GroupTupleFields.Domain), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(GroupTupleFields.Domain), IntermediateFieldType.String), |
18 | }, | 18 | }, |
@@ -27,7 +27,7 @@ namespace WixToolset.Util.Tuples | |||
27 | public enum GroupTupleFields | 27 | public enum GroupTupleFields |
28 | { | 28 | { |
29 | Group, | 29 | Group, |
30 | Component_, | 30 | ComponentRef, |
31 | Name, | 31 | Name, |
32 | Domain, | 32 | Domain, |
33 | } | 33 | } |
@@ -50,10 +50,10 @@ namespace WixToolset.Util.Tuples | |||
50 | set => this.Set((int)GroupTupleFields.Group, value); | 50 | set => this.Set((int)GroupTupleFields.Group, value); |
51 | } | 51 | } |
52 | 52 | ||
53 | public string Component_ | 53 | public string ComponentRef |
54 | { | 54 | { |
55 | get => this.Fields[(int)GroupTupleFields.Component_].AsString(); | 55 | get => this.Fields[(int)GroupTupleFields.ComponentRef].AsString(); |
56 | set => this.Set((int)GroupTupleFields.Component_, value); | 56 | set => this.Set((int)GroupTupleFields.ComponentRef, value); |
57 | } | 57 | } |
58 | 58 | ||
59 | public string Name | 59 | public string Name |
diff --git a/src/wixext/Tuples/PerfmonManifestTuple.cs b/src/wixext/Tuples/PerfmonManifestTuple.cs index 3f6cb8cc..9520105a 100644 --- a/src/wixext/Tuples/PerfmonManifestTuple.cs +++ b/src/wixext/Tuples/PerfmonManifestTuple.cs | |||
@@ -11,7 +11,7 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.PerfmonManifest.ToString(), | 11 | UtilTupleDefinitionType.PerfmonManifest.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(PerfmonManifestTupleFields.Component_), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(PerfmonManifestTupleFields.ComponentRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(PerfmonManifestTupleFields.File), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(PerfmonManifestTupleFields.File), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(PerfmonManifestTupleFields.ResourceFileDirectory), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(PerfmonManifestTupleFields.ResourceFileDirectory), IntermediateFieldType.String), |
17 | }, | 17 | }, |
@@ -25,7 +25,7 @@ namespace WixToolset.Util.Tuples | |||
25 | 25 | ||
26 | public enum PerfmonManifestTupleFields | 26 | public enum PerfmonManifestTupleFields |
27 | { | 27 | { |
28 | Component_, | 28 | ComponentRef, |
29 | File, | 29 | File, |
30 | ResourceFileDirectory, | 30 | ResourceFileDirectory, |
31 | } | 31 | } |
@@ -42,10 +42,10 @@ namespace WixToolset.Util.Tuples | |||
42 | 42 | ||
43 | public IntermediateField this[PerfmonManifestTupleFields index] => this.Fields[(int)index]; | 43 | public IntermediateField this[PerfmonManifestTupleFields index] => this.Fields[(int)index]; |
44 | 44 | ||
45 | public string Component_ | 45 | public string ComponentRef |
46 | { | 46 | { |
47 | get => this.Fields[(int)PerfmonManifestTupleFields.Component_].AsString(); | 47 | get => this.Fields[(int)PerfmonManifestTupleFields.ComponentRef].AsString(); |
48 | set => this.Set((int)PerfmonManifestTupleFields.Component_, value); | 48 | set => this.Set((int)PerfmonManifestTupleFields.ComponentRef, value); |
49 | } | 49 | } |
50 | 50 | ||
51 | public string File | 51 | public string File |
diff --git a/src/wixext/Tuples/PerfmonTuple.cs b/src/wixext/Tuples/PerfmonTuple.cs index 00ea818b..1fb6ef6b 100644 --- a/src/wixext/Tuples/PerfmonTuple.cs +++ b/src/wixext/Tuples/PerfmonTuple.cs | |||
@@ -11,7 +11,7 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.Perfmon.ToString(), | 11 | UtilTupleDefinitionType.Perfmon.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(PerfmonTupleFields.Component_), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(PerfmonTupleFields.ComponentRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(PerfmonTupleFields.File), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(PerfmonTupleFields.File), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(PerfmonTupleFields.Name), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(PerfmonTupleFields.Name), IntermediateFieldType.String), |
17 | }, | 17 | }, |
@@ -25,7 +25,7 @@ namespace WixToolset.Util.Tuples | |||
25 | 25 | ||
26 | public enum PerfmonTupleFields | 26 | public enum PerfmonTupleFields |
27 | { | 27 | { |
28 | Component_, | 28 | ComponentRef, |
29 | File, | 29 | File, |
30 | Name, | 30 | Name, |
31 | } | 31 | } |
@@ -42,10 +42,10 @@ namespace WixToolset.Util.Tuples | |||
42 | 42 | ||
43 | public IntermediateField this[PerfmonTupleFields index] => this.Fields[(int)index]; | 43 | public IntermediateField this[PerfmonTupleFields index] => this.Fields[(int)index]; |
44 | 44 | ||
45 | public string Component_ | 45 | public string ComponentRef |
46 | { | 46 | { |
47 | get => this.Fields[(int)PerfmonTupleFields.Component_].AsString(); | 47 | get => this.Fields[(int)PerfmonTupleFields.ComponentRef].AsString(); |
48 | set => this.Set((int)PerfmonTupleFields.Component_, value); | 48 | set => this.Set((int)PerfmonTupleFields.ComponentRef, value); |
49 | } | 49 | } |
50 | 50 | ||
51 | public string File | 51 | public string File |
diff --git a/src/wixext/Tuples/PerformanceCategoryTuple.cs b/src/wixext/Tuples/PerformanceCategoryTuple.cs index ec2ba73d..16705466 100644 --- a/src/wixext/Tuples/PerformanceCategoryTuple.cs +++ b/src/wixext/Tuples/PerformanceCategoryTuple.cs | |||
@@ -11,8 +11,7 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.PerformanceCategory.ToString(), | 11 | UtilTupleDefinitionType.PerformanceCategory.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(PerformanceCategoryTupleFields.PerformanceCategory), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(PerformanceCategoryTupleFields.ComponentRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(PerformanceCategoryTupleFields.Component_), IntermediateFieldType.String), | ||
16 | new IntermediateFieldDefinition(nameof(PerformanceCategoryTupleFields.Name), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(PerformanceCategoryTupleFields.Name), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(PerformanceCategoryTupleFields.IniData), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(PerformanceCategoryTupleFields.IniData), IntermediateFieldType.String), |
18 | new IntermediateFieldDefinition(nameof(PerformanceCategoryTupleFields.ConstantData), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(PerformanceCategoryTupleFields.ConstantData), IntermediateFieldType.String), |
@@ -27,8 +26,7 @@ namespace WixToolset.Util.Tuples | |||
27 | 26 | ||
28 | public enum PerformanceCategoryTupleFields | 27 | public enum PerformanceCategoryTupleFields |
29 | { | 28 | { |
30 | PerformanceCategory, | 29 | ComponentRef, |
31 | Component_, | ||
32 | Name, | 30 | Name, |
33 | IniData, | 31 | IniData, |
34 | ConstantData, | 32 | ConstantData, |
@@ -46,16 +44,10 @@ namespace WixToolset.Util.Tuples | |||
46 | 44 | ||
47 | public IntermediateField this[PerformanceCategoryTupleFields index] => this.Fields[(int)index]; | 45 | public IntermediateField this[PerformanceCategoryTupleFields index] => this.Fields[(int)index]; |
48 | 46 | ||
49 | public string PerformanceCategory | 47 | public string ComponentRef |
50 | { | 48 | { |
51 | get => this.Fields[(int)PerformanceCategoryTupleFields.PerformanceCategory].AsString(); | 49 | get => this.Fields[(int)PerformanceCategoryTupleFields.ComponentRef].AsString(); |
52 | set => this.Set((int)PerformanceCategoryTupleFields.PerformanceCategory, value); | 50 | set => this.Set((int)PerformanceCategoryTupleFields.ComponentRef, value); |
53 | } | ||
54 | |||
55 | public string Component_ | ||
56 | { | ||
57 | get => this.Fields[(int)PerformanceCategoryTupleFields.Component_].AsString(); | ||
58 | set => this.Set((int)PerformanceCategoryTupleFields.Component_, value); | ||
59 | } | 51 | } |
60 | 52 | ||
61 | public string Name | 53 | public string Name |
diff --git a/src/wixext/Tuples/SecureObjectsTuple.cs b/src/wixext/Tuples/SecureObjectsTuple.cs index f54b23d8..920fe7b3 100644 --- a/src/wixext/Tuples/SecureObjectsTuple.cs +++ b/src/wixext/Tuples/SecureObjectsTuple.cs | |||
@@ -11,12 +11,11 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.SecureObjects.ToString(), | 11 | UtilTupleDefinitionType.SecureObjects.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.SecureObject), IntermediateFieldType.String), | ||
15 | new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.Table), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.Table), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.Domain), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.Domain), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.User), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.User), IntermediateFieldType.String), |
18 | new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.Permission), IntermediateFieldType.Number), | 17 | new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.Permission), IntermediateFieldType.Number), |
19 | new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.Component_), IntermediateFieldType.String), | 18 | new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.ComponentRef), IntermediateFieldType.String), |
20 | }, | 19 | }, |
21 | typeof(SecureObjectsTuple)); | 20 | typeof(SecureObjectsTuple)); |
22 | } | 21 | } |
@@ -28,12 +27,11 @@ namespace WixToolset.Util.Tuples | |||
28 | 27 | ||
29 | public enum SecureObjectsTupleFields | 28 | public enum SecureObjectsTupleFields |
30 | { | 29 | { |
31 | SecureObject, | ||
32 | Table, | 30 | Table, |
33 | Domain, | 31 | Domain, |
34 | User, | 32 | User, |
35 | Permission, | 33 | Permission, |
36 | Component_, | 34 | ComponentRef, |
37 | } | 35 | } |
38 | 36 | ||
39 | public class SecureObjectsTuple : IntermediateTuple | 37 | public class SecureObjectsTuple : IntermediateTuple |
@@ -48,12 +46,6 @@ namespace WixToolset.Util.Tuples | |||
48 | 46 | ||
49 | public IntermediateField this[SecureObjectsTupleFields index] => this.Fields[(int)index]; | 47 | public IntermediateField this[SecureObjectsTupleFields index] => this.Fields[(int)index]; |
50 | 48 | ||
51 | public string SecureObject | ||
52 | { | ||
53 | get => this.Fields[(int)SecureObjectsTupleFields.SecureObject].AsString(); | ||
54 | set => this.Set((int)SecureObjectsTupleFields.SecureObject, value); | ||
55 | } | ||
56 | |||
57 | public string Table | 49 | public string Table |
58 | { | 50 | { |
59 | get => this.Fields[(int)SecureObjectsTupleFields.Table].AsString(); | 51 | get => this.Fields[(int)SecureObjectsTupleFields.Table].AsString(); |
@@ -78,10 +70,10 @@ namespace WixToolset.Util.Tuples | |||
78 | set => this.Set((int)SecureObjectsTupleFields.Permission, value); | 70 | set => this.Set((int)SecureObjectsTupleFields.Permission, value); |
79 | } | 71 | } |
80 | 72 | ||
81 | public string Component_ | 73 | public string ComponentRef |
82 | { | 74 | { |
83 | get => this.Fields[(int)SecureObjectsTupleFields.Component_].AsString(); | 75 | get => this.Fields[(int)SecureObjectsTupleFields.ComponentRef].AsString(); |
84 | set => this.Set((int)SecureObjectsTupleFields.Component_, value); | 76 | set => this.Set((int)SecureObjectsTupleFields.ComponentRef, value); |
85 | } | 77 | } |
86 | } | 78 | } |
87 | } \ No newline at end of file | 79 | } \ No newline at end of file |
diff --git a/src/wixext/Tuples/ServiceConfigTuple.cs b/src/wixext/Tuples/ServiceConfigTuple.cs index 74d96bca..e5fc3992 100644 --- a/src/wixext/Tuples/ServiceConfigTuple.cs +++ b/src/wixext/Tuples/ServiceConfigTuple.cs | |||
@@ -12,7 +12,7 @@ namespace WixToolset.Util | |||
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(ServiceConfigTupleFields.ServiceName), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(ServiceConfigTupleFields.ServiceName), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(ServiceConfigTupleFields.Component_), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(ServiceConfigTupleFields.ComponentRef), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(ServiceConfigTupleFields.NewService), IntermediateFieldType.Number), | 16 | new IntermediateFieldDefinition(nameof(ServiceConfigTupleFields.NewService), IntermediateFieldType.Number), |
17 | new IntermediateFieldDefinition(nameof(ServiceConfigTupleFields.FirstFailureActionType), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(ServiceConfigTupleFields.FirstFailureActionType), IntermediateFieldType.String), |
18 | new IntermediateFieldDefinition(nameof(ServiceConfigTupleFields.SecondFailureActionType), IntermediateFieldType.String), | 18 | new IntermediateFieldDefinition(nameof(ServiceConfigTupleFields.SecondFailureActionType), IntermediateFieldType.String), |
@@ -33,7 +33,7 @@ namespace WixToolset.Util.Tuples | |||
33 | public enum ServiceConfigTupleFields | 33 | public enum ServiceConfigTupleFields |
34 | { | 34 | { |
35 | ServiceName, | 35 | ServiceName, |
36 | Component_, | 36 | ComponentRef, |
37 | NewService, | 37 | NewService, |
38 | FirstFailureActionType, | 38 | FirstFailureActionType, |
39 | SecondFailureActionType, | 39 | SecondFailureActionType, |
@@ -62,10 +62,10 @@ namespace WixToolset.Util.Tuples | |||
62 | set => this.Set((int)ServiceConfigTupleFields.ServiceName, value); | 62 | set => this.Set((int)ServiceConfigTupleFields.ServiceName, value); |
63 | } | 63 | } |
64 | 64 | ||
65 | public string Component_ | 65 | public string ComponentRef |
66 | { | 66 | { |
67 | get => this.Fields[(int)ServiceConfigTupleFields.Component_].AsString(); | 67 | get => this.Fields[(int)ServiceConfigTupleFields.ComponentRef].AsString(); |
68 | set => this.Set((int)ServiceConfigTupleFields.Component_, value); | 68 | set => this.Set((int)ServiceConfigTupleFields.ComponentRef, value); |
69 | } | 69 | } |
70 | 70 | ||
71 | public int NewService | 71 | public int NewService |
diff --git a/src/wixext/Tuples/UserGroupTuple.cs b/src/wixext/Tuples/UserGroupTuple.cs index 0386a26e..30c5e9ff 100644 --- a/src/wixext/Tuples/UserGroupTuple.cs +++ b/src/wixext/Tuples/UserGroupTuple.cs | |||
@@ -11,8 +11,8 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.UserGroup.ToString(), | 11 | UtilTupleDefinitionType.UserGroup.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(UserGroupTupleFields.User_), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(UserGroupTupleFields.UserRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(UserGroupTupleFields.Group_), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(UserGroupTupleFields.GroupRef), IntermediateFieldType.String), |
16 | }, | 16 | }, |
17 | typeof(UserGroupTuple)); | 17 | typeof(UserGroupTuple)); |
18 | } | 18 | } |
@@ -24,8 +24,8 @@ namespace WixToolset.Util.Tuples | |||
24 | 24 | ||
25 | public enum UserGroupTupleFields | 25 | public enum UserGroupTupleFields |
26 | { | 26 | { |
27 | User_, | 27 | UserRef, |
28 | Group_, | 28 | GroupRef, |
29 | } | 29 | } |
30 | 30 | ||
31 | public class UserGroupTuple : IntermediateTuple | 31 | public class UserGroupTuple : IntermediateTuple |
@@ -40,16 +40,16 @@ namespace WixToolset.Util.Tuples | |||
40 | 40 | ||
41 | public IntermediateField this[UserGroupTupleFields index] => this.Fields[(int)index]; | 41 | public IntermediateField this[UserGroupTupleFields index] => this.Fields[(int)index]; |
42 | 42 | ||
43 | public string User_ | 43 | public string UserRef |
44 | { | 44 | { |
45 | get => this.Fields[(int)UserGroupTupleFields.User_].AsString(); | 45 | get => this.Fields[(int)UserGroupTupleFields.UserRef].AsString(); |
46 | set => this.Set((int)UserGroupTupleFields.User_, value); | 46 | set => this.Set((int)UserGroupTupleFields.UserRef, value); |
47 | } | 47 | } |
48 | 48 | ||
49 | public string Group_ | 49 | public string GroupRef |
50 | { | 50 | { |
51 | get => this.Fields[(int)UserGroupTupleFields.Group_].AsString(); | 51 | get => this.Fields[(int)UserGroupTupleFields.GroupRef].AsString(); |
52 | set => this.Set((int)UserGroupTupleFields.Group_, value); | 52 | set => this.Set((int)UserGroupTupleFields.GroupRef, value); |
53 | } | 53 | } |
54 | } | 54 | } |
55 | } \ No newline at end of file | 55 | } \ No newline at end of file |
diff --git a/src/wixext/Tuples/UserTuple.cs b/src/wixext/Tuples/UserTuple.cs index e8c5315c..f11ed78b 100644 --- a/src/wixext/Tuples/UserTuple.cs +++ b/src/wixext/Tuples/UserTuple.cs | |||
@@ -11,8 +11,7 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.User.ToString(), | 11 | UtilTupleDefinitionType.User.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(UserTupleFields.User), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(UserTupleFields.ComponentRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(UserTupleFields.Component_), IntermediateFieldType.String), | ||
16 | new IntermediateFieldDefinition(nameof(UserTupleFields.Name), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(UserTupleFields.Name), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(UserTupleFields.Domain), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(UserTupleFields.Domain), IntermediateFieldType.String), |
18 | new IntermediateFieldDefinition(nameof(UserTupleFields.Password), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(UserTupleFields.Password), IntermediateFieldType.String), |
@@ -28,8 +27,7 @@ namespace WixToolset.Util.Tuples | |||
28 | 27 | ||
29 | public enum UserTupleFields | 28 | public enum UserTupleFields |
30 | { | 29 | { |
31 | User, | 30 | ComponentRef, |
32 | Component_, | ||
33 | Name, | 31 | Name, |
34 | Domain, | 32 | Domain, |
35 | Password, | 33 | Password, |
@@ -48,16 +46,10 @@ namespace WixToolset.Util.Tuples | |||
48 | 46 | ||
49 | public IntermediateField this[UserTupleFields index] => this.Fields[(int)index]; | 47 | public IntermediateField this[UserTupleFields index] => this.Fields[(int)index]; |
50 | 48 | ||
51 | public string User | 49 | public string ComponentRef |
52 | { | 50 | { |
53 | get => this.Fields[(int)UserTupleFields.User].AsString(); | 51 | get => this.Fields[(int)UserTupleFields.ComponentRef].AsString(); |
54 | set => this.Set((int)UserTupleFields.User, value); | 52 | set => this.Set((int)UserTupleFields.ComponentRef, value); |
55 | } | ||
56 | |||
57 | public string Component_ | ||
58 | { | ||
59 | get => this.Fields[(int)UserTupleFields.Component_].AsString(); | ||
60 | set => this.Set((int)UserTupleFields.Component_, value); | ||
61 | } | 53 | } |
62 | 54 | ||
63 | public string Name | 55 | public string Name |
diff --git a/src/wixext/Tuples/WixCloseApplicationTuple.cs b/src/wixext/Tuples/WixCloseApplicationTuple.cs index c2095d93..cc91c326 100644 --- a/src/wixext/Tuples/WixCloseApplicationTuple.cs +++ b/src/wixext/Tuples/WixCloseApplicationTuple.cs | |||
@@ -11,7 +11,6 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.WixCloseApplication.ToString(), | 11 | UtilTupleDefinitionType.WixCloseApplication.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(WixCloseApplicationTupleFields.WixCloseApplication), IntermediateFieldType.String), | ||
15 | new IntermediateFieldDefinition(nameof(WixCloseApplicationTupleFields.Target), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(WixCloseApplicationTupleFields.Target), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(WixCloseApplicationTupleFields.Description), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(WixCloseApplicationTupleFields.Description), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(WixCloseApplicationTupleFields.Condition), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(WixCloseApplicationTupleFields.Condition), IntermediateFieldType.String), |
@@ -31,7 +30,6 @@ namespace WixToolset.Util.Tuples | |||
31 | 30 | ||
32 | public enum WixCloseApplicationTupleFields | 31 | public enum WixCloseApplicationTupleFields |
33 | { | 32 | { |
34 | WixCloseApplication, | ||
35 | Target, | 33 | Target, |
36 | Description, | 34 | Description, |
37 | Condition, | 35 | Condition, |
@@ -54,12 +52,6 @@ namespace WixToolset.Util.Tuples | |||
54 | 52 | ||
55 | public IntermediateField this[WixCloseApplicationTupleFields index] => this.Fields[(int)index]; | 53 | public IntermediateField this[WixCloseApplicationTupleFields index] => this.Fields[(int)index]; |
56 | 54 | ||
57 | public string WixCloseApplication | ||
58 | { | ||
59 | get => this.Fields[(int)WixCloseApplicationTupleFields.WixCloseApplication].AsString(); | ||
60 | set => this.Set((int)WixCloseApplicationTupleFields.WixCloseApplication, value); | ||
61 | } | ||
62 | |||
63 | public string Target | 55 | public string Target |
64 | { | 56 | { |
65 | get => this.Fields[(int)WixCloseApplicationTupleFields.Target].AsString(); | 57 | get => this.Fields[(int)WixCloseApplicationTupleFields.Target].AsString(); |
diff --git a/src/wixext/Tuples/WixFormatFilesTuple.cs b/src/wixext/Tuples/WixFormatFilesTuple.cs index 7fc092b0..8e7db0c6 100644 --- a/src/wixext/Tuples/WixFormatFilesTuple.cs +++ b/src/wixext/Tuples/WixFormatFilesTuple.cs | |||
@@ -11,8 +11,8 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.WixFormatFiles.ToString(), | 11 | UtilTupleDefinitionType.WixFormatFiles.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(WixFormatFilesTupleFields.Binary_), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(WixFormatFilesTupleFields.BinaryRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(WixFormatFilesTupleFields.File_), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(WixFormatFilesTupleFields.FileRef), IntermediateFieldType.String), |
16 | }, | 16 | }, |
17 | typeof(WixFormatFilesTuple)); | 17 | typeof(WixFormatFilesTuple)); |
18 | } | 18 | } |
@@ -24,8 +24,8 @@ namespace WixToolset.Util.Tuples | |||
24 | 24 | ||
25 | public enum WixFormatFilesTupleFields | 25 | public enum WixFormatFilesTupleFields |
26 | { | 26 | { |
27 | Binary_, | 27 | BinaryRef, |
28 | File_, | 28 | FileRef, |
29 | } | 29 | } |
30 | 30 | ||
31 | public class WixFormatFilesTuple : IntermediateTuple | 31 | public class WixFormatFilesTuple : IntermediateTuple |
@@ -40,16 +40,16 @@ namespace WixToolset.Util.Tuples | |||
40 | 40 | ||
41 | public IntermediateField this[WixFormatFilesTupleFields index] => this.Fields[(int)index]; | 41 | public IntermediateField this[WixFormatFilesTupleFields index] => this.Fields[(int)index]; |
42 | 42 | ||
43 | public string Binary_ | 43 | public string BinaryRef |
44 | { | 44 | { |
45 | get => this.Fields[(int)WixFormatFilesTupleFields.Binary_].AsString(); | 45 | get => this.Fields[(int)WixFormatFilesTupleFields.BinaryRef].AsString(); |
46 | set => this.Set((int)WixFormatFilesTupleFields.Binary_, value); | 46 | set => this.Set((int)WixFormatFilesTupleFields.BinaryRef, value); |
47 | } | 47 | } |
48 | 48 | ||
49 | public string File_ | 49 | public string FileRef |
50 | { | 50 | { |
51 | get => this.Fields[(int)WixFormatFilesTupleFields.File_].AsString(); | 51 | get => this.Fields[(int)WixFormatFilesTupleFields.FileRef].AsString(); |
52 | set => this.Set((int)WixFormatFilesTupleFields.File_, value); | 52 | set => this.Set((int)WixFormatFilesTupleFields.FileRef, value); |
53 | } | 53 | } |
54 | } | 54 | } |
55 | } \ No newline at end of file | 55 | } \ No newline at end of file |
diff --git a/src/wixext/Tuples/WixInternetShortcutTuple.cs b/src/wixext/Tuples/WixInternetShortcutTuple.cs index 5c29cda6..935d9462 100644 --- a/src/wixext/Tuples/WixInternetShortcutTuple.cs +++ b/src/wixext/Tuples/WixInternetShortcutTuple.cs | |||
@@ -11,9 +11,8 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.WixInternetShortcut.ToString(), | 11 | UtilTupleDefinitionType.WixInternetShortcut.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(WixInternetShortcutTupleFields.WixInternetShortcut), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(WixInternetShortcutTupleFields.ComponentRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(WixInternetShortcutTupleFields.Component_), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(WixInternetShortcutTupleFields.DirectoryRef), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(WixInternetShortcutTupleFields.Directory_), IntermediateFieldType.String), | ||
17 | new IntermediateFieldDefinition(nameof(WixInternetShortcutTupleFields.Name), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(WixInternetShortcutTupleFields.Name), IntermediateFieldType.String), |
18 | new IntermediateFieldDefinition(nameof(WixInternetShortcutTupleFields.Target), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(WixInternetShortcutTupleFields.Target), IntermediateFieldType.String), |
19 | new IntermediateFieldDefinition(nameof(WixInternetShortcutTupleFields.Attributes), IntermediateFieldType.Number), | 18 | new IntermediateFieldDefinition(nameof(WixInternetShortcutTupleFields.Attributes), IntermediateFieldType.Number), |
@@ -30,9 +29,8 @@ namespace WixToolset.Util.Tuples | |||
30 | 29 | ||
31 | public enum WixInternetShortcutTupleFields | 30 | public enum WixInternetShortcutTupleFields |
32 | { | 31 | { |
33 | WixInternetShortcut, | 32 | ComponentRef, |
34 | Component_, | 33 | DirectoryRef, |
35 | Directory_, | ||
36 | Name, | 34 | Name, |
37 | Target, | 35 | Target, |
38 | Attributes, | 36 | Attributes, |
@@ -52,22 +50,16 @@ namespace WixToolset.Util.Tuples | |||
52 | 50 | ||
53 | public IntermediateField this[WixInternetShortcutTupleFields index] => this.Fields[(int)index]; | 51 | public IntermediateField this[WixInternetShortcutTupleFields index] => this.Fields[(int)index]; |
54 | 52 | ||
55 | public string WixInternetShortcut | 53 | public string ComponentRef |
56 | { | 54 | { |
57 | get => this.Fields[(int)WixInternetShortcutTupleFields.WixInternetShortcut].AsString(); | 55 | get => this.Fields[(int)WixInternetShortcutTupleFields.ComponentRef].AsString(); |
58 | set => this.Set((int)WixInternetShortcutTupleFields.WixInternetShortcut, value); | 56 | set => this.Set((int)WixInternetShortcutTupleFields.ComponentRef, value); |
59 | } | 57 | } |
60 | 58 | ||
61 | public string Component_ | 59 | public string DirectoryRef |
62 | { | 60 | { |
63 | get => this.Fields[(int)WixInternetShortcutTupleFields.Component_].AsString(); | 61 | get => this.Fields[(int)WixInternetShortcutTupleFields.DirectoryRef].AsString(); |
64 | set => this.Set((int)WixInternetShortcutTupleFields.Component_, value); | 62 | set => this.Set((int)WixInternetShortcutTupleFields.DirectoryRef, value); |
65 | } | ||
66 | |||
67 | public string Directory_ | ||
68 | { | ||
69 | get => this.Fields[(int)WixInternetShortcutTupleFields.Directory_].AsString(); | ||
70 | set => this.Set((int)WixInternetShortcutTupleFields.Directory_, value); | ||
71 | } | 63 | } |
72 | 64 | ||
73 | public string Name | 65 | public string Name |
diff --git a/src/wixext/Tuples/WixRemoveFolderExTuple.cs b/src/wixext/Tuples/WixRemoveFolderExTuple.cs index 35e22e2d..d43c59c3 100644 --- a/src/wixext/Tuples/WixRemoveFolderExTuple.cs +++ b/src/wixext/Tuples/WixRemoveFolderExTuple.cs | |||
@@ -11,8 +11,7 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.WixRemoveFolderEx.ToString(), | 11 | UtilTupleDefinitionType.WixRemoveFolderEx.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(WixRemoveFolderExTupleFields.WixRemoveFolderEx), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(WixRemoveFolderExTupleFields.ComponentRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(WixRemoveFolderExTupleFields.Component_), IntermediateFieldType.String), | ||
16 | new IntermediateFieldDefinition(nameof(WixRemoveFolderExTupleFields.Property), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(WixRemoveFolderExTupleFields.Property), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(WixRemoveFolderExTupleFields.InstallMode), IntermediateFieldType.Number), | 16 | new IntermediateFieldDefinition(nameof(WixRemoveFolderExTupleFields.InstallMode), IntermediateFieldType.Number), |
18 | }, | 17 | }, |
@@ -26,8 +25,7 @@ namespace WixToolset.Util.Tuples | |||
26 | 25 | ||
27 | public enum WixRemoveFolderExTupleFields | 26 | public enum WixRemoveFolderExTupleFields |
28 | { | 27 | { |
29 | WixRemoveFolderEx, | 28 | ComponentRef, |
30 | Component_, | ||
31 | Property, | 29 | Property, |
32 | InstallMode, | 30 | InstallMode, |
33 | } | 31 | } |
@@ -44,16 +42,10 @@ namespace WixToolset.Util.Tuples | |||
44 | 42 | ||
45 | public IntermediateField this[WixRemoveFolderExTupleFields index] => this.Fields[(int)index]; | 43 | public IntermediateField this[WixRemoveFolderExTupleFields index] => this.Fields[(int)index]; |
46 | 44 | ||
47 | public string WixRemoveFolderEx | 45 | public string ComponentRef |
48 | { | 46 | { |
49 | get => this.Fields[(int)WixRemoveFolderExTupleFields.WixRemoveFolderEx].AsString(); | 47 | get => this.Fields[(int)WixRemoveFolderExTupleFields.ComponentRef].AsString(); |
50 | set => this.Set((int)WixRemoveFolderExTupleFields.WixRemoveFolderEx, value); | 48 | set => this.Set((int)WixRemoveFolderExTupleFields.ComponentRef, value); |
51 | } | ||
52 | |||
53 | public string Component_ | ||
54 | { | ||
55 | get => this.Fields[(int)WixRemoveFolderExTupleFields.Component_].AsString(); | ||
56 | set => this.Set((int)WixRemoveFolderExTupleFields.Component_, value); | ||
57 | } | 49 | } |
58 | 50 | ||
59 | public string Property | 51 | public string Property |
diff --git a/src/wixext/Tuples/WixRestartResourceTuple.cs b/src/wixext/Tuples/WixRestartResourceTuple.cs index 828d9d15..92091c3d 100644 --- a/src/wixext/Tuples/WixRestartResourceTuple.cs +++ b/src/wixext/Tuples/WixRestartResourceTuple.cs | |||
@@ -11,8 +11,7 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.WixRestartResource.ToString(), | 11 | UtilTupleDefinitionType.WixRestartResource.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(WixRestartResourceTupleFields.WixRestartResource), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(WixRestartResourceTupleFields.ComponentRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(WixRestartResourceTupleFields.Component_), IntermediateFieldType.String), | ||
16 | new IntermediateFieldDefinition(nameof(WixRestartResourceTupleFields.Resource), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(WixRestartResourceTupleFields.Resource), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(WixRestartResourceTupleFields.Attributes), IntermediateFieldType.Number), | 16 | new IntermediateFieldDefinition(nameof(WixRestartResourceTupleFields.Attributes), IntermediateFieldType.Number), |
18 | }, | 17 | }, |
@@ -26,8 +25,7 @@ namespace WixToolset.Util.Tuples | |||
26 | 25 | ||
27 | public enum WixRestartResourceTupleFields | 26 | public enum WixRestartResourceTupleFields |
28 | { | 27 | { |
29 | WixRestartResource, | 28 | ComponentRef, |
30 | Component_, | ||
31 | Resource, | 29 | Resource, |
32 | Attributes, | 30 | Attributes, |
33 | } | 31 | } |
@@ -44,16 +42,10 @@ namespace WixToolset.Util.Tuples | |||
44 | 42 | ||
45 | public IntermediateField this[WixRestartResourceTupleFields index] => this.Fields[(int)index]; | 43 | public IntermediateField this[WixRestartResourceTupleFields index] => this.Fields[(int)index]; |
46 | 44 | ||
47 | public string WixRestartResource | 45 | public string ComponentRef |
48 | { | 46 | { |
49 | get => this.Fields[(int)WixRestartResourceTupleFields.WixRestartResource].AsString(); | 47 | get => this.Fields[(int)WixRestartResourceTupleFields.ComponentRef].AsString(); |
50 | set => this.Set((int)WixRestartResourceTupleFields.WixRestartResource, value); | 48 | set => this.Set((int)WixRestartResourceTupleFields.ComponentRef, value); |
51 | } | ||
52 | |||
53 | public string Component_ | ||
54 | { | ||
55 | get => this.Fields[(int)WixRestartResourceTupleFields.Component_].AsString(); | ||
56 | set => this.Set((int)WixRestartResourceTupleFields.Component_, value); | ||
57 | } | 49 | } |
58 | 50 | ||
59 | public string Resource | 51 | public string Resource |
diff --git a/src/wixext/Tuples/WixTouchFileTuple.cs b/src/wixext/Tuples/WixTouchFileTuple.cs index f87f396e..0a152dec 100644 --- a/src/wixext/Tuples/WixTouchFileTuple.cs +++ b/src/wixext/Tuples/WixTouchFileTuple.cs | |||
@@ -11,8 +11,7 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.WixTouchFile.ToString(), | 11 | UtilTupleDefinitionType.WixTouchFile.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(WixTouchFileTupleFields.WixTouchFile), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(WixTouchFileTupleFields.ComponentRef), IntermediateFieldType.String), |
15 | new IntermediateFieldDefinition(nameof(WixTouchFileTupleFields.Component_), IntermediateFieldType.String), | ||
16 | new IntermediateFieldDefinition(nameof(WixTouchFileTupleFields.Path), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(WixTouchFileTupleFields.Path), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(WixTouchFileTupleFields.Attributes), IntermediateFieldType.Number), | 16 | new IntermediateFieldDefinition(nameof(WixTouchFileTupleFields.Attributes), IntermediateFieldType.Number), |
18 | }, | 17 | }, |
@@ -26,8 +25,7 @@ namespace WixToolset.Util.Tuples | |||
26 | 25 | ||
27 | public enum WixTouchFileTupleFields | 26 | public enum WixTouchFileTupleFields |
28 | { | 27 | { |
29 | WixTouchFile, | 28 | ComponentRef, |
30 | Component_, | ||
31 | Path, | 29 | Path, |
32 | Attributes, | 30 | Attributes, |
33 | } | 31 | } |
@@ -44,16 +42,10 @@ namespace WixToolset.Util.Tuples | |||
44 | 42 | ||
45 | public IntermediateField this[WixTouchFileTupleFields index] => this.Fields[(int)index]; | 43 | public IntermediateField this[WixTouchFileTupleFields index] => this.Fields[(int)index]; |
46 | 44 | ||
47 | public string WixTouchFile | 45 | public string ComponentRef |
48 | { | 46 | { |
49 | get => this.Fields[(int)WixTouchFileTupleFields.WixTouchFile].AsString(); | 47 | get => this.Fields[(int)WixTouchFileTupleFields.ComponentRef].AsString(); |
50 | set => this.Set((int)WixTouchFileTupleFields.WixTouchFile, value); | 48 | set => this.Set((int)WixTouchFileTupleFields.ComponentRef, value); |
51 | } | ||
52 | |||
53 | public string Component_ | ||
54 | { | ||
55 | get => this.Fields[(int)WixTouchFileTupleFields.Component_].AsString(); | ||
56 | set => this.Set((int)WixTouchFileTupleFields.Component_, value); | ||
57 | } | 49 | } |
58 | 50 | ||
59 | public string Path | 51 | public string Path |
diff --git a/src/wixext/Tuples/XmlConfigTuple.cs b/src/wixext/Tuples/XmlConfigTuple.cs index 093299b2..0eb49cac 100644 --- a/src/wixext/Tuples/XmlConfigTuple.cs +++ b/src/wixext/Tuples/XmlConfigTuple.cs | |||
@@ -11,14 +11,13 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.XmlConfig.ToString(), | 11 | UtilTupleDefinitionType.XmlConfig.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.XmlConfig), IntermediateFieldType.String), | ||
15 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.File), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.File), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.ElementPath), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.ElementPath), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.VerifyPath), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.VerifyPath), IntermediateFieldType.String), |
18 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.Name), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.Name), IntermediateFieldType.String), |
19 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.Value), IntermediateFieldType.String), | 18 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.Value), IntermediateFieldType.String), |
20 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.Flags), IntermediateFieldType.Number), | 19 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.Flags), IntermediateFieldType.Number), |
21 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.Component_), IntermediateFieldType.String), | 20 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.ComponentRef), IntermediateFieldType.String), |
22 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.Sequence), IntermediateFieldType.Number), | 21 | new IntermediateFieldDefinition(nameof(XmlConfigTupleFields.Sequence), IntermediateFieldType.Number), |
23 | }, | 22 | }, |
24 | typeof(XmlConfigTuple)); | 23 | typeof(XmlConfigTuple)); |
@@ -31,14 +30,13 @@ namespace WixToolset.Util.Tuples | |||
31 | 30 | ||
32 | public enum XmlConfigTupleFields | 31 | public enum XmlConfigTupleFields |
33 | { | 32 | { |
34 | XmlConfig, | ||
35 | File, | 33 | File, |
36 | ElementPath, | 34 | ElementPath, |
37 | VerifyPath, | 35 | VerifyPath, |
38 | Name, | 36 | Name, |
39 | Value, | 37 | Value, |
40 | Flags, | 38 | Flags, |
41 | Component_, | 39 | ComponentRef, |
42 | Sequence, | 40 | Sequence, |
43 | } | 41 | } |
44 | 42 | ||
@@ -54,12 +52,6 @@ namespace WixToolset.Util.Tuples | |||
54 | 52 | ||
55 | public IntermediateField this[XmlConfigTupleFields index] => this.Fields[(int)index]; | 53 | public IntermediateField this[XmlConfigTupleFields index] => this.Fields[(int)index]; |
56 | 54 | ||
57 | public string XmlConfig | ||
58 | { | ||
59 | get => this.Fields[(int)XmlConfigTupleFields.XmlConfig].AsString(); | ||
60 | set => this.Set((int)XmlConfigTupleFields.XmlConfig, value); | ||
61 | } | ||
62 | |||
63 | public string File | 55 | public string File |
64 | { | 56 | { |
65 | get => this.Fields[(int)XmlConfigTupleFields.File].AsString(); | 57 | get => this.Fields[(int)XmlConfigTupleFields.File].AsString(); |
@@ -96,10 +88,10 @@ namespace WixToolset.Util.Tuples | |||
96 | set => this.Set((int)XmlConfigTupleFields.Flags, value); | 88 | set => this.Set((int)XmlConfigTupleFields.Flags, value); |
97 | } | 89 | } |
98 | 90 | ||
99 | public string Component_ | 91 | public string ComponentRef |
100 | { | 92 | { |
101 | get => this.Fields[(int)XmlConfigTupleFields.Component_].AsString(); | 93 | get => this.Fields[(int)XmlConfigTupleFields.ComponentRef].AsString(); |
102 | set => this.Set((int)XmlConfigTupleFields.Component_, value); | 94 | set => this.Set((int)XmlConfigTupleFields.ComponentRef, value); |
103 | } | 95 | } |
104 | 96 | ||
105 | public int Sequence | 97 | public int Sequence |
diff --git a/src/wixext/Tuples/XmlFileTuple.cs b/src/wixext/Tuples/XmlFileTuple.cs index 27ea7119..e0b3bbd7 100644 --- a/src/wixext/Tuples/XmlFileTuple.cs +++ b/src/wixext/Tuples/XmlFileTuple.cs | |||
@@ -11,13 +11,12 @@ namespace WixToolset.Util | |||
11 | UtilTupleDefinitionType.XmlFile.ToString(), | 11 | UtilTupleDefinitionType.XmlFile.ToString(), |
12 | new[] | 12 | new[] |
13 | { | 13 | { |
14 | new IntermediateFieldDefinition(nameof(XmlFileTupleFields.XmlFile), IntermediateFieldType.String), | ||
15 | new IntermediateFieldDefinition(nameof(XmlFileTupleFields.File), IntermediateFieldType.String), | 14 | new IntermediateFieldDefinition(nameof(XmlFileTupleFields.File), IntermediateFieldType.String), |
16 | new IntermediateFieldDefinition(nameof(XmlFileTupleFields.ElementPath), IntermediateFieldType.String), | 15 | new IntermediateFieldDefinition(nameof(XmlFileTupleFields.ElementPath), IntermediateFieldType.String), |
17 | new IntermediateFieldDefinition(nameof(XmlFileTupleFields.Name), IntermediateFieldType.String), | 16 | new IntermediateFieldDefinition(nameof(XmlFileTupleFields.Name), IntermediateFieldType.String), |
18 | new IntermediateFieldDefinition(nameof(XmlFileTupleFields.Value), IntermediateFieldType.String), | 17 | new IntermediateFieldDefinition(nameof(XmlFileTupleFields.Value), IntermediateFieldType.String), |
19 | new IntermediateFieldDefinition(nameof(XmlFileTupleFields.Flags), IntermediateFieldType.Number), | 18 | new IntermediateFieldDefinition(nameof(XmlFileTupleFields.Flags), IntermediateFieldType.Number), |
20 | new IntermediateFieldDefinition(nameof(XmlFileTupleFields.Component_), IntermediateFieldType.String), | 19 | new IntermediateFieldDefinition(nameof(XmlFileTupleFields.ComponentRef), IntermediateFieldType.String), |
21 | new IntermediateFieldDefinition(nameof(XmlFileTupleFields.Sequence), IntermediateFieldType.Number), | 20 | new IntermediateFieldDefinition(nameof(XmlFileTupleFields.Sequence), IntermediateFieldType.Number), |
22 | }, | 21 | }, |
23 | typeof(XmlFileTuple)); | 22 | typeof(XmlFileTuple)); |
@@ -30,13 +29,12 @@ namespace WixToolset.Util.Tuples | |||
30 | 29 | ||
31 | public enum XmlFileTupleFields | 30 | public enum XmlFileTupleFields |
32 | { | 31 | { |
33 | XmlFile, | ||
34 | File, | 32 | File, |
35 | ElementPath, | 33 | ElementPath, |
36 | Name, | 34 | Name, |
37 | Value, | 35 | Value, |
38 | Flags, | 36 | Flags, |
39 | Component_, | 37 | ComponentRef, |
40 | Sequence, | 38 | Sequence, |
41 | } | 39 | } |
42 | 40 | ||
@@ -52,12 +50,6 @@ namespace WixToolset.Util.Tuples | |||
52 | 50 | ||
53 | public IntermediateField this[XmlFileTupleFields index] => this.Fields[(int)index]; | 51 | public IntermediateField this[XmlFileTupleFields index] => this.Fields[(int)index]; |
54 | 52 | ||
55 | public string XmlFile | ||
56 | { | ||
57 | get => this.Fields[(int)XmlFileTupleFields.XmlFile].AsString(); | ||
58 | set => this.Set((int)XmlFileTupleFields.XmlFile, value); | ||
59 | } | ||
60 | |||
61 | public string File | 53 | public string File |
62 | { | 54 | { |
63 | get => this.Fields[(int)XmlFileTupleFields.File].AsString(); | 55 | get => this.Fields[(int)XmlFileTupleFields.File].AsString(); |
@@ -88,10 +80,10 @@ namespace WixToolset.Util.Tuples | |||
88 | set => this.Set((int)XmlFileTupleFields.Flags, value); | 80 | set => this.Set((int)XmlFileTupleFields.Flags, value); |
89 | } | 81 | } |
90 | 82 | ||
91 | public string Component_ | 83 | public string ComponentRef |
92 | { | 84 | { |
93 | get => this.Fields[(int)XmlFileTupleFields.Component_].AsString(); | 85 | get => this.Fields[(int)XmlFileTupleFields.ComponentRef].AsString(); |
94 | set => this.Set((int)XmlFileTupleFields.Component_, value); | 86 | set => this.Set((int)XmlFileTupleFields.ComponentRef, value); |
95 | } | 87 | } |
96 | 88 | ||
97 | public int Sequence | 89 | public int Sequence |
diff --git a/src/wixext/UtilCompiler.cs b/src/wixext/UtilCompiler.cs index 19f4af06..a8d59ca3 100644 --- a/src/wixext/UtilCompiler.cs +++ b/src/wixext/UtilCompiler.cs | |||
@@ -14,6 +14,7 @@ namespace WixToolset.Util | |||
14 | using WixToolset.Data.Tuples; | 14 | using WixToolset.Data.Tuples; |
15 | using WixToolset.Extensibility; | 15 | using WixToolset.Extensibility; |
16 | using WixToolset.Extensibility.Data; | 16 | using WixToolset.Extensibility.Data; |
17 | using WixToolset.Util.Tuples; | ||
17 | 18 | ||
18 | /// <summary> | 19 | /// <summary> |
19 | /// The compiler for the WiX Toolset Utility Extension. | 20 | /// The compiler for the WiX Toolset Utility Extension. |
@@ -790,38 +791,32 @@ namespace WixToolset.Util | |||
790 | 791 | ||
791 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); | 792 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); |
792 | 793 | ||
793 | // Reference CustomAction since nothing will happen without it | 794 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "CloseApplications", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); |
794 | if (this.Context.Platform == Platform.ARM) | ||
795 | { | ||
796 | // Ensure ARM version of the CA is referenced | ||
797 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "WixCloseApplications_ARM"); | ||
798 | } | ||
799 | else | ||
800 | { | ||
801 | // All other supported platforms use x86 | ||
802 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "WixCloseApplications"); | ||
803 | } | ||
804 | 795 | ||
805 | if (!this.Messaging.EncounteredError) | 796 | if (!this.Messaging.EncounteredError) |
806 | { | 797 | { |
807 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixCloseApplication", id); | 798 | var tuple = new WixCloseApplicationTuple(sourceLineNumbers, id) |
808 | row.Set(1, target); | 799 | { |
809 | row.Set(2, description); | 800 | Target = target, |
810 | row.Set(3, condition); | 801 | Description = description, |
811 | row.Set(4, attributes); | 802 | Condition = condition, |
803 | Attributes = attributes, | ||
804 | Property = property, | ||
805 | }; | ||
812 | if (CompilerConstants.IntegerNotSet != sequence) | 806 | if (CompilerConstants.IntegerNotSet != sequence) |
813 | { | 807 | { |
814 | row.Set(5, sequence); | 808 | tuple.Sequence = sequence; |
815 | } | 809 | } |
816 | row.Set(6, property); | ||
817 | if (CompilerConstants.IntegerNotSet != terminateExitCode) | 810 | if (CompilerConstants.IntegerNotSet != terminateExitCode) |
818 | { | 811 | { |
819 | row.Set(7, terminateExitCode); | 812 | tuple.TerminateExitCode = terminateExitCode; |
820 | } | 813 | } |
821 | if (CompilerConstants.IntegerNotSet != timeout) | 814 | if (CompilerConstants.IntegerNotSet != timeout) |
822 | { | 815 | { |
823 | row.Set(8, timeout * 1000); // make the timeout milliseconds in the table. | 816 | tuple.Timeout = timeout * 1000; // make the timeout milliseconds in the table. |
824 | } | 817 | } |
818 | |||
819 | section.Tuples.Add(tuple); | ||
825 | } | 820 | } |
826 | } | 821 | } |
827 | 822 | ||
@@ -1096,7 +1091,7 @@ namespace WixToolset.Util | |||
1096 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 1091 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
1097 | string description = null; | 1092 | string description = null; |
1098 | string name = null; | 1093 | string name = null; |
1099 | string id = null; | 1094 | Identifier id = null; |
1100 | 1095 | ||
1101 | foreach (XAttribute attrib in element.Attributes()) | 1096 | foreach (XAttribute attrib in element.Attributes()) |
1102 | { | 1097 | { |
@@ -1105,7 +1100,7 @@ namespace WixToolset.Util | |||
1105 | switch (attrib.Name.LocalName) | 1100 | switch (attrib.Name.LocalName) |
1106 | { | 1101 | { |
1107 | case "Id": | 1102 | case "Id": |
1108 | id = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 1103 | id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib); |
1109 | break; | 1104 | break; |
1110 | case "Name": | 1105 | case "Name": |
1111 | name = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); | 1106 | name = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); |
@@ -1159,28 +1154,20 @@ namespace WixToolset.Util | |||
1159 | } | 1154 | } |
1160 | } | 1155 | } |
1161 | 1156 | ||
1162 | // Reference ConfigureSmbInstall and ConfigureSmbUninstall since nothing will happen without it | 1157 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureSmbInstall", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); |
1163 | if (this.Context.Platform == Platform.ARM) | 1158 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureSmbUninstall", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); |
1164 | { | ||
1165 | // Ensure ARM version of the CA is referenced | ||
1166 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureSmbInstall_ARM"); | ||
1167 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureSmbUninstall_ARM"); | ||
1168 | } | ||
1169 | else | ||
1170 | { | ||
1171 | // All other supported platforms use x86 | ||
1172 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureSmbInstall"); | ||
1173 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureSmbUninstall"); | ||
1174 | } | ||
1175 | 1159 | ||
1176 | if (!this.Messaging.EncounteredError) | 1160 | if (!this.Messaging.EncounteredError) |
1177 | { | 1161 | { |
1178 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "FileShare"); | 1162 | var tuple = new FileShareTuple(sourceLineNumbers, id) |
1179 | row.Set(0, id); | 1163 | { |
1180 | row.Set(1, name); | 1164 | ShareName = name, |
1181 | row.Set(2, componentId); | 1165 | ComponentRef = componentId, |
1182 | row.Set(3, description); | 1166 | Description = description, |
1183 | row.Set(4, directoryId); | 1167 | DirectoryRef = directoryId, |
1168 | }; | ||
1169 | |||
1170 | section.Tuples.Add(tuple); | ||
1184 | } | 1171 | } |
1185 | } | 1172 | } |
1186 | 1173 | ||
@@ -1189,7 +1176,7 @@ namespace WixToolset.Util | |||
1189 | /// </summary> | 1176 | /// </summary> |
1190 | /// <param name="element">Element to parse.</param> | 1177 | /// <param name="element">Element to parse.</param> |
1191 | /// <param name="fileShareId">The identifier of the parent FileShare element.</param> | 1178 | /// <param name="fileShareId">The identifier of the parent FileShare element.</param> |
1192 | private void ParseFileSharePermissionElement(Intermediate intermediate, IntermediateSection section, XElement element, string fileShareId) | 1179 | private void ParseFileSharePermissionElement(Intermediate intermediate, IntermediateSection section, XElement element, Identifier fileShareId) |
1193 | { | 1180 | { |
1194 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 1181 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
1195 | BitArray bits = new BitArray(32); | 1182 | BitArray bits = new BitArray(32); |
@@ -1244,10 +1231,14 @@ namespace WixToolset.Util | |||
1244 | 1231 | ||
1245 | if (!this.Messaging.EncounteredError) | 1232 | if (!this.Messaging.EncounteredError) |
1246 | { | 1233 | { |
1247 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "FileSharePermissions"); | 1234 | var tuple = new FileSharePermissionsTuple(sourceLineNumbers) |
1248 | row.Set(0, fileShareId); | 1235 | { |
1249 | row.Set(1, user); | 1236 | FileShareRef = fileShareId.Id, |
1250 | row.Set(2, permission); | 1237 | UserRef = user, |
1238 | Permissions = permission, | ||
1239 | }; | ||
1240 | |||
1241 | section.Tuples.Add(tuple); | ||
1251 | } | 1242 | } |
1252 | } | 1243 | } |
1253 | 1244 | ||
@@ -1259,7 +1250,7 @@ namespace WixToolset.Util | |||
1259 | private void ParseGroupElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) | 1250 | private void ParseGroupElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) |
1260 | { | 1251 | { |
1261 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 1252 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
1262 | string id = null; | 1253 | Identifier id = null; |
1263 | string domain = null; | 1254 | string domain = null; |
1264 | string name = null; | 1255 | string name = null; |
1265 | 1256 | ||
@@ -1270,7 +1261,7 @@ namespace WixToolset.Util | |||
1270 | switch (attrib.Name.LocalName) | 1261 | switch (attrib.Name.LocalName) |
1271 | { | 1262 | { |
1272 | case "Id": | 1263 | case "Id": |
1273 | id = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 1264 | id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib); |
1274 | break; | 1265 | break; |
1275 | case "Name": | 1266 | case "Name": |
1276 | name = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); | 1267 | name = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); |
@@ -1298,11 +1289,14 @@ namespace WixToolset.Util | |||
1298 | 1289 | ||
1299 | if (!this.Messaging.EncounteredError) | 1290 | if (!this.Messaging.EncounteredError) |
1300 | { | 1291 | { |
1301 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "Group"); | 1292 | var tuple = new GroupTuple(sourceLineNumbers, id) |
1302 | row.Set(0, id); | 1293 | { |
1303 | row.Set(1, componentId); | 1294 | ComponentRef = componentId, |
1304 | row.Set(2, name); | 1295 | Name = name, |
1305 | row.Set(3, domain); | 1296 | Domain = domain, |
1297 | }; | ||
1298 | |||
1299 | section.Tuples.Add(tuple); | ||
1306 | } | 1300 | } |
1307 | } | 1301 | } |
1308 | 1302 | ||
@@ -1341,9 +1335,13 @@ namespace WixToolset.Util | |||
1341 | 1335 | ||
1342 | if (!this.Messaging.EncounteredError) | 1336 | if (!this.Messaging.EncounteredError) |
1343 | { | 1337 | { |
1344 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "UserGroup"); | 1338 | var tuple = new UserGroupTuple(sourceLineNumbers) |
1345 | row.Set(0, userId); | 1339 | { |
1346 | row.Set(1, groupId); | 1340 | UserRef = userId, |
1341 | GroupRef = groupId, | ||
1342 | }; | ||
1343 | |||
1344 | section.Tuples.Add(tuple); | ||
1347 | } | 1345 | } |
1348 | } | 1346 | } |
1349 | 1347 | ||
@@ -1356,7 +1354,7 @@ namespace WixToolset.Util | |||
1356 | private void ParseInternetShortcutElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId, string defaultTarget) | 1354 | private void ParseInternetShortcutElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId, string defaultTarget) |
1357 | { | 1355 | { |
1358 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 1356 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
1359 | string id = null; | 1357 | Identifier id = null; |
1360 | string name = null; | 1358 | string name = null; |
1361 | string target = null; | 1359 | string target = null; |
1362 | string directoryId = null; | 1360 | string directoryId = null; |
@@ -1374,7 +1372,7 @@ namespace WixToolset.Util | |||
1374 | directoryId = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 1372 | directoryId = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); |
1375 | break; | 1373 | break; |
1376 | case "Id": | 1374 | case "Id": |
1377 | id = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 1375 | id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib); |
1378 | break; | 1376 | break; |
1379 | case "Name": | 1377 | case "Name": |
1380 | name = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); | 1378 | name = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); |
@@ -1457,43 +1455,40 @@ namespace WixToolset.Util | |||
1457 | /// <param name="id">Identifier of shortcut.</param> | 1455 | /// <param name="id">Identifier of shortcut.</param> |
1458 | /// <param name="name">Name of shortcut without extension.</param> | 1456 | /// <param name="name">Name of shortcut without extension.</param> |
1459 | /// <param name="target">Target URL of shortcut.</param> | 1457 | /// <param name="target">Target URL of shortcut.</param> |
1460 | private void CreateWixInternetShortcut(IntermediateSection section, SourceLineNumber sourceLineNumbers, string componentId, string directoryId, string shortcutId, string name, string target, InternetShortcutType type, string iconFile, int iconIndex) | 1458 | private void CreateWixInternetShortcut(IntermediateSection section, SourceLineNumber sourceLineNumbers, string componentId, string directoryId, Identifier shortcutId, string name, string target, InternetShortcutType type, string iconFile, int iconIndex) |
1461 | { | 1459 | { |
1462 | // add the appropriate extension based on type of shortcut | 1460 | // add the appropriate extension based on type of shortcut |
1463 | name = String.Concat(name, InternetShortcutType.Url == type ? ".url" : ".lnk"); | 1461 | name = String.Concat(name, InternetShortcutType.Url == type ? ".url" : ".lnk"); |
1464 | 1462 | ||
1465 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixInternetShortcut"); | 1463 | var tuple = new WixInternetShortcutTuple(sourceLineNumbers, shortcutId) |
1466 | row.Set(0, shortcutId); | ||
1467 | row.Set(1, componentId); | ||
1468 | row.Set(2, directoryId); | ||
1469 | row.Set(3, name); | ||
1470 | row.Set(4, target); | ||
1471 | row.Set(5, (int)type); | ||
1472 | row.Set(6, iconFile); | ||
1473 | row.Set(7, iconIndex); | ||
1474 | |||
1475 | // Reference custom action because nothing will happen without it | ||
1476 | if (this.Context.Platform == Platform.ARM) | ||
1477 | { | ||
1478 | // Ensure ARM version of the CA is referenced | ||
1479 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "WixSchedInternetShortcuts_ARM"); | ||
1480 | } | ||
1481 | else | ||
1482 | { | 1464 | { |
1483 | // All other supported platforms use x86 | 1465 | ComponentRef = componentId, |
1484 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "WixSchedInternetShortcuts"); | 1466 | DirectoryRef = directoryId, |
1485 | } | 1467 | Name = name, |
1468 | Target = target, | ||
1469 | Attributes = (int)type, | ||
1470 | IconFile = iconFile, | ||
1471 | IconIndex = iconIndex, | ||
1472 | }; | ||
1473 | |||
1474 | section.Tuples.Add(tuple); | ||
1475 | |||
1476 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedInternetShortcuts", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | ||
1486 | 1477 | ||
1487 | // make sure we have a CreateFolder table so that the immediate CA can add temporary rows to handle installation and uninstallation | 1478 | // make sure we have a CreateFolder table so that the immediate CA can add temporary rows to handle installation and uninstallation |
1488 | this.ParseHelper.EnsureTable(section, sourceLineNumbers, "CreateFolder"); | 1479 | this.ParseHelper.EnsureTable(section, sourceLineNumbers, "CreateFolder"); |
1489 | 1480 | ||
1490 | // use built-in MSI functionality to remove the shortcuts rather than doing so via CA | 1481 | // use built-in MSI functionality to remove the shortcuts rather than doing so via CA |
1491 | row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "RemoveFile"); | 1482 | var removeFileTuple = new RemoveFileTuple(sourceLineNumbers, shortcutId) |
1492 | row.Set(0, shortcutId); | 1483 | { |
1493 | row.Set(1, componentId); | 1484 | ComponentRef = componentId, |
1494 | row.Set(2, this.ParseHelper.IsValidShortFilename(name, false) ? name : String.Concat(this.ParseHelper.CreateShortName(name, true, false, directoryId, name), "|", name)); | 1485 | DirProperty = directoryId, |
1495 | row.Set(3, directoryId); | 1486 | OnUninstall = true, |
1496 | row.Set(4, 2); // msidbRemoveFileInstallModeOnRemove | 1487 | // TODO: A better way? |
1488 | FileName = this.ParseHelper.IsValidShortFilename(name, false) ? name : String.Concat(this.ParseHelper.CreateShortName(name, true, false, directoryId, name), "|", name), | ||
1489 | }; | ||
1490 | |||
1491 | section.Tuples.Add(removeFileTuple); | ||
1497 | } | 1492 | } |
1498 | 1493 | ||
1499 | /// <summary> | 1494 | /// <summary> |
@@ -1504,7 +1499,7 @@ namespace WixToolset.Util | |||
1504 | private void ParsePerformanceCategoryElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) | 1499 | private void ParsePerformanceCategoryElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) |
1505 | { | 1500 | { |
1506 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 1501 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
1507 | string id = null; | 1502 | Identifier id = null; |
1508 | string name = null; | 1503 | string name = null; |
1509 | string help = null; | 1504 | string help = null; |
1510 | YesNoType multiInstance = YesNoType.No; | 1505 | YesNoType multiInstance = YesNoType.No; |
@@ -1537,7 +1532,7 @@ namespace WixToolset.Util | |||
1537 | help = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); | 1532 | help = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); |
1538 | break; | 1533 | break; |
1539 | case "Id": | 1534 | case "Id": |
1540 | id = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 1535 | id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib); |
1541 | break; | 1536 | break; |
1542 | case "Library": | 1537 | case "Library": |
1543 | library = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); | 1538 | library = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); |
@@ -1569,7 +1564,7 @@ namespace WixToolset.Util | |||
1569 | 1564 | ||
1570 | if (null == name) | 1565 | if (null == name) |
1571 | { | 1566 | { |
1572 | name = id; | 1567 | name = id?.Id; |
1573 | } | 1568 | } |
1574 | 1569 | ||
1575 | // Process the child counter elements. | 1570 | // Process the child counter elements. |
@@ -1641,12 +1636,15 @@ namespace WixToolset.Util | |||
1641 | sbSymbolicConstants.AppendFormat("#define LAST_{0}_COUNTER_OFFSET {1}\r\n", objectName, symbolConstantsCounter); | 1636 | sbSymbolicConstants.AppendFormat("#define LAST_{0}_COUNTER_OFFSET {1}\r\n", objectName, symbolConstantsCounter); |
1642 | 1637 | ||
1643 | // Add the calculated INI and H strings to the PerformanceCategory table. | 1638 | // Add the calculated INI and H strings to the PerformanceCategory table. |
1644 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "PerformanceCategory"); | 1639 | var tuple = new PerformanceCategoryTuple(sourceLineNumbers, id) |
1645 | row.Set(0, id); | 1640 | { |
1646 | row.Set(1, componentId); | 1641 | ComponentRef = componentId, |
1647 | row.Set(2, name); | 1642 | Name = name, |
1648 | row.Set(3, sbIniData.ToString()); | 1643 | IniData = sbIniData.ToString(), |
1649 | row.Set(4, sbSymbolicConstants.ToString()); | 1644 | ConstantData = sbSymbolicConstants.ToString(), |
1645 | }; | ||
1646 | |||
1647 | section.Tuples.Add(tuple); | ||
1650 | 1648 | ||
1651 | // Set up the application's performance key. | 1649 | // Set up the application's performance key. |
1652 | string escapedName = UtilCompiler.FindPropertyBrackets.Replace(name, this.EscapeProperties); | 1650 | string escapedName = UtilCompiler.FindPropertyBrackets.Replace(name, this.EscapeProperties); |
@@ -1664,19 +1662,8 @@ namespace WixToolset.Util | |||
1664 | this.ParseHelper.CreateRegistryTuple(section, sourceLineNumbers, RegistryRootType.LocalMachine, performanceKey, "Counter Types", sbCounterTypes.ToString(), componentId, false); | 1662 | this.ParseHelper.CreateRegistryTuple(section, sourceLineNumbers, RegistryRootType.LocalMachine, performanceKey, "Counter Types", sbCounterTypes.ToString(), componentId, false); |
1665 | } | 1663 | } |
1666 | 1664 | ||
1667 | // Reference InstallPerfCounterData and UninstallPerfCounterData since nothing will happen without them | 1665 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "InstallPerfCounterData", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); |
1668 | if (this.Context.Platform == Platform.ARM) | 1666 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "UninstallPerfCounterData", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); |
1669 | { | ||
1670 | // Ensure ARM version of the CAs are referenced | ||
1671 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "InstallPerfCounterData_ARM"); | ||
1672 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "UninstallPerfCounterData_ARM"); | ||
1673 | } | ||
1674 | else | ||
1675 | { | ||
1676 | // All other supported platforms use x86 | ||
1677 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "InstallPerfCounterData"); | ||
1678 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "UninstallPerfCounterData"); | ||
1679 | } | ||
1680 | } | 1667 | } |
1681 | 1668 | ||
1682 | /// <summary> | 1669 | /// <summary> |
@@ -2146,25 +2133,18 @@ namespace WixToolset.Util | |||
2146 | 2133 | ||
2147 | if (!this.Messaging.EncounteredError) | 2134 | if (!this.Messaging.EncounteredError) |
2148 | { | 2135 | { |
2149 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "Perfmon"); | 2136 | var tuple = new PerfmonTuple(sourceLineNumbers) |
2150 | row.Set(0, componentId); | 2137 | { |
2151 | row.Set(1, $"[#{fileId}]"); | 2138 | ComponentRef = componentId, |
2152 | row.Set(2, name); | 2139 | File = $"[#{fileId}]", |
2153 | } | 2140 | Name = name, |
2141 | }; | ||
2154 | 2142 | ||
2155 | // Reference ConfigurePerfmonInstall and ConfigurePerfmonUninstall since nothing will happen without them | 2143 | section.Tuples.Add(tuple); |
2156 | if (this.Context.Platform == Platform.ARM) | ||
2157 | { | ||
2158 | // Ensure ARM version of the CAs are referenced | ||
2159 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigurePerfmonInstall_ARM"); | ||
2160 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigurePerfmonUninstall_ARM"); | ||
2161 | } | ||
2162 | else | ||
2163 | { | ||
2164 | // All other supported platforms use x86 | ||
2165 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigurePerfmonInstall"); | ||
2166 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigurePerfmonUninstall"); | ||
2167 | } | 2144 | } |
2145 | |||
2146 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigurePerfmonInstall", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | ||
2147 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigurePerfmonUninstall", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | ||
2168 | } | 2148 | } |
2169 | 2149 | ||
2170 | 2150 | ||
@@ -2203,24 +2183,18 @@ namespace WixToolset.Util | |||
2203 | 2183 | ||
2204 | if (!this.Messaging.EncounteredError) | 2184 | if (!this.Messaging.EncounteredError) |
2205 | { | 2185 | { |
2206 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "PerfmonManifest"); | 2186 | var tuple = new PerfmonManifestTuple(sourceLineNumbers) |
2207 | row.Set(0, componentId); | 2187 | { |
2208 | row.Set(1, $"[#{fileId}]"); | 2188 | ComponentRef = componentId, |
2209 | row.Set(2, resourceFileDirectory); | 2189 | File = $"[#{fileId}]", |
2210 | } | 2190 | ResourceFileDirectory = resourceFileDirectory, |
2191 | }; | ||
2211 | 2192 | ||
2212 | if (this.Context.Platform == Platform.ARM) | 2193 | section.Tuples.Add(tuple); |
2213 | { | ||
2214 | // Ensure ARM version of the CAs are referenced | ||
2215 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigurePerfmonManifestRegister_ARM"); | ||
2216 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigurePerfmonManifestUnregister_ARM"); | ||
2217 | } | ||
2218 | else | ||
2219 | { | ||
2220 | // All other supported platforms use x86 | ||
2221 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigurePerfmonManifestRegister"); | ||
2222 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigurePerfmonManifestUnregister"); | ||
2223 | } | 2194 | } |
2195 | |||
2196 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigurePerfmonManifestRegister", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | ||
2197 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigurePerfmonManifestUnregister", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); | ||
2224 | } | 2198 | } |
2225 | 2199 | ||
2226 | /// <summary> | 2200 | /// <summary> |
@@ -2263,23 +2237,15 @@ namespace WixToolset.Util | |||
2263 | 2237 | ||
2264 | if (!this.Messaging.EncounteredError) | 2238 | if (!this.Messaging.EncounteredError) |
2265 | { | 2239 | { |
2266 | switch (this.Context.Platform) | 2240 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedFormatFiles", this.Context.Platform, CustomActionPlatforms.X64 | CustomActionPlatforms.X86); |
2241 | |||
2242 | var tuple = new WixFormatFilesTuple(sourceLineNumbers) | ||
2267 | { | 2243 | { |
2268 | case Platform.X86: | 2244 | BinaryRef = binaryId, |
2269 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "WixSchedFormatFiles"); | 2245 | FileRef = fileId, |
2270 | break; | 2246 | }; |
2271 | case Platform.X64: | ||
2272 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "WixSchedFormatFiles_x64"); | ||
2273 | break; | ||
2274 | case Platform.IA64: | ||
2275 | case Platform.ARM: | ||
2276 | this.Messaging.Write(ErrorMessages.UnsupportedPlatformForElement(sourceLineNumbers, this.Context.Platform.ToString(), element.Name.LocalName)); | ||
2277 | break; | ||
2278 | } | ||
2279 | 2247 | ||
2280 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixFormatFiles"); | 2248 | section.Tuples.Add(tuple); |
2281 | row.Set(0, binaryId); | ||
2282 | row.Set(1, fileId); | ||
2283 | 2249 | ||
2284 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "Binary", binaryId); | 2250 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "Binary", binaryId); |
2285 | } | 2251 | } |
@@ -2328,71 +2294,62 @@ namespace WixToolset.Util | |||
2328 | 2294 | ||
2329 | if (!this.Messaging.EncounteredError) | 2295 | if (!this.Messaging.EncounteredError) |
2330 | { | 2296 | { |
2331 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "EventManifest"); | 2297 | var tuple = new EventManifestTuple(sourceLineNumbers) |
2332 | row.Set(0, componentId); | 2298 | { |
2333 | row.Set(1, $"[#{fileId}]"); | 2299 | ComponentRef = componentId, |
2300 | File = $"[#{fileId}]", | ||
2301 | }; | ||
2302 | |||
2303 | section.Tuples.Add(tuple); | ||
2334 | 2304 | ||
2335 | if (null != messageFile) | 2305 | if (null != messageFile) |
2336 | { | 2306 | { |
2337 | var messageRow = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "XmlFile"); | 2307 | var xmlTuple = new XmlFileTuple(sourceLineNumbers, new Identifier(AccessModifier.Private, $"Config_{fileId}MessageFile")) |
2338 | messageRow.Set(0, String.Concat("Config_", fileId, "MessageFile")); | 2308 | { |
2339 | messageRow.Set(1, $"[#{fileId}]"); | 2309 | File = $"[#{fileId}]", |
2340 | messageRow.Set(2, "/*/*/*/*[\\[]@messageFileName[\\]]"); | 2310 | ElementPath = "/*/*/*/*[\\[]@messageFileName[\\]]", |
2341 | messageRow.Set(3, "messageFileName"); | 2311 | Name = "messageFileName", |
2342 | messageRow.Set(4, messageFile); | 2312 | Value = messageFile, |
2343 | messageRow.Set(5, 4 | 0x00001000); //bulk write | preserve modified date | 2313 | Flags = 4 | 0x00001000, //bulk write | preserve modified date |
2344 | messageRow.Set(6, componentId); | 2314 | ComponentRef = componentId, |
2315 | }; | ||
2316 | section.Tuples.Add(xmlTuple); | ||
2345 | } | 2317 | } |
2346 | if (null != parameterFile) | 2318 | if (null != parameterFile) |
2347 | { | 2319 | { |
2348 | var resourceRow = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "XmlFile"); | 2320 | var xmlTuple = new XmlFileTuple(sourceLineNumbers, new Identifier(AccessModifier.Private, $"Config_{fileId}ParameterFile")) |
2349 | resourceRow.Set(0, String.Concat("Config_", fileId, "ParameterFile")); | 2321 | { |
2350 | resourceRow.Set(1, $"[#{fileId}]"); | 2322 | File = $"[#{fileId}]", |
2351 | resourceRow.Set(2, "/*/*/*/*[\\[]@parameterFileName[\\]]"); | 2323 | ElementPath = "/*/*/*/*[\\[]@parameterFileName[\\]]", |
2352 | resourceRow.Set(3, "parameterFileName"); | 2324 | Name = "parameterFileName", |
2353 | resourceRow.Set(4, parameterFile); | 2325 | Value = parameterFile, |
2354 | resourceRow.Set(5, 4 | 0x00001000); //bulk write | preserve modified date | 2326 | Flags = 4 | 0x00001000, //bulk write | preserve modified date |
2355 | resourceRow.Set(6, componentId); | 2327 | ComponentRef = componentId, |
2328 | }; | ||
2329 | section.Tuples.Add(xmlTuple); | ||
2356 | } | 2330 | } |
2357 | if (null != resourceFile) | 2331 | if (null != resourceFile) |
2358 | { | 2332 | { |
2359 | var resourceRow = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "XmlFile"); | 2333 | var xmlTuple = new XmlFileTuple(sourceLineNumbers, new Identifier(AccessModifier.Private, $"Config_{fileId}ResourceFile")) |
2360 | resourceRow.Set(0, String.Concat("Config_", fileId, "ResourceFile")); | 2334 | { |
2361 | resourceRow.Set(1, $"[#{fileId}]"); | 2335 | File = $"[#{fileId}]", |
2362 | resourceRow.Set(2, "/*/*/*/*[\\[]@resourceFileName[\\]]"); | 2336 | ElementPath = "/*/*/*/*[\\[]@resourceFileName[\\]]", |
2363 | resourceRow.Set(3, "resourceFileName"); | 2337 | Name = "resourceFileName", |
2364 | resourceRow.Set(4, resourceFile); | 2338 | Value = resourceFile, |
2365 | resourceRow.Set(5, 4 | 0x00001000); //bulk write | preserve modified date | 2339 | Flags = 4 | 0x00001000, //bulk write | preserve modified date |
2366 | resourceRow.Set(6, componentId); | 2340 | ComponentRef = componentId, |
2341 | }; | ||
2342 | section.Tuples.Add(xmlTuple); | ||
2367 | } | 2343 | } |
2368 | 2344 | ||
2369 | } | 2345 | } |
2370 | 2346 | ||
2371 | if (this.Context.Platform == Platform.ARM) | 2347 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureEventManifestRegister", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); |
2372 | { | 2348 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureEventManifestUnregister", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); |
2373 | // Ensure ARM version of the CA is referenced | ||
2374 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureEventManifestRegister_ARM"); | ||
2375 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureEventManifestUnregister_ARM"); | ||
2376 | } | ||
2377 | else | ||
2378 | { | ||
2379 | // All other supported platforms use x86 | ||
2380 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureEventManifestRegister"); | ||
2381 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureEventManifestUnregister"); | ||
2382 | } | ||
2383 | 2349 | ||
2384 | if (null != messageFile || null != parameterFile || null != resourceFile) | 2350 | if (null != messageFile || null != parameterFile || null != resourceFile) |
2385 | { | 2351 | { |
2386 | if (this.Context.Platform == Platform.ARM) | 2352 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedXmlFile", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); |
2387 | { | ||
2388 | // Ensure ARM version of the CA is referenced | ||
2389 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "SchedXmlFile_ARM"); | ||
2390 | } | ||
2391 | else | ||
2392 | { | ||
2393 | // All other supported platforms use x86 | ||
2394 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "SchedXmlFile"); | ||
2395 | } | ||
2396 | } | 2353 | } |
2397 | } | 2354 | } |
2398 | 2355 | ||
@@ -2493,36 +2450,18 @@ namespace WixToolset.Util | |||
2493 | 2450 | ||
2494 | if (!this.Messaging.EncounteredError) | 2451 | if (!this.Messaging.EncounteredError) |
2495 | { | 2452 | { |
2496 | if (win64) | 2453 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedSecureObjects", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X64 | CustomActionPlatforms.X86); |
2497 | { | 2454 | |
2498 | if (this.Context.Platform == Platform.IA64) | 2455 | var tuple = new SecureObjectsTuple(sourceLineNumbers, new Identifier(AccessModifier.Private, objectId)) |
2499 | { | ||
2500 | this.Messaging.Write(ErrorMessages.UnsupportedPlatformForElement(sourceLineNumbers, "ia64", element.Name.LocalName)); | ||
2501 | } | ||
2502 | else | ||
2503 | { | ||
2504 | // Ensure SchedSecureObjects (x64) is referenced | ||
2505 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "SchedSecureObjects_x64"); | ||
2506 | } | ||
2507 | } | ||
2508 | else if (this.Context.Platform == Platform.ARM) | ||
2509 | { | ||
2510 | // Ensure SchedSecureObjects (arm) is referenced | ||
2511 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "SchedSecureObjects_ARM"); | ||
2512 | } | ||
2513 | else | ||
2514 | { | 2456 | { |
2515 | // Ensure SchedSecureObjects (x86) is referenced, to handle this x86 component member | 2457 | Table = tableName, |
2516 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "SchedSecureObjects"); | 2458 | Domain = domain, |
2517 | } | 2459 | User = user, |
2460 | Permission = permission, | ||
2461 | ComponentRef = componentId, | ||
2462 | }; | ||
2518 | 2463 | ||
2519 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "SecureObjects"); | 2464 | section.Tuples.Add(tuple); |
2520 | row.Set(0, objectId); | ||
2521 | row.Set(1, tableName); | ||
2522 | row.Set(2, domain); | ||
2523 | row.Set(3, user); | ||
2524 | row.Set(4, permission); | ||
2525 | row.Set(5, componentId); | ||
2526 | } | 2465 | } |
2527 | } | 2466 | } |
2528 | 2467 | ||
@@ -2881,13 +2820,18 @@ namespace WixToolset.Util | |||
2881 | 2820 | ||
2882 | if (!this.Messaging.EncounteredError) | 2821 | if (!this.Messaging.EncounteredError) |
2883 | { | 2822 | { |
2884 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixRemoveFolderEx", id); | 2823 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "RemoveFoldersEx", this.Context.Platform, CustomActionPlatforms.X86); |
2885 | row.Set(1, componentId); | 2824 | |
2886 | row.Set(2, property); | 2825 | var tuple = new WixRemoveFolderExTuple(sourceLineNumbers) |
2887 | row.Set(3, on); | 2826 | { |
2827 | ComponentRef = componentId, | ||
2828 | Property = property, | ||
2829 | InstallMode = (int)on, | ||
2830 | }; | ||
2831 | |||
2832 | section.Tuples.Add(tuple); | ||
2888 | 2833 | ||
2889 | this.ParseHelper.EnsureTable(section, sourceLineNumbers, "RemoveFile"); | 2834 | this.ParseHelper.EnsureTable(section, sourceLineNumbers, "RemoveFile"); |
2890 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "WixRemoveFoldersEx"); | ||
2891 | } | 2835 | } |
2892 | } | 2836 | } |
2893 | 2837 | ||
@@ -2954,22 +2898,16 @@ namespace WixToolset.Util | |||
2954 | 2898 | ||
2955 | if (!this.Messaging.EncounteredError) | 2899 | if (!this.Messaging.EncounteredError) |
2956 | { | 2900 | { |
2957 | // Add a reference to the WixRegisterRestartResources custom action since nothing will happen without it. | 2901 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "RegisterRestartResources", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); |
2958 | if (this.Context.Platform == Platform.ARM) | 2902 | |
2959 | { | 2903 | var tuple = new WixRestartResourceTuple(sourceLineNumbers) |
2960 | // Ensure ARM version of the CA is referenced | ||
2961 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "WixRegisterRestartResources_ARM"); | ||
2962 | } | ||
2963 | else | ||
2964 | { | 2904 | { |
2965 | // All other supported platforms use x86 | 2905 | ComponentRef = componentId, |
2966 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "WixRegisterRestartResources"); | 2906 | Resource = resource, |
2967 | } | 2907 | Attributes = attributes, |
2908 | }; | ||
2968 | 2909 | ||
2969 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixRestartResource", id); | 2910 | section.Tuples.Add(tuple); |
2970 | row.Set(1, componentId); | ||
2971 | row.Set(2, resource); | ||
2972 | row.Set(3, attributes); | ||
2973 | } | 2911 | } |
2974 | } | 2912 | } |
2975 | 2913 | ||
@@ -3052,38 +2990,25 @@ namespace WixToolset.Util | |||
3052 | 2990 | ||
3053 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); | 2991 | this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); |
3054 | 2992 | ||
3055 | // Reference SchedServiceConfig since nothing will happen without it | ||
3056 | if (this.Context.Platform == Platform.ARM) | ||
3057 | { | ||
3058 | // Ensure ARM version of the CA is referenced | ||
3059 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "SchedServiceConfig_ARM"); | ||
3060 | } | ||
3061 | else | ||
3062 | { | ||
3063 | // All other supported platforms use x86 | ||
3064 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "SchedServiceConfig"); | ||
3065 | } | ||
3066 | |||
3067 | if (!this.Messaging.EncounteredError) | 2993 | if (!this.Messaging.EncounteredError) |
3068 | { | 2994 | { |
3069 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "ServiceConfig"); | 2995 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedServiceConfig", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); |
3070 | row.Set(0, serviceName); | ||
3071 | row.Set(1, componentId); | ||
3072 | row.Set(2, (newService ? 1 : 0)); | ||
3073 | row.Set(3, firstFailureActionType); | ||
3074 | row.Set(4, secondFailureActionType); | ||
3075 | row.Set(5, thirdFailureActionType); | ||
3076 | if (CompilerConstants.IntegerNotSet != resetPeriod) | ||
3077 | { | ||
3078 | row.Set(6, resetPeriod); | ||
3079 | } | ||
3080 | 2996 | ||
3081 | if (CompilerConstants.IntegerNotSet != restartServiceDelay) | 2997 | var tuple = new ServiceConfigTuple(sourceLineNumbers) |
3082 | { | 2998 | { |
3083 | row.Set(7, restartServiceDelay); | 2999 | ServiceName = serviceName, |
3084 | } | 3000 | ComponentRef = componentId, |
3085 | row.Set(8, programCommandLine); | 3001 | NewService = newService ? 1 : 0, |
3086 | row.Set(9, rebootMessage); | 3002 | FirstFailureActionType = firstFailureActionType, |
3003 | SecondFailureActionType = secondFailureActionType, | ||
3004 | ThirdFailureActionType = thirdFailureActionType, | ||
3005 | ResetPeriodInDays = resetPeriod, | ||
3006 | RestartServiceDelayInSeconds = restartServiceDelay, | ||
3007 | ProgramCommandLine = programCommandLine, | ||
3008 | RebootMessage = rebootMessage, | ||
3009 | }; | ||
3010 | |||
3011 | section.Tuples.Add(tuple); | ||
3087 | } | 3012 | } |
3088 | } | 3013 | } |
3089 | 3014 | ||
@@ -3166,12 +3091,16 @@ namespace WixToolset.Util | |||
3166 | 3091 | ||
3167 | if (!this.Messaging.EncounteredError) | 3092 | if (!this.Messaging.EncounteredError) |
3168 | { | 3093 | { |
3169 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "WixTouchFile", id); | 3094 | var tuple = new WixTouchFileTuple(sourceLineNumbers) |
3170 | row.Set(1, componentId); | 3095 | { |
3171 | row.Set(2, path); | 3096 | ComponentRef = componentId, |
3172 | row.Set(3, attributes); | 3097 | Path = path, |
3098 | Attributes = attributes, | ||
3099 | }; | ||
3100 | |||
3101 | section.Tuples.Add(tuple); | ||
3173 | 3102 | ||
3174 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "WixTouchFileDuringInstall"); | 3103 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "TouchFileDuringInstall", this.Context.Platform, CustomActionPlatforms.X86); |
3175 | } | 3104 | } |
3176 | } | 3105 | } |
3177 | 3106 | ||
@@ -3375,27 +3304,21 @@ namespace WixToolset.Util | |||
3375 | 3304 | ||
3376 | if (null != componentId) | 3305 | if (null != componentId) |
3377 | { | 3306 | { |
3378 | // Reference ConfigureIIs since nothing will happen without it | 3307 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureUsers", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); |
3379 | if (this.Context.Platform == Platform.ARM) | ||
3380 | { | ||
3381 | // Ensure ARM version of the CA is referenced | ||
3382 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureUsers_ARM"); | ||
3383 | } | ||
3384 | else | ||
3385 | { | ||
3386 | // All other supported platforms use x86 | ||
3387 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureUsers"); | ||
3388 | } | ||
3389 | } | 3308 | } |
3390 | 3309 | ||
3391 | if (!this.Messaging.EncounteredError) | 3310 | if (!this.Messaging.EncounteredError) |
3392 | { | 3311 | { |
3393 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "User", id); | 3312 | var tuple = new UserTuple(sourceLineNumbers, id) |
3394 | row.Set(1, componentId); | 3313 | { |
3395 | row.Set(2, name); | 3314 | ComponentRef = componentId, |
3396 | row.Set(3, domain); | 3315 | Name = name, |
3397 | row.Set(4, password); | 3316 | Domain = domain, |
3398 | row.Set(5, attributes); | 3317 | Password = password, |
3318 | Attributes = attributes, | ||
3319 | }; | ||
3320 | |||
3321 | section.Tuples.Add(tuple); | ||
3399 | } | 3322 | } |
3400 | } | 3323 | } |
3401 | 3324 | ||
@@ -3407,7 +3330,7 @@ namespace WixToolset.Util | |||
3407 | private void ParseXmlFileElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) | 3330 | private void ParseXmlFileElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId) |
3408 | { | 3331 | { |
3409 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 3332 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
3410 | string id = null; | 3333 | Identifier id = null; |
3411 | string file = null; | 3334 | string file = null; |
3412 | string elementPath = null; | 3335 | string elementPath = null; |
3413 | string name = null; | 3336 | string name = null; |
@@ -3458,7 +3381,7 @@ namespace WixToolset.Util | |||
3458 | } | 3381 | } |
3459 | break; | 3382 | break; |
3460 | case "Id": | 3383 | case "Id": |
3461 | id = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 3384 | id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib); |
3462 | break; | 3385 | break; |
3463 | case "File": | 3386 | case "File": |
3464 | file = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); | 3387 | file = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); |
@@ -3522,31 +3445,23 @@ namespace WixToolset.Util | |||
3522 | 3445 | ||
3523 | if (!this.Messaging.EncounteredError) | 3446 | if (!this.Messaging.EncounteredError) |
3524 | { | 3447 | { |
3525 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "XmlFile"); | 3448 | var tuple = new XmlFileTuple(sourceLineNumbers, id) |
3526 | row.Set(0, id); | 3449 | { |
3527 | row.Set(1, file); | 3450 | File = file, |
3528 | row.Set(2, elementPath); | 3451 | ElementPath = elementPath, |
3529 | row.Set(3, name); | 3452 | Name = name, |
3530 | row.Set(4, value); | 3453 | Value = value, |
3531 | row.Set(5, flags); | 3454 | Flags = flags, |
3532 | row.Set(6, componentId); | 3455 | ComponentRef = componentId, |
3456 | }; | ||
3533 | if (-1 != sequence) | 3457 | if (-1 != sequence) |
3534 | { | 3458 | { |
3535 | row.Set(7, sequence); | 3459 | tuple.Sequence = sequence; |
3536 | } | 3460 | } |
3461 | section.Tuples.Add(tuple); | ||
3537 | } | 3462 | } |
3538 | 3463 | ||
3539 | // Reference SchedXmlFile since nothing will happen without it | 3464 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedXmlFile", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); |
3540 | if (this.Context.Platform == Platform.ARM) | ||
3541 | { | ||
3542 | // Ensure ARM version of the CA is referenced | ||
3543 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "SchedXmlFile_ARM"); | ||
3544 | } | ||
3545 | else | ||
3546 | { | ||
3547 | // All other supported platforms use x86 | ||
3548 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "SchedXmlFile"); | ||
3549 | } | ||
3550 | } | 3465 | } |
3551 | 3466 | ||
3552 | /// <summary> | 3467 | /// <summary> |
@@ -3558,7 +3473,7 @@ namespace WixToolset.Util | |||
3558 | private void ParseXmlConfigElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId, bool nested) | 3473 | private void ParseXmlConfigElement(Intermediate intermediate, IntermediateSection section, XElement element, string componentId, bool nested) |
3559 | { | 3474 | { |
3560 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); | 3475 | SourceLineNumber sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); |
3561 | string id = null; | 3476 | Identifier id = null; |
3562 | string elementId = null; | 3477 | string elementId = null; |
3563 | string elementPath = null; | 3478 | string elementPath = null; |
3564 | int flags = 0; | 3479 | int flags = 0; |
@@ -3575,7 +3490,7 @@ namespace WixToolset.Util | |||
3575 | switch (attrib.Name.LocalName) | 3490 | switch (attrib.Name.LocalName) |
3576 | { | 3491 | { |
3577 | case "Id": | 3492 | case "Id": |
3578 | id = this.ParseHelper.GetAttributeIdentifierValue(sourceLineNumbers, attrib); | 3493 | id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib); |
3579 | break; | 3494 | break; |
3580 | case "Action": | 3495 | case "Action": |
3581 | if (nested) | 3496 | if (nested) |
@@ -3760,32 +3675,24 @@ namespace WixToolset.Util | |||
3760 | 3675 | ||
3761 | if (!this.Messaging.EncounteredError) | 3676 | if (!this.Messaging.EncounteredError) |
3762 | { | 3677 | { |
3763 | var row = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "XmlConfig"); | 3678 | var tuple = new XmlConfigTuple(sourceLineNumbers, id) |
3764 | row.Set(0, id); | 3679 | { |
3765 | row.Set(1, file); | 3680 | File=file, |
3766 | row.Set(2, elementId ?? elementPath); | 3681 | ElementPath=elementId ??elementPath, |
3767 | row.Set(3, verifyPath); | 3682 | VerifyPath=verifyPath, |
3768 | row.Set(4, name); | 3683 | Name=name, |
3769 | row.Set(5, value); | 3684 | Value=value, |
3770 | row.Set(6, flags); | 3685 | Flags=flags, |
3771 | row.Set(7, componentId); | 3686 | ComponentRef=componentId, |
3687 | }; | ||
3772 | if (CompilerConstants.IntegerNotSet != sequence) | 3688 | if (CompilerConstants.IntegerNotSet != sequence) |
3773 | { | 3689 | { |
3774 | row.Set(8, sequence); | 3690 | tuple.Sequence = sequence; |
3775 | } | 3691 | } |
3692 | section.Tuples.Add(tuple); | ||
3776 | } | 3693 | } |
3777 | 3694 | ||
3778 | // Reference SchedXmlConfig since nothing will happen without it | 3695 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "SchedXmlConfig", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.X86); |
3779 | if (this.Context.Platform == Platform.ARM) | ||
3780 | { | ||
3781 | // Ensure ARM version of the CA is referenced | ||
3782 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "SchedXmlConfig_ARM"); | ||
3783 | } | ||
3784 | else | ||
3785 | { | ||
3786 | // All other supported platforms use x86 | ||
3787 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "SchedXmlConfig"); | ||
3788 | } | ||
3789 | } | 3696 | } |
3790 | 3697 | ||
3791 | /// <summary> | 3698 | /// <summary> |
diff --git a/src/wixext/UtilWindowsInstallerBackendExtension.cs b/src/wixext/UtilWindowsInstallerBackendExtension.cs index 2365ed01..8648cb17 100644 --- a/src/wixext/UtilWindowsInstallerBackendExtension.cs +++ b/src/wixext/UtilWindowsInstallerBackendExtension.cs | |||
@@ -5,6 +5,7 @@ namespace WixToolset.Util | |||
5 | using System.Collections.Generic; | 5 | using System.Collections.Generic; |
6 | using System.Linq; | 6 | using System.Linq; |
7 | using System.Xml; | 7 | using System.Xml; |
8 | using WixToolset.Data; | ||
8 | using WixToolset.Data.WindowsInstaller; | 9 | using WixToolset.Data.WindowsInstaller; |
9 | using WixToolset.Extensibility; | 10 | using WixToolset.Extensibility; |
10 | 11 | ||
@@ -14,6 +15,12 @@ namespace WixToolset.Util | |||
14 | 15 | ||
15 | public override IEnumerable<TableDefinition> TableDefinitions { get => Tables; } | 16 | public override IEnumerable<TableDefinition> TableDefinitions { get => Tables; } |
16 | 17 | ||
18 | public override bool TryAddTupleToOutput(IntermediateTuple tuple, WindowsInstallerData output) | ||
19 | { | ||
20 | var columnZeroIsId = tuple.Id != null; | ||
21 | return this.BackendHelper.TryAddTupleToOutputMatchingTableDefinitions(tuple, output, this.TableDefinitions, columnZeroIsId); | ||
22 | } | ||
23 | |||
17 | private static TableDefinition[] LoadTables() | 24 | private static TableDefinition[] LoadTables() |
18 | { | 25 | { |
19 | using (var resourceStream = typeof(UtilWindowsInstallerBackendBinderExtension).Assembly.GetManifestResourceStream("WixToolset.Util.tables.xml")) | 26 | using (var resourceStream = typeof(UtilWindowsInstallerBackendBinderExtension).Assembly.GetManifestResourceStream("WixToolset.Util.tables.xml")) |
diff --git a/src/wixext/WixToolset.Util.wixext.csproj b/src/wixext/WixToolset.Util.wixext.csproj index ed5a6a0f..3cd7b115 100644 --- a/src/wixext/WixToolset.Util.wixext.csproj +++ b/src/wixext/WixToolset.Util.wixext.csproj | |||
@@ -19,6 +19,7 @@ | |||
19 | </ItemGroup> | 19 | </ItemGroup> |
20 | 20 | ||
21 | <ItemGroup> | 21 | <ItemGroup> |
22 | <PackageReference Include="WixToolset.Core" Version="4.0.*" PrivateAssets="all" /> | ||
22 | <PackageReference Include="WixToolset.Data" Version="4.0.*" PrivateAssets="all" /> | 23 | <PackageReference Include="WixToolset.Data" Version="4.0.*" PrivateAssets="all" /> |
23 | <PackageReference Include="WixToolset.Extensibility" Version="4.0.*" PrivateAssets="all" /> | 24 | <PackageReference Include="WixToolset.Extensibility" Version="4.0.*" PrivateAssets="all" /> |
24 | </ItemGroup> | 25 | </ItemGroup> |
diff --git a/src/wixext/tables.xml b/src/wixext/tables.xml index 9f491e56..b8d4246c 100644 --- a/src/wixext/tables.xml +++ b/src/wixext/tables.xml | |||
@@ -3,8 +3,8 @@ | |||
3 | 3 | ||
4 | 4 | ||
5 | <tableDefinitions xmlns="http://wixtoolset.org/schemas/v4/wi/tables"> | 5 | <tableDefinitions xmlns="http://wixtoolset.org/schemas/v4/wi/tables"> |
6 | <tableDefinition name="WixCloseApplication"> | 6 | <tableDefinition name="Wix4CloseApplication" tupleDefinitionName="WixCloseApplication"> |
7 | <columnDefinition name="WixCloseApplication" type="string" length="72" primaryKey="yes" modularize="column" | 7 | <columnDefinition name="Wix4CloseApplication" type="string" length="72" primaryKey="yes" modularize="column" |
8 | category="identifier" description="Primary key, non-localized token in table."/> | 8 | category="identifier" description="Primary key, non-localized token in table."/> |
9 | <columnDefinition name="Target" type="localized" length="0" modularize="property" | 9 | <columnDefinition name="Target" type="localized" length="0" modularize="property" |
10 | category="formatted" description="Name of executable to ensure is closed."/> | 10 | category="formatted" description="Name of executable to ensure is closed."/> |
@@ -23,8 +23,8 @@ | |||
23 | <columnDefinition name="Timeout" type="number" length="4" nullable="yes" | 23 | <columnDefinition name="Timeout" type="number" length="4" nullable="yes" |
24 | minValue="1" maxValue="2147483647" description="Timeout in milliseconds before scheduling restart or terminating application."/> | 24 | minValue="1" maxValue="2147483647" description="Timeout in milliseconds before scheduling restart or terminating application."/> |
25 | </tableDefinition> | 25 | </tableDefinition> |
26 | <tableDefinition name="WixRemoveFolderEx" createSymbols="yes"> | 26 | <tableDefinition name="Wix4RemoveFolderEx" tupleDefinitionName="WixRemoveFolderEx" createSymbols="yes"> |
27 | <columnDefinition name="WixRemoveFolderEx" type="string" length="72" primaryKey="yes" modularize="column" | 27 | <columnDefinition name="Wix4RemoveFolderEx" type="string" length="72" primaryKey="yes" modularize="column" |
28 | category="identifier" description="Identifier for the WixRemoveFolderEx row in the package."/> | 28 | category="identifier" description="Identifier for the WixRemoveFolderEx row in the package."/> |
29 | <columnDefinition name="Component_" type="string" length="72" modularize="column" | 29 | <columnDefinition name="Component_" type="string" length="72" modularize="column" |
30 | keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table used to determine install state"/> | 30 | keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table used to determine install state"/> |
@@ -33,8 +33,8 @@ | |||
33 | <columnDefinition name="InstallMode" type="number" length="2" | 33 | <columnDefinition name="InstallMode" type="number" length="2" |
34 | minValue="1" maxValue="3" description="1 == Remove only when the associated component is being installed (msiInstallStateLocal or msiInstallStateSource), 2 == Remove only when the associated component is being removed (msiInstallStateAbsent), 3 = Remove in either of the above cases."/> | 34 | minValue="1" maxValue="3" description="1 == Remove only when the associated component is being installed (msiInstallStateLocal or msiInstallStateSource), 2 == Remove only when the associated component is being removed (msiInstallStateAbsent), 3 = Remove in either of the above cases."/> |
35 | </tableDefinition> | 35 | </tableDefinition> |
36 | <tableDefinition name="WixRestartResource"> | 36 | <tableDefinition name="Wix4RestartResource" tupleDefinitionName="WixRestartResource"> |
37 | <columnDefinition name="WixRestartResource" type="string" length="72" primaryKey="yes" modularize="column" | 37 | <columnDefinition name="Wix4RestartResource" type="string" length="72" primaryKey="yes" modularize="column" |
38 | category="identifier" description="Primary key, non-localized identifier."/> | 38 | category="identifier" description="Primary key, non-localized identifier."/> |
39 | <columnDefinition name="Component_" type="string" length="72" nullable="yes" modularize="column" | 39 | <columnDefinition name="Component_" type="string" length="72" nullable="yes" modularize="column" |
40 | keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table used to determine install state."/> | 40 | keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table used to determine install state."/> |
@@ -43,8 +43,8 @@ | |||
43 | <columnDefinition name="Attributes" type="number" length="4" | 43 | <columnDefinition name="Attributes" type="number" length="4" |
44 | minValue="0" maxValue="2147483647" description="A 32-bit word that specifies the type of resource and flags used for processing."/> | 44 | minValue="0" maxValue="2147483647" description="A 32-bit word that specifies the type of resource and flags used for processing."/> |
45 | </tableDefinition> | 45 | </tableDefinition> |
46 | <tableDefinition name="FileShare" createSymbols="yes"> | 46 | <tableDefinition name="Wix4FileShare" tupleDefinitionName="FileShare" createSymbols="yes"> |
47 | <columnDefinition name="FileShare" type="string" length="72" primaryKey="yes" modularize="column" | 47 | <columnDefinition name="Wix4FileShare" type="string" length="72" primaryKey="yes" modularize="column" |
48 | category="identifier" description="Primary key, non-localized identifier"/> | 48 | category="identifier" description="Primary key, non-localized identifier"/> |
49 | <columnDefinition name="ShareName" type="string" length="255" | 49 | <columnDefinition name="ShareName" type="string" length="255" |
50 | category="formatted" description="The actual share name used"/> | 50 | category="formatted" description="The actual share name used"/> |
@@ -54,21 +54,17 @@ | |||
54 | category="text" description="Description string displayed for the file share"/> | 54 | category="text" description="Description string displayed for the file share"/> |
55 | <columnDefinition name="Directory_" type="string" length="72" modularize="column" | 55 | <columnDefinition name="Directory_" type="string" length="72" modularize="column" |
56 | keyTable="Directory" keyColumn="1" category="identifier" description="Foreign key referencing directory that the share is created on"/> | 56 | keyTable="Directory" keyColumn="1" category="identifier" description="Foreign key referencing directory that the share is created on"/> |
57 | <columnDefinition name="User_" type="string" length="72" modularize="column" nullable="yes" | ||
58 | keyTable="User" keyColumn="1" category="identifier" description="Foreign key, User to give access permissions to"/> | ||
59 | <columnDefinition name="Permissions" type="number" length="4" nullable="yes" | ||
60 | description="Permissions int, as in EXPLICIT_ACCESS.grfAccessPermissions in MSDN"/> | ||
61 | </tableDefinition> | 57 | </tableDefinition> |
62 | <tableDefinition name="FileSharePermissions"> | 58 | <tableDefinition name="Wix4FileSharePermissions" tupleDefinitionName="FileSharePermissions"> |
63 | <columnDefinition name="FileShare_" type="string" length="72" primaryKey="yes" modularize="column" | 59 | <columnDefinition name="Wix4FileShare_" type="string" length="72" primaryKey="yes" modularize="column" |
64 | keyTable="FileShare" keyColumn="1" category="identifier" description="FileShare that these premissions are to be applied to."/> | 60 | keyTable="FileShare" keyColumn="1" category="identifier" description="FileShare that these premissions are to be applied to."/> |
65 | <columnDefinition name="User_" type="string" length="72" primaryKey="yes" modularize="column" | 61 | <columnDefinition name="Wix4User_" type="string" length="72" primaryKey="yes" modularize="column" |
66 | category="identifier" description="User that these premissions are to apply to."/> | 62 | keyTable="Wix4User" category="identifier" description="User that these premissions are to apply to."/> |
67 | <columnDefinition name="Permissions" type="number" length="4" | 63 | <columnDefinition name="Permissions" type="number" length="4" |
68 | description="Permissions int, as in EXPLICIT_ACCESS.grfAccessPermissions in MSDN"/> | 64 | description="Permissions int, as in EXPLICIT_ACCESS.grfAccessPermissions in MSDN"/> |
69 | </tableDefinition> | 65 | </tableDefinition> |
70 | <tableDefinition name="Group" createSymbols="yes"> | 66 | <tableDefinition name="Wix4Group" tupleDefinitionName="Group" createSymbols="yes"> |
71 | <columnDefinition name="Group" type="string" length="72" primaryKey="yes" modularize="column" | 67 | <columnDefinition name="Wix4Group" type="string" length="72" primaryKey="yes" modularize="column" |
72 | category="identifier" description="Primary key, non-localized token"/> | 68 | category="identifier" description="Primary key, non-localized token"/> |
73 | <columnDefinition name="Component_" type="string" length="72" nullable="yes" modularize="column" | 69 | <columnDefinition name="Component_" type="string" length="72" nullable="yes" modularize="column" |
74 | keyTable="Component" keyColumn="1" category="text" description="Foreign key, Component used to determine install state"/> | 70 | keyTable="Component" keyColumn="1" category="text" description="Foreign key, Component used to determine install state"/> |
@@ -77,8 +73,8 @@ | |||
77 | <columnDefinition name="Domain" type="string" length="255" nullable="yes" modularize="property" | 73 | <columnDefinition name="Domain" type="string" length="255" nullable="yes" modularize="property" |
78 | category="formatted" description="Group domain"/> | 74 | category="formatted" description="Group domain"/> |
79 | </tableDefinition> | 75 | </tableDefinition> |
80 | <tableDefinition name="WixInternetShortcut" createSymbols="yes"> | 76 | <tableDefinition name="Wix4InternetShortcut" tupleDefinitionName="WixInternetShortcut" createSymbols="yes"> |
81 | <columnDefinition name="WixInternetShortcut" type="string" length="72" primaryKey="yes" modularize="column" | 77 | <columnDefinition name="Wix4InternetShortcut" type="string" length="72" primaryKey="yes" modularize="column" |
82 | category="identifier" description="Primary key, non-localized token in table."/> | 78 | category="identifier" description="Primary key, non-localized token in table."/> |
83 | <columnDefinition name="Component_" type="string" length="72" modularize="column" | 79 | <columnDefinition name="Component_" type="string" length="72" modularize="column" |
84 | keyTable="Component" keyColumn="1" category="text" description="Foreign key, Component used to determine install state"/> | 80 | keyTable="Component" keyColumn="1" category="text" description="Foreign key, Component used to determine install state"/> |
@@ -95,8 +91,8 @@ | |||
95 | <columnDefinition name="IconIndex" type="number" length="4" | 91 | <columnDefinition name="IconIndex" type="number" length="4" |
96 | nullable="yes" description="Index of the icon being referenced."/> | 92 | nullable="yes" description="Index of the icon being referenced."/> |
97 | </tableDefinition> | 93 | </tableDefinition> |
98 | <tableDefinition name="PerformanceCategory"> | 94 | <tableDefinition name="Wix4PerformanceCategory" tupleDefinitionName="PerformanceCategory"> |
99 | <columnDefinition name="PerformanceCategory" type="string" length="72" primaryKey="yes" modularize="column" | 95 | <columnDefinition name="Wix4PerformanceCategory" type="string" length="72" primaryKey="yes" modularize="column" |
100 | category="identifier" description="Primary key, non-localized token in table."/> | 96 | category="identifier" description="Primary key, non-localized token in table."/> |
101 | <columnDefinition name="Component_" type="string" length="72" modularize="column" | 97 | <columnDefinition name="Component_" type="string" length="72" modularize="column" |
102 | keyTable="Component" keyColumn="1" category="identifier" description="Component used to determine install state"/> | 98 | keyTable="Component" keyColumn="1" category="identifier" description="Component used to determine install state"/> |
@@ -107,7 +103,7 @@ | |||
107 | <columnDefinition name="ConstantData" type="localized" length="0" escapeIdtCharacters="yes" | 103 | <columnDefinition name="ConstantData" type="localized" length="0" escapeIdtCharacters="yes" |
108 | category="text" description="Data that goes into the performance counter .h file."/> | 104 | category="text" description="Data that goes into the performance counter .h file."/> |
109 | </tableDefinition> | 105 | </tableDefinition> |
110 | <tableDefinition name="Perfmon"> | 106 | <tableDefinition name="Wix4Perfmon" tupleDefinitionName="Perfmon"> |
111 | <columnDefinition name="Component_" type="string" length="72" primaryKey="yes" modularize="column" | 107 | <columnDefinition name="Component_" type="string" length="72" primaryKey="yes" modularize="column" |
112 | keyTable="Component" keyColumn="1" category="identifier" description="Component used to determine install state"/> | 108 | keyTable="Component" keyColumn="1" category="identifier" description="Component used to determine install state"/> |
113 | <columnDefinition name="File" type="string" length="72" primaryKey="yes" modularize="property" | 109 | <columnDefinition name="File" type="string" length="72" primaryKey="yes" modularize="property" |
@@ -115,7 +111,7 @@ | |||
115 | <columnDefinition name="Name" type="string" length="72" primaryKey="yes" | 111 | <columnDefinition name="Name" type="string" length="72" primaryKey="yes" |
116 | category="text" description="Service name in registry"/> | 112 | category="text" description="Service name in registry"/> |
117 | </tableDefinition> | 113 | </tableDefinition> |
118 | <tableDefinition name="PerfmonManifest"> | 114 | <tableDefinition name="Wix4PerfmonManifest" tupleDefinitionName="PerfmonManifest"> |
119 | <columnDefinition name="Component_" type="string" length="72" primaryKey="yes" modularize="column" | 115 | <columnDefinition name="Component_" type="string" length="72" primaryKey="yes" modularize="column" |
120 | keyTable="Component" keyColumn="1" category="identifier" description="Component used to determine install state"/> | 116 | keyTable="Component" keyColumn="1" category="identifier" description="Component used to determine install state"/> |
121 | <columnDefinition name="File" type="string" length="72" primaryKey="yes" modularize="property" | 117 | <columnDefinition name="File" type="string" length="72" primaryKey="yes" modularize="property" |
@@ -123,27 +119,27 @@ | |||
123 | <columnDefinition name="ResourceFileDirectory" type="string" length="255" primaryKey="yes" | 119 | <columnDefinition name="ResourceFileDirectory" type="string" length="255" primaryKey="yes" |
124 | category="formatted" description="The path of the Resource File Directory"/> | 120 | category="formatted" description="The path of the Resource File Directory"/> |
125 | </tableDefinition> | 121 | </tableDefinition> |
126 | <tableDefinition name="EventManifest"> | 122 | <tableDefinition name="Wix4EventManifest" tupleDefinitionName="EventManifest"> |
127 | <columnDefinition name="Component_" type="string" length="72" primaryKey="yes" modularize="column" | 123 | <columnDefinition name="Component_" type="string" length="72" primaryKey="yes" modularize="column" |
128 | keyTable="Component" keyColumn="1" category="identifier" description="Component used to determine install state"/> | 124 | keyTable="Component" keyColumn="1" category="identifier" description="Component used to determine install state"/> |
129 | <columnDefinition name="File" type="string" length="72" primaryKey="yes" modularize="property" | 125 | <columnDefinition name="File" type="string" length="72" primaryKey="yes" modularize="property" |
130 | category="formatted" description="Name of event manifest file"/> | 126 | category="formatted" description="Name of event manifest file"/> |
131 | </tableDefinition> | 127 | </tableDefinition> |
132 | <tableDefinition name="SecureObjects"> | 128 | <tableDefinition name="Wix4SecureObject" tupleDefinitionName="SecureObjects"> |
133 | <columnDefinition name="SecureObject" type="string" length="72" primaryKey="yes" modularize="column" | 129 | <columnDefinition name="Wix4SecureObject" type="string" length="72" primaryKey="yes" modularize="column" |
134 | category="identifier" description="Primary key, non-localized token in Table"/> | 130 | category="identifier" description="Primary key, non-localized token in Table"/> |
135 | <columnDefinition name="Table" type="string" length="32" primaryKey="yes" | 131 | <columnDefinition name="Table" type="string" length="32" primaryKey="yes" |
136 | category="text" description="Table SecureObject should be securing"/> | 132 | category="text" description="Table SecureObject should be securing"/> |
137 | <columnDefinition name="Domain" type="string" length="255" primaryKey="yes" nullable="yes" modularize="property" | 133 | <columnDefinition name="Domain" type="string" length="255" primaryKey="yes" nullable="yes" modularize="property" |
138 | category="text" description="Domain half of user account to secure"/> | 134 | category="text" description="Domain half of user account to secure"/> |
139 | <columnDefinition name="User" type="string" length="255" primaryKey="yes" modularize="property" | 135 | <columnDefinition name="User" type="string" length="255" primaryKey="yes" modularize="property" |
140 | category="text" description="Username half of user account to secure"/> | 136 | category="text" description="User name half of user account to secure"/> |
141 | <columnDefinition name="Permission" type="number" length="4" nullable="yes" | 137 | <columnDefinition name="Permission" type="number" length="4" nullable="yes" |
142 | minValue="-2147483647" maxValue="2147483647" description="Permissions to grant to User"/> | 138 | minValue="-2147483647" maxValue="2147483647" description="Permissions to grant to User"/> |
143 | <columnDefinition name="Component_" type="string" length="72" modularize="column" | 139 | <columnDefinition name="Component_" type="string" length="72" modularize="column" |
144 | keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table used to determine install state"/> | 140 | keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table used to determine install state"/> |
145 | </tableDefinition> | 141 | </tableDefinition> |
146 | <tableDefinition name="ServiceConfig"> | 142 | <tableDefinition name="Wix4ServiceConfig" tupleDefinitionName="ServiceConfig"> |
147 | <columnDefinition name="ServiceName" type="string" length="72" primaryKey="yes" | 143 | <columnDefinition name="ServiceName" type="string" length="72" primaryKey="yes" |
148 | category="formatted" description="Primary key, non-localized token"/> | 144 | category="formatted" description="Primary key, non-localized token"/> |
149 | <columnDefinition name="Component_" type="string" length="72" modularize="column" | 145 | <columnDefinition name="Component_" type="string" length="72" modularize="column" |
@@ -165,9 +161,9 @@ | |||
165 | <columnDefinition name="RebootMessage" type="string" length="255" nullable="yes" | 161 | <columnDefinition name="RebootMessage" type="string" length="255" nullable="yes" |
166 | category="text" description="Message to show to users when rebooting if failure action is REBOOT."/> | 162 | category="text" description="Message to show to users when rebooting if failure action is REBOOT."/> |
167 | </tableDefinition> | 163 | </tableDefinition> |
168 | <tableDefinition name="WixTouchFile" createSymbols="yes"> | 164 | <tableDefinition name="Wix4TouchFile" tupleDefinitionName="WixTouchFile" createSymbols="yes"> |
169 | <columnDefinition name="WixTouchFile" type="string" length="72" primaryKey="yes" modularize="column" | 165 | <columnDefinition name="Wix4TouchFile" type="string" length="72" primaryKey="yes" modularize="column" |
170 | category="identifier" description="Identifier for the WixTouchFile row in the package."/> | 166 | category="identifier" description="Identifier for the Wix4TouchFile row in the package."/> |
171 | <columnDefinition name="Component_" type="string" length="72" modularize="column" | 167 | <columnDefinition name="Component_" type="string" length="72" modularize="column" |
172 | keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table used to determine install state"/> | 168 | keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table used to determine install state"/> |
173 | <columnDefinition name="Path" type="string" length="255" modularize="property" | 169 | <columnDefinition name="Path" type="string" length="255" modularize="property" |
@@ -175,8 +171,8 @@ | |||
175 | <columnDefinition name="Attributes" type="number" length="2" | 171 | <columnDefinition name="Attributes" type="number" length="2" |
176 | minValue="1" maxValue="63" description="1 == Touch only when the associated component is being installed, 2 == Touch only when the associated component is being repaired , 4 == Touch only when the associated component is being removed, 16 = path is in 64-bit location, 32 = touching the file is vital."/> | 172 | minValue="1" maxValue="63" description="1 == Touch only when the associated component is being installed, 2 == Touch only when the associated component is being repaired , 4 == Touch only when the associated component is being removed, 16 = path is in 64-bit location, 32 = touching the file is vital."/> |
177 | </tableDefinition> | 173 | </tableDefinition> |
178 | <tableDefinition name="User" createSymbols="yes"> | 174 | <tableDefinition name="Wix4User" tupleDefinitionName="User" createSymbols="yes"> |
179 | <columnDefinition name="User" type="string" length="72" primaryKey="yes" modularize="column" | 175 | <columnDefinition name="Wix4User" type="string" length="72" primaryKey="yes" modularize="column" |
180 | category="identifier" description="Primary key, non-localized token"/> | 176 | category="identifier" description="Primary key, non-localized token"/> |
181 | <columnDefinition name="Component_" type="string" length="72" nullable="yes" modularize="column" | 177 | <columnDefinition name="Component_" type="string" length="72" nullable="yes" modularize="column" |
182 | keyTable="Component" keyColumn="1" category="text" description="Foreign key, Component used to determine install state"/> | 178 | keyTable="Component" keyColumn="1" category="text" description="Foreign key, Component used to determine install state"/> |
@@ -189,14 +185,14 @@ | |||
189 | <columnDefinition name="Attributes" type="number" length="4" nullable="yes" | 185 | <columnDefinition name="Attributes" type="number" length="4" nullable="yes" |
190 | minValue="0" maxValue="65535" description="Attributes describing how to create the user"/> | 186 | minValue="0" maxValue="65535" description="Attributes describing how to create the user"/> |
191 | </tableDefinition> | 187 | </tableDefinition> |
192 | <tableDefinition name="UserGroup"> | 188 | <tableDefinition name="Wix4UserGroup" tupleDefinitionName="UserGroup"> |
193 | <columnDefinition name="User_" type="string" length="72" primaryKey="yes" modularize="column" | 189 | <columnDefinition name="Wix4User_" type="string" length="72" primaryKey="yes" modularize="column" |
194 | keyTable="User" keyColumn="1" category="identifier" description="User to be joined to a Group."/> | 190 | keyTable="Wix4User" keyColumn="1" category="identifier" description="User to be joined to a Group."/> |
195 | <columnDefinition name="Group_" type="string" length="72" primaryKey="yes" modularize="column" | 191 | <columnDefinition name="Wix4Group_" type="string" length="72" primaryKey="yes" modularize="column" |
196 | keyTable="Group" keyColumn="1" category="identifier" description="User to be joined to a Group."/> | 192 | keyTable="Wix4Group" keyColumn="1" category="identifier" description="Group to join User to."/> |
197 | </tableDefinition> | 193 | </tableDefinition> |
198 | <tableDefinition name="XmlFile"> | 194 | <tableDefinition name="Wix4XmlFile" tupleDefinitionName="XmlFile"> |
199 | <columnDefinition name="XmlFile" type="string" length="72" primaryKey="yes" modularize="column" | 195 | <columnDefinition name="Wix4XmlFile" type="string" length="72" primaryKey="yes" modularize="column" |
200 | category="identifier" description="Primary key, non-localized token."/> | 196 | category="identifier" description="Primary key, non-localized token."/> |
201 | <columnDefinition name="File" type="localized" length="255" modularize="property" | 197 | <columnDefinition name="File" type="localized" length="255" modularize="property" |
202 | category="formatted" description="The .XML file in which to write the information"/> | 198 | category="formatted" description="The .XML file in which to write the information"/> |
@@ -213,13 +209,13 @@ | |||
213 | <columnDefinition name="Sequence" type="number" length="2" nullable="yes" | 209 | <columnDefinition name="Sequence" type="number" length="2" nullable="yes" |
214 | description="Order to execute the XML modifications."/> | 210 | description="Order to execute the XML modifications."/> |
215 | </tableDefinition> | 211 | </tableDefinition> |
216 | <tableDefinition name="XmlConfig" createSymbols="yes"> | 212 | <tableDefinition name="Wix4XmlConfig" tupleDefinitionName="XmlConfig" createSymbols="yes"> |
217 | <columnDefinition name="XmlConfig" type="string" length="72" primaryKey="yes" modularize="column" | 213 | <columnDefinition name="Wix4XmlConfig" type="string" length="72" primaryKey="yes" modularize="column" |
218 | category="identifier" description="Primary key, non-localized token."/> | 214 | category="identifier" description="Primary key, non-localized token."/> |
219 | <columnDefinition name="File" type="localized" length="255" modularize="property" | 215 | <columnDefinition name="File" type="localized" length="255" modularize="property" |
220 | category="formatted" description="The .XML file in which to write the information"/> | 216 | category="formatted" description="The .XML file in which to write the information"/> |
221 | <columnDefinition name="ElementPath" type="localized" length="0" modularize="property" | 217 | <columnDefinition name="ElementPath" type="localized" length="0" modularize="property" |
222 | category="formatted" description="The XPATH query for an element to modify or add children to. Can also be a foreign key reference to another XmlConfig row if no attributes are set and the row referenced is a create element row."/> | 218 | category="formatted" description="The XPATH query for an element to modify or add children to. Can also be a foreign key reference to another Wix4XmlConfig row if no attributes are set and the row referenced is a create element row."/> |
223 | <columnDefinition name="VerifyPath" type="localized" length="0" modularize="property" nullable="yes" | 219 | <columnDefinition name="VerifyPath" type="localized" length="0" modularize="property" nullable="yes" |
224 | category="formatted" description="The XPATH query run from ElementPath to verify whether a repair is necessary. Also used to uninstall."/> | 220 | category="formatted" description="The XPATH query run from ElementPath to verify whether a repair is necessary. Also used to uninstall."/> |
225 | <columnDefinition name="Name" type="localized" length="255" modularize="property" nullable="yes" | 221 | <columnDefinition name="Name" type="localized" length="255" modularize="property" nullable="yes" |
@@ -233,7 +229,7 @@ | |||
233 | <columnDefinition name="Sequence" type="number" length="2" nullable="yes" | 229 | <columnDefinition name="Sequence" type="number" length="2" nullable="yes" |
234 | description="Order to execute the XML modifications."/> | 230 | description="Order to execute the XML modifications."/> |
235 | </tableDefinition> | 231 | </tableDefinition> |
236 | <tableDefinition name="WixFormatFiles"> | 232 | <tableDefinition name="Wix4FormatFile" tupleDefinitionName="WixFormatFile"> |
237 | <columnDefinition name="Binary_" type="string" length="72" primaryKey="yes" modularize="column" | 233 | <columnDefinition name="Binary_" type="string" length="72" primaryKey="yes" modularize="column" |
238 | keyTable="Binary" keyColumn="1" category="identifier" description="Binary data to be formatted."/> | 234 | keyTable="Binary" keyColumn="1" category="identifier" description="Binary data to be formatted."/> |
239 | <columnDefinition name="File_" type="string" length="72" primaryKey="yes" modularize="column" | 235 | <columnDefinition name="File_" type="string" length="72" primaryKey="yes" modularize="column" |
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 > 400</Custom> | 70 | <Custom Action="$(var.Prefix)FailWhenDeferred$(var.Suffix)" Before="InstallFinalize" Overridable="yes">WIXFAILWHENDEFERRED=1 AND VersionNT > 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 > 400</Custom> | 94 | <Custom Action="$(var.Prefix)ExitEarlyWithSuccess$(var.Suffix)" After="FindRelatedProducts" Overridable="yes">NEWERVERSIONDETECTED AND VersionNT > 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 > 400 OR (VersionNT = 400 AND ServicePackLevel > 3)</Custom> | 127 | <Custom Action="$(var.Prefix)QueryOsInfo$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT > 400 OR (VersionNT = 400 AND ServicePackLevel > 3)</Custom> |
127 | </InstallExecuteSequence> | 128 | </InstallExecuteSequence> |
128 | 129 | ||
129 | <InstallUISequence> | 130 | <InstallUISequence> |
130 | <Custom Action="WixQueryOsInfo" After="AppSearch" Overridable="yes">VersionNT > 400 OR (VersionNT = 400 AND ServicePackLevel > 3)</Custom> | 131 | <Custom Action="$(var.Prefix)QueryOsInfo$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT > 400 OR (VersionNT = 400 AND ServicePackLevel > 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 > 400 OR (VersionNT = 400 AND ServicePackLevel > 3)</Custom> | 220 | <Custom Action="$(var.Prefix)QueryOsDirs$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT > 400 OR (VersionNT = 400 AND ServicePackLevel > 3)</Custom> |
220 | </InstallExecuteSequence> | 221 | </InstallExecuteSequence> |
221 | 222 | ||
222 | <InstallUISequence> | 223 | <InstallUISequence> |
223 | <Custom Action="WixQueryOsDirs" After="AppSearch" Overridable="yes">VersionNT > 400 OR (VersionNT = 400 AND ServicePackLevel > 3)</Custom> | 224 | <Custom Action="$(var.Prefix)QueryOsDirs$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT > 400 OR (VersionNT = 400 AND ServicePackLevel > 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 > 400 OR (VersionNT = 400 AND ServicePackLevel > 3)</Custom> | 325 | <Custom Action="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT > 400 OR (VersionNT = 400 AND ServicePackLevel > 3)</Custom> |
325 | </InstallExecuteSequence> | 326 | </InstallExecuteSequence> |
326 | 327 | ||
327 | <InstallUISequence> | 328 | <InstallUISequence> |
328 | <Custom Action="WixQueryOsWellKnownSID" After="AppSearch" Overridable="yes">VersionNT > 400 OR (VersionNT = 400 AND ServicePackLevel > 3)</Custom> | 329 | <Custom Action="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT > 400 OR (VersionNT = 400 AND ServicePackLevel > 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 > 400 OR (VersionNT = 400 AND ServicePackLevel > 3)</Custom> | 367 | <Custom Action="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT > 400 OR (VersionNT = 400 AND ServicePackLevel > 3)</Custom> |
367 | </InstallExecuteSequence> | 368 | </InstallExecuteSequence> |
368 | 369 | ||
369 | <InstallUISequence> | 370 | <InstallUISequence> |
370 | <Custom Action="WixQueryOsDriverInfo" After="AppSearch" Overridable="yes">VersionNT > 400 OR (VersionNT = 400 AND ServicePackLevel > 3)</Custom> | 371 | <Custom Action="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT > 400 OR (VersionNT = 400 AND ServicePackLevel > 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 > 400</Custom> | 18 | <Custom Action="$(var.Prefix)CheckRebootRequired$(var.Suffix)" After="InstallFinalize" Overridable="yes">NOT REMOVE~="ALL" AND VersionNT > 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 > 400</Custom> | 28 | <Custom Action="$(var.Prefix)CloseApplications$(var.Suffix)" Before="InstallFiles" Overridable="yes">VersionNT > 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 > 400</Custom> | 50 | <Custom Action="$(var.Prefix)ConfigureUsers$(var.Suffix)" Before="InstallFiles" Overridable="yes">VersionNT > 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 > 400</Custom> | 65 | <Custom Action="$(var.Prefix)ConfigureSmbInstall$(var.Suffix)" After="InstallFiles" Overridable="yes">VersionNT > 400</Custom> |
67 | <Custom Action="ConfigureSmbUninstall$(var.Suffix)" After="RemoveFiles" Overridable="yes">VersionNT > 400</Custom> | 66 | <Custom Action="$(var.Prefix)ConfigureSmbUninstall$(var.Suffix)" After="RemoveFiles" Overridable="yes">VersionNT > 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 > 400</Custom> | 81 | <Custom Action="$(var.Prefix)InstallPerfCounterData$(var.Suffix)" After="WriteRegistryValues" Overridable="yes">VersionNT > 400</Custom> |
83 | <Custom Action="UninstallPerfCounterData$(var.Suffix)" Before="RemoveRegistryValues" Overridable="yes">VersionNT > 400</Custom> | 82 | <Custom Action="$(var.Prefix)UninstallPerfCounterData$(var.Suffix)" Before="RemoveRegistryValues" Overridable="yes">VersionNT > 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 > 400</Custom> | 97 | <Custom Action="$(var.Prefix)ConfigurePerfmonInstall$(var.Suffix)" After="WriteRegistryValues" Overridable="yes">VersionNT > 400</Custom> |
99 | <Custom Action="ConfigurePerfmonUninstall$(var.Suffix)" Before="RemoveRegistryValues" Overridable="yes">VersionNT > 400</Custom> | 98 | <Custom Action="$(var.Prefix)ConfigurePerfmonUninstall$(var.Suffix)" Before="RemoveRegistryValues" Overridable="yes">VersionNT > 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 > 400</Custom> | 111 | <Custom Action="$(var.Prefix)ConfigurePerfmonManifestRegister$(var.Suffix)" After="InstallFiles" Overridable="yes">VersionNT > 400</Custom> |
113 | <Custom Action="ConfigurePerfmonManifestUnregister$(var.Suffix)" After="RemoveRegistryValues" Overridable="yes">VersionNT > 400</Custom> | 112 | <Custom Action="$(var.Prefix)ConfigurePerfmonManifestUnregister$(var.Suffix)" After="RemoveRegistryValues" Overridable="yes">VersionNT > 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 > 400</Custom> | 125 | <Custom Action="$(var.Prefix)ConfigureEventManifestRegister$(var.Suffix)" After="$(var.Prefix)SchedXmlFile$(var.Suffix)" Overridable="yes">VersionNT > 400</Custom> |
127 | <Custom Action="ConfigureEventManifestUnregister$(var.Suffix)" After="RemoveRegistryValues" Overridable="yes">VersionNT > 400</Custom> | 126 | <Custom Action="$(var.Prefix)ConfigureEventManifestUnregister$(var.Suffix)" After="RemoveRegistryValues" Overridable="yes">VersionNT > 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 > 400</Custom> | 137 | <Custom Action="$(var.Prefix)SchedServiceConfig$(var.Suffix)" After="InstallServices" Overridable="yes">NOT REMOVE~="ALL" AND VersionNT > 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 > 400</Custom> | 161 | <Custom Action="$(var.Prefix)SchedXmlFile$(var.Suffix)" After="DuplicateFiles" Overridable="yes">VersionNT > 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 > 400</Custom> | 173 | <Custom Action="$(var.Prefix)SchedXmlConfig$(var.Suffix)" After="DuplicateFiles" Overridable="yes">VersionNT > 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 > 400</Custom> | 183 | <Custom Action="$(var.Prefix)SchedInternetShortcuts$(var.Suffix)" Before="RemoveFolders" Overridable="yes">VersionNT > 400</Custom> |
185 | <Custom Action="WixRollbackInternetShortcuts$(var.DeferredSuffix)" Before="WixCreateInternetShortcuts$(var.DeferredSuffix)" Overridable="yes">VersionNT > 400</Custom> | 184 | <Custom Action="$(var.Prefix)RollbackInternetShortcuts$(var.Suffix)" Before="$(var.Prefix)CreateInternetShortcuts$(var.Suffix)" Overridable="yes">VersionNT > 400</Custom> |
186 | <Custom Action="WixCreateInternetShortcuts$(var.DeferredSuffix)" After="CreateShortcuts" Overridable="yes">VersionNT > 400</Custom> | 185 | <Custom Action="$(var.Prefix)CreateInternetShortcuts$(var.Suffix)" After="CreateShortcuts" Overridable="yes">VersionNT > 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 > 400</Custom> | 205 | <Custom Action="$(var.Prefix)SchedSecureObjects$(var.Suffix)" After="InstallServices" Overridable="yes">NOT REMOVE~="ALL" AND VersionNT > 400</Custom> |
207 | <Custom Action="SchedSecureObjectsRollback$(var.Suffix)" After="UnpublishFeatures" Overridable="yes">VersionNT > 400</Custom> | 206 | <Custom Action="$(var.Prefix)SchedSecureObjectsRollback$(var.Suffix)" After="UnpublishFeatures" Overridable="yes">VersionNT > 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)') " /> |