diff options
author | Bevan Weiss <bevan.weiss@gmail.com> | 2024-07-28 00:12:25 +1000 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2024-12-26 08:26:26 -0800 |
commit | ee41358bb583619ef4fe6707958dc3c6c62cd13f (patch) | |
tree | 04d702b39cd37be9b6c66c897f6c774a7dd1c0a6 /src/ext/ComPlus/ca/cppartsched.cpp | |
parent | 85745284cd76858f8699190c53719607e0058712 (diff) | |
download | wix-ee41358bb583619ef4fe6707958dc3c6c62cd13f.tar.gz wix-ee41358bb583619ef4fe6707958dc3c6c62cd13f.tar.bz2 wix-ee41358bb583619ef4fe6707958dc3c6c62cd13f.zip |
Fix up COM+ to be back in working order under Wix4+
Table names updated for Wix4 prefix.
Custom action names similarly updated.
Table names Wix4ComPlusUserInApplicationRole,
Wix4ComPlusGroupInApplicationRole and Wix4ComPlusApplicationRoleProperty
had to be shortened to fit within MSI 31 character table name limit.
Migrated from fixed GUID for RegistrationHelper to use CLSIDFromProgID in
an attempt to fix behaviour under .NET 4+ DLLs.
Added setting of Partition enable if a Partition is configured in authoring,
new Windows config has Partitions disabled by default, and they don't work
at all under Windows workstation (non-server) versions.
Added a new Runtime condition for `RequireWindowsServer` which will skip
execution of Runtime test on workstation/desktop OSes, since COM+ Partitions
only work correctly under Windows Server.
Quite a lot of basic typos fixed also.
Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
Diffstat (limited to 'src/ext/ComPlus/ca/cppartsched.cpp')
-rw-r--r-- | src/ext/ComPlus/ca/cppartsched.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/ext/ComPlus/ca/cppartsched.cpp b/src/ext/ComPlus/ca/cppartsched.cpp index d4065d34..b4c1c314 100644 --- a/src/ext/ComPlus/ca/cppartsched.cpp +++ b/src/ext/ComPlus/ca/cppartsched.cpp | |||
@@ -13,7 +13,7 @@ LPCWSTR vcsPartitionPropertyQuery = | |||
13 | L"SELECT `Name`, `Value` FROM `Wix4ComPlusPartitionProperty` WHERE `Partition_` = ?"; | 13 | L"SELECT `Name`, `Value` FROM `Wix4ComPlusPartitionProperty` WHERE `Partition_` = ?"; |
14 | 14 | ||
15 | LPCWSTR vcsPartitionUserQuery = | 15 | LPCWSTR vcsPartitionUserQuery = |
16 | L"SELECT `PartitionUser`, `Partition_`, `ComPlusPartitionUser`.`Component_`, `Domain`, `Name` FROM `Wix4ComPlusPartitionUser`, `Wix4User` WHERE `User_` = `User`"; | 16 | L"SELECT `PartitionUser`, `Partition_`, `Wix4ComPlusPartitionUser`.`Component_`, `Domain`, `Name` FROM `Wix4ComPlusPartitionUser`, `Wix4User` WHERE `User_` = `User`"; |
17 | enum ePartitionUserQuery { puqPartitionUser = 1, puqPartition, puqComponent, puqDomain, puqName }; | 17 | enum ePartitionUserQuery { puqPartitionUser = 1, puqPartition, puqComponent, puqDomain, puqName }; |
18 | 18 | ||
19 | 19 | ||
@@ -192,7 +192,7 @@ HRESULT CpiPartitionsVerifyInstall( | |||
192 | if (!pItm->fReferencedForInstall && !(pItm->fHasComponent && WcaIsInstalling(pItm->isInstalled, pItm->isAction))) | 192 | if (!pItm->fReferencedForInstall && !(pItm->fHasComponent && WcaIsInstalling(pItm->isInstalled, pItm->isAction))) |
193 | continue; | 193 | continue; |
194 | 194 | ||
195 | // if the partition is referensed and is not a locater, it must be installed | 195 | // if the partition is referenced and is not a locater, it must be installed |
196 | if (pItm->fReferencedForInstall && pItm->fHasComponent && !CpiWillBeInstalled(pItm->isInstalled, pItm->isAction)) | 196 | if (pItm->fReferencedForInstall && pItm->fHasComponent && !CpiWillBeInstalled(pItm->isInstalled, pItm->isAction)) |
197 | MessageExitOnFailure(hr = E_FAIL, msierrComPlusPartitionDependency, "A partition is used by another entity being installed, but is not installed itself, key: %S", pItm->wzKey); | 197 | MessageExitOnFailure(hr = E_FAIL, msierrComPlusPartitionDependency, "A partition is used by another entity being installed, but is not installed itself, key: %S", pItm->wzKey); |
198 | 198 | ||
@@ -281,7 +281,7 @@ HRESULT CpiPartitionsVerifyInstall( | |||
281 | { | 281 | { |
282 | case IDCANCEL: | 282 | case IDCANCEL: |
283 | case IDABORT: | 283 | case IDABORT: |
284 | ExitOnFailure(hr = E_FAIL, "A partition with a conflictiong name or id exists, key: %S", pItm->wzKey); | 284 | ExitOnFailure(hr = E_FAIL, "A partition with a conflicting name or id exists, key: %S", pItm->wzKey); |
285 | break; | 285 | break; |
286 | case IDRETRY: | 286 | case IDRETRY: |
287 | break; | 287 | break; |
@@ -403,7 +403,7 @@ HRESULT CpiPartitionsInstall( | |||
403 | int iActionType; | 403 | int iActionType; |
404 | 404 | ||
405 | // add action text | 405 | // add action text |
406 | hr = CpiAddActionTextToActionData(L"CreateComPlusPartitions", ppwzActionData); | 406 | hr = CpiAddActionTextToActionData(CUSTOM_ACTION_DECORATION(L"CreateComPlusPartitions"), ppwzActionData); |
407 | ExitOnFailure(hr, "Failed to add action text to custom action data"); | 407 | ExitOnFailure(hr, "Failed to add action text to custom action data"); |
408 | 408 | ||
409 | // add partition count to action data | 409 | // add partition count to action data |
@@ -455,7 +455,7 @@ HRESULT CpiPartitionsUninstall( | |||
455 | int iActionType; | 455 | int iActionType; |
456 | 456 | ||
457 | // add action text | 457 | // add action text |
458 | hr = CpiAddActionTextToActionData(L"RemoveComPlusPartitions", ppwzActionData); | 458 | hr = CpiAddActionTextToActionData(CUSTOM_ACTION_DECORATION(L"RemoveComPlusPartitions"), ppwzActionData); |
459 | ExitOnFailure(hr, "Failed to add action text to custom action data"); | 459 | ExitOnFailure(hr, "Failed to add action text to custom action data"); |
460 | 460 | ||
461 | // add partition count to action data | 461 | // add partition count to action data |
@@ -735,7 +735,7 @@ HRESULT CpiPartitionUsersInstall( | |||
735 | int iActionType; | 735 | int iActionType; |
736 | 736 | ||
737 | // add action text | 737 | // add action text |
738 | hr = CpiAddActionTextToActionData(L"AddComPlusPartitionUsers", ppwzActionData); | 738 | hr = CpiAddActionTextToActionData(CUSTOM_ACTION_DECORATION(L"AddComPlusPartitionUsers"), ppwzActionData); |
739 | ExitOnFailure(hr, "Failed to add action text to custom action data"); | 739 | ExitOnFailure(hr, "Failed to add action text to custom action data"); |
740 | 740 | ||
741 | // add partition count to action data | 741 | // add partition count to action data |
@@ -787,7 +787,7 @@ HRESULT CpiPartitionUsersUninstall( | |||
787 | int iActionType; | 787 | int iActionType; |
788 | 788 | ||
789 | // add action text | 789 | // add action text |
790 | hr = CpiAddActionTextToActionData(L"RemoveComPlusPartitionUsers", ppwzActionData); | 790 | hr = CpiAddActionTextToActionData(CUSTOM_ACTION_DECORATION(L"RemoveComPlusPartitionUsers"), ppwzActionData); |
791 | ExitOnFailure(hr, "Failed to add action text to custom action data"); | 791 | ExitOnFailure(hr, "Failed to add action text to custom action data"); |
792 | 792 | ||
793 | // add partition count to action data | 793 | // add partition count to action data |