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/ca | |
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/ca')
-rw-r--r-- | src/ca/CloseApps.cpp | 28 | ||||
-rw-r--r-- | src/ca/FormatFiles.cpp | 18 | ||||
-rw-r--r-- | src/ca/RemoveFoldersEx.cpp | 14 | ||||
-rw-r--r-- | src/ca/RestartManager.cpp | 8 | ||||
-rw-r--r-- | src/ca/TouchFile.cpp | 16 | ||||
-rw-r--r-- | src/ca/XmlConfig.cpp | 40 | ||||
-rw-r--r-- | src/ca/XmlFile.cpp | 40 | ||||
-rw-r--r-- | src/ca/caDecor.h | 13 | ||||
-rw-r--r-- | src/ca/caSuffix.h | 11 | ||||
-rw-r--r-- | src/ca/netshortcuts.cpp | 16 | ||||
-rw-r--r-- | src/ca/precomp.h | 2 | ||||
-rw-r--r-- | src/ca/scamanifest.cpp | 76 | ||||
-rw-r--r-- | src/ca/scaperf.cpp | 64 | ||||
-rw-r--r-- | src/ca/scaperfexec.cpp | 4 | ||||
-rw-r--r-- | src/ca/scasched.cpp | 16 | ||||
-rw-r--r-- | src/ca/scasmb.h | 2 | ||||
-rw-r--r-- | src/ca/scasmbsched.cpp | 50 | ||||
-rw-r--r-- | src/ca/scauser.cpp | 108 | ||||
-rw-r--r-- | src/ca/secureobj.cpp | 22 | ||||
-rw-r--r-- | src/ca/serviceconfig.cpp | 10 | ||||
-rw-r--r-- | src/ca/utilca.vcxproj | 2 |
21 files changed, 281 insertions, 279 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" /> |