summaryrefslogtreecommitdiff
path: root/src/ext/ComPlus/ca/cppartsched.cpp
diff options
context:
space:
mode:
authorBevan Weiss <bevan.weiss@gmail.com>2024-07-28 00:12:25 +1000
committerRob Mensching <rob@firegiant.com>2024-12-26 08:26:26 -0800
commitee41358bb583619ef4fe6707958dc3c6c62cd13f (patch)
tree04d702b39cd37be9b6c66c897f6c774a7dd1c0a6 /src/ext/ComPlus/ca/cppartsched.cpp
parent85745284cd76858f8699190c53719607e0058712 (diff)
downloadwix-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.cpp14
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
15LPCWSTR vcsPartitionUserQuery = 15LPCWSTR 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`";
17enum ePartitionUserQuery { puqPartitionUser = 1, puqPartition, puqComponent, puqDomain, puqName }; 17enum 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