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/test/msi | |
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/test/msi')
14 files changed, 212 insertions, 0 deletions
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3.dll b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3.dll new file mode 100644 index 00000000..b46be649 --- /dev/null +++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3.dll | |||
Binary files differ | |||
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3.tlb b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3.tlb new file mode 100644 index 00000000..87419ee1 --- /dev/null +++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3.tlb | |||
Binary files differ | |||
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4.dll b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4.dll new file mode 100644 index 00000000..e0fd3dee --- /dev/null +++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4.dll | |||
Binary files differ | |||
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4.tlb b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4.tlb new file mode 100644 index 00000000..63647bdc --- /dev/null +++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4.tlb | |||
Binary files differ | |||
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative.dll b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative.dll new file mode 100644 index 00000000..dbcb5807 --- /dev/null +++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative.dll | |||
Binary files differ | |||
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/InstallUninstallNET3WithoutPartitions.wixproj b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/InstallUninstallNET3WithoutPartitions.wixproj new file mode 100644 index 00000000..19382c83 --- /dev/null +++ b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/InstallUninstallNET3WithoutPartitions.wixproj | |||
@@ -0,0 +1,15 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | <Project Sdk="WixToolset.Sdk"> | ||
4 | <PropertyGroup> | ||
5 | <UpgradeCode>{A3E0B539-63F9-4B43-9E34-F33AE1C6E06D}</UpgradeCode> | ||
6 | <ProductComponentsRef>true</ProductComponentsRef> | ||
7 | </PropertyGroup> | ||
8 | <ItemGroup> | ||
9 | <Compile Include="..\..\Templates\Product.wxs" Link="Product.wxs" /> | ||
10 | </ItemGroup> | ||
11 | <ItemGroup> | ||
12 | <PackageReference Include="WixToolset.Util.wixext" /> | ||
13 | <PackageReference Include="WixToolset.ComPlus.wixext" /> | ||
14 | </ItemGroup> | ||
15 | </Project> | ||
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/product.wxs b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/product.wxs new file mode 100644 index 00000000..129669cc --- /dev/null +++ b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/product.wxs | |||
@@ -0,0 +1,24 @@ | |||
1 | <!-- 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. --> | ||
2 | |||
3 | |||
4 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" | ||
5 | xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util" | ||
6 | xmlns:complus="http://wixtoolset.org/schemas/v4/wxs/complus"> | ||
7 | <Fragment> | ||
8 | <ComponentGroup Id="ProductComponents"> | ||
9 | <ComponentRef Id="Component1" /> | ||
10 | </ComponentGroup> | ||
11 | </Fragment> | ||
12 | |||
13 | <Fragment> | ||
14 | <Component Id="Component1" Guid="09624A9A-4BBC-4126-BBF9-0713C5217DB1" Directory="INSTALLFOLDER"> | ||
15 | <File Id="AssemblyFileNET" Source="../Components/TestComponentNET3.dll" KeyPath="yes" /> | ||
16 | <File Id="TlbFileNET" Source="../Components/TestComponentNET3.tlb" /> | ||
17 | <complus:ComPlusApplication Id="APPLICATION" Name="ComPlus .NET 3 Application" Description="ComPlus Application" > | ||
18 | <complus:ComPlusAssembly Id="ASSEMBLY_NET" Type=".net" DllPath="[#AssemblyFileNET]" TlbPath="[#TlbFileNET]" > | ||
19 | <complus:ComPlusComponent Id="MyComNET3" CLSID="17F82C39-5433-493A-A396-36072C645B80" /> | ||
20 | </complus:ComPlusAssembly> | ||
21 | </complus:ComPlusApplication> | ||
22 | </Component> | ||
23 | </Fragment> | ||
24 | </Wix> | ||
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/InstallUninstallNET4WithoutPartitions.wixproj b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/InstallUninstallNET4WithoutPartitions.wixproj new file mode 100644 index 00000000..19382c83 --- /dev/null +++ b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/InstallUninstallNET4WithoutPartitions.wixproj | |||
@@ -0,0 +1,15 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | <Project Sdk="WixToolset.Sdk"> | ||
4 | <PropertyGroup> | ||
5 | <UpgradeCode>{A3E0B539-63F9-4B43-9E34-F33AE1C6E06D}</UpgradeCode> | ||
6 | <ProductComponentsRef>true</ProductComponentsRef> | ||
7 | </PropertyGroup> | ||
8 | <ItemGroup> | ||
9 | <Compile Include="..\..\Templates\Product.wxs" Link="Product.wxs" /> | ||
10 | </ItemGroup> | ||
11 | <ItemGroup> | ||
12 | <PackageReference Include="WixToolset.Util.wixext" /> | ||
13 | <PackageReference Include="WixToolset.ComPlus.wixext" /> | ||
14 | </ItemGroup> | ||
15 | </Project> | ||
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/product.wxs b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/product.wxs new file mode 100644 index 00000000..eabd7794 --- /dev/null +++ b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/product.wxs | |||
@@ -0,0 +1,24 @@ | |||
1 | <!-- 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. --> | ||
2 | |||
3 | |||
4 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" | ||
5 | xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util" | ||
6 | xmlns:complus="http://wixtoolset.org/schemas/v4/wxs/complus"> | ||
7 | <Fragment> | ||
8 | <ComponentGroup Id="ProductComponents"> | ||
9 | <ComponentRef Id="Component1" /> | ||
10 | </ComponentGroup> | ||
11 | </Fragment> | ||
12 | |||
13 | <Fragment> | ||
14 | <Component Id="Component1" Guid="09624A9A-4BBC-4126-BBF9-0713C5217DB1" Directory="INSTALLFOLDER"> | ||
15 | <File Id="AssemblyFileNET" Source="../Components/TestComponentNET4.dll" KeyPath="yes" /> | ||
16 | <File Id="TlbFileNET" Source="../Components/TestComponentNET4.tlb" /> | ||
17 | <complus:ComPlusApplication Id="APPLICATION" Name="ComPlus .NET 4 Application" Description="ComPlus Application" > | ||
18 | <complus:ComPlusAssembly Id="ASSEMBLY_NET" Type=".net" DllPath="[#AssemblyFileNET]" TlbPath="[#TlbFileNET]" > | ||
19 | <complus:ComPlusComponent Id="MyComNET4" CLSID="146AB3A2-4472-4DB9-94D5-311536E799BD" /> | ||
20 | </complus:ComPlusAssembly> | ||
21 | </complus:ComPlusApplication> | ||
22 | </Component> | ||
23 | </Fragment> | ||
24 | </Wix> | ||
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/InstallUninstallNativeWithoutPartitions.wixproj b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/InstallUninstallNativeWithoutPartitions.wixproj new file mode 100644 index 00000000..19382c83 --- /dev/null +++ b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/InstallUninstallNativeWithoutPartitions.wixproj | |||
@@ -0,0 +1,15 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | <Project Sdk="WixToolset.Sdk"> | ||
4 | <PropertyGroup> | ||
5 | <UpgradeCode>{A3E0B539-63F9-4B43-9E34-F33AE1C6E06D}</UpgradeCode> | ||
6 | <ProductComponentsRef>true</ProductComponentsRef> | ||
7 | </PropertyGroup> | ||
8 | <ItemGroup> | ||
9 | <Compile Include="..\..\Templates\Product.wxs" Link="Product.wxs" /> | ||
10 | </ItemGroup> | ||
11 | <ItemGroup> | ||
12 | <PackageReference Include="WixToolset.Util.wixext" /> | ||
13 | <PackageReference Include="WixToolset.ComPlus.wixext" /> | ||
14 | </ItemGroup> | ||
15 | </Project> | ||
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/product.wxs b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/product.wxs new file mode 100644 index 00000000..ee3c4d8f --- /dev/null +++ b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/product.wxs | |||
@@ -0,0 +1,24 @@ | |||
1 | <!-- 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. --> | ||
2 | |||
3 | |||
4 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" | ||
5 | xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util" | ||
6 | xmlns:complus="http://wixtoolset.org/schemas/v4/wxs/complus"> | ||
7 | <Fragment> | ||
8 | <ComponentGroup Id="ProductComponents"> | ||
9 | <ComponentRef Id="Component1" /> | ||
10 | </ComponentGroup> | ||
11 | </Fragment> | ||
12 | |||
13 | <Fragment> | ||
14 | <Component Id="Component1" Guid="09624A9A-4BBC-4126-BBF9-0713C5217DB1" Directory="INSTALLFOLDER"> | ||
15 | <File Id="AssemblyFileNative" Source="../Components/TestComponentNative.dll" /> | ||
16 | |||
17 | <complus:ComPlusApplication Id="APPLICATION" Name="ComPlus Native Application" Description="ComPlus Native Application" > | ||
18 | <complus:ComPlusAssembly Id="ASSEMBLY_Native" Type="native" DllPath="[#AssemblyFileNative]" > | ||
19 | <complus:ComPlusComponent Id="MyComNative" CLSID="8b4c3a90-762c-465b-abc5-81cb3cc5e464" /> | ||
20 | </complus:ComPlusAssembly> | ||
21 | </complus:ComPlusApplication> | ||
22 | </Component> | ||
23 | </Fragment> | ||
24 | </Wix> | ||
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/InstallUninstallWithPartitions.wixproj b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/InstallUninstallWithPartitions.wixproj new file mode 100644 index 00000000..19382c83 --- /dev/null +++ b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/InstallUninstallWithPartitions.wixproj | |||
@@ -0,0 +1,15 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | <Project Sdk="WixToolset.Sdk"> | ||
4 | <PropertyGroup> | ||
5 | <UpgradeCode>{A3E0B539-63F9-4B43-9E34-F33AE1C6E06D}</UpgradeCode> | ||
6 | <ProductComponentsRef>true</ProductComponentsRef> | ||
7 | </PropertyGroup> | ||
8 | <ItemGroup> | ||
9 | <Compile Include="..\..\Templates\Product.wxs" Link="Product.wxs" /> | ||
10 | </ItemGroup> | ||
11 | <ItemGroup> | ||
12 | <PackageReference Include="WixToolset.Util.wixext" /> | ||
13 | <PackageReference Include="WixToolset.ComPlus.wixext" /> | ||
14 | </ItemGroup> | ||
15 | </Project> | ||
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/product.wxs b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/product.wxs new file mode 100644 index 00000000..92dc892b --- /dev/null +++ b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/product.wxs | |||
@@ -0,0 +1,30 @@ | |||
1 | <!-- 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. --> | ||
2 | |||
3 | |||
4 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" | ||
5 | xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util" | ||
6 | xmlns:complus="http://wixtoolset.org/schemas/v4/wxs/complus"> | ||
7 | <Fragment> | ||
8 | <ComponentGroup Id="ProductComponents"> | ||
9 | <ComponentRef Id="Component1" /> | ||
10 | </ComponentGroup> | ||
11 | </Fragment> | ||
12 | |||
13 | <Fragment> | ||
14 | <util:User Id="TEST_USER" Name="[LogonUser]" /> | ||
15 | |||
16 | <Component Id="Component1" Guid="09624A9A-4BBC-4126-BBF9-0713C5217DB1" Directory="INSTALLFOLDER"> | ||
17 | <File Id="AssemblyFileNative" Source="../Components/TestComponentNative.dll" /> | ||
18 | |||
19 | <!-- Partition testing only works on Server OS --> | ||
20 | <complus:ComPlusPartition Id="PARTITION" Name="Complus Partition1" Description="ComPlus Partition" > | ||
21 | <complus:ComPlusPartitionUser Id="PARTITION_USER" User ="TEST_USER"/> | ||
22 | <complus:ComPlusApplication Id="APPLICATION" Name="ComPlus Application" Description="ComPlus Application" > | ||
23 | <complus:ComPlusAssembly Id="ASSEMBLY_Native" Type="native" DllPath="[#AssemblyFileNative]" > | ||
24 | <complus:ComPlusComponent Id="MyComNative" CLSID="8b4c3a90-762c-465b-abc5-81cb3cc5e464" /> | ||
25 | </complus:ComPlusAssembly> | ||
26 | </complus:ComPlusApplication> | ||
27 | </complus:ComPlusPartition> | ||
28 | </Component> | ||
29 | </Fragment> | ||
30 | </Wix> | ||
diff --git a/src/test/msi/WixToolsetTest.MsiE2E/ComPlusExtensionTests.cs b/src/test/msi/WixToolsetTest.MsiE2E/ComPlusExtensionTests.cs new file mode 100644 index 00000000..b143c19d --- /dev/null +++ b/src/test/msi/WixToolsetTest.MsiE2E/ComPlusExtensionTests.cs | |||
@@ -0,0 +1,50 @@ | |||
1 | // 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. | ||
2 | |||
3 | namespace WixToolsetTest.MsiE2E | ||
4 | { | ||
5 | using System; | ||
6 | using WixTestTools; | ||
7 | using Xunit; | ||
8 | using Xunit.Abstractions; | ||
9 | |||
10 | public class ComPlusExtensionTests : MsiE2ETests | ||
11 | { | ||
12 | public ComPlusExtensionTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } | ||
13 | |||
14 | [RuntimeFact] | ||
15 | public void CanInstallUninstallNativeWithoutPartitions() | ||
16 | { | ||
17 | var product = this.CreatePackageInstaller("InstallUninstallNativeWithoutPartitions"); | ||
18 | product.InstallProduct(MSIExec.MSIExecReturnCode.SUCCESS); | ||
19 | |||
20 | product.UninstallProduct(MSIExec.MSIExecReturnCode.SUCCESS); | ||
21 | } | ||
22 | |||
23 | [RuntimeFact] | ||
24 | public void CanInstallUninstallNET3WithoutPartitions() | ||
25 | { | ||
26 | var product = this.CreatePackageInstaller("InstallUninstallNET3WithoutPartitions"); | ||
27 | product.InstallProduct(MSIExec.MSIExecReturnCode.SUCCESS); | ||
28 | |||
29 | product.UninstallProduct(MSIExec.MSIExecReturnCode.SUCCESS); | ||
30 | } | ||
31 | |||
32 | [RuntimeFact] | ||
33 | public void CanInstallUninstallNET4WithoutPartitions() | ||
34 | { | ||
35 | var product = this.CreatePackageInstaller("InstallUninstallNET4WithoutPartitions"); | ||
36 | product.InstallProduct(MSIExec.MSIExecReturnCode.SUCCESS); | ||
37 | |||
38 | product.UninstallProduct(MSIExec.MSIExecReturnCode.SUCCESS); | ||
39 | } | ||
40 | |||
41 | [RuntimeFact(RequireWindowsServer = true)] | ||
42 | public void CanInstallAndUninstallWithPartitions() | ||
43 | { | ||
44 | var product = this.CreatePackageInstaller("InstallUninstallWithPartitions"); | ||
45 | product.InstallProduct(MSIExec.MSIExecReturnCode.SUCCESS); | ||
46 | |||
47 | product.UninstallProduct(MSIExec.MSIExecReturnCode.SUCCESS); | ||
48 | } | ||
49 | } | ||
50 | } | ||