diff options
Diffstat (limited to 'src/test')
15 files changed, 242 insertions, 0 deletions
diff --git a/src/test/burn/WixTestTools/RuntimeFactAttribute.cs b/src/test/burn/WixTestTools/RuntimeFactAttribute.cs index f73c87a2..573a9de2 100644 --- a/src/test/burn/WixTestTools/RuntimeFactAttribute.cs +++ b/src/test/burn/WixTestTools/RuntimeFactAttribute.cs | |||
@@ -5,6 +5,7 @@ namespace WixTestTools | |||
5 | using System; | 5 | using System; |
6 | using System.Security.Principal; | 6 | using System.Security.Principal; |
7 | using WixInternal.TestSupport.XunitExtensions; | 7 | using WixInternal.TestSupport.XunitExtensions; |
8 | using System.Runtime.InteropServices; | ||
8 | 9 | ||
9 | public class RuntimeFactAttribute : SkippableFactAttribute | 10 | public class RuntimeFactAttribute : SkippableFactAttribute |
10 | { | 11 | { |
@@ -12,6 +13,16 @@ namespace WixTestTools | |||
12 | 13 | ||
13 | public static bool RuntimeTestsEnabled { get; } | 14 | public static bool RuntimeTestsEnabled { get; } |
14 | public static bool RunningAsAdministrator { get; } | 15 | public static bool RunningAsAdministrator { get; } |
16 | public static bool RunningOnWindowsServer { get; } | ||
17 | |||
18 | [DllImport("shlwapi.dll", SetLastError = true, EntryPoint = "#437")] | ||
19 | private static extern bool IsOS(int os); | ||
20 | private static bool IsWindowsServer() | ||
21 | { | ||
22 | const int OS_ANYSERVER = 29; | ||
23 | return IsOS(OS_ANYSERVER); | ||
24 | } | ||
25 | |||
15 | 26 | ||
16 | static RuntimeFactAttribute() | 27 | static RuntimeFactAttribute() |
17 | { | 28 | { |
@@ -21,6 +32,25 @@ namespace WixTestTools | |||
21 | 32 | ||
22 | var testsEnabledString = Environment.GetEnvironmentVariable(RequiredEnvironmentVariableName); | 33 | var testsEnabledString = Environment.GetEnvironmentVariable(RequiredEnvironmentVariableName); |
23 | RuntimeTestsEnabled = Boolean.TryParse(testsEnabledString, out var testsEnabled) && testsEnabled; | 34 | RuntimeTestsEnabled = Boolean.TryParse(testsEnabledString, out var testsEnabled) && testsEnabled; |
35 | |||
36 | RunningOnWindowsServer = IsWindowsServer(); | ||
37 | } | ||
38 | |||
39 | private bool _RequireWindowsServer; | ||
40 | public bool RequireWindowsServer | ||
41 | { | ||
42 | get | ||
43 | { | ||
44 | return _RequireWindowsServer; | ||
45 | } | ||
46 | set | ||
47 | { | ||
48 | _RequireWindowsServer = value; | ||
49 | if (_RequireWindowsServer && !RunningOnWindowsServer) | ||
50 | { | ||
51 | this.Skip = $"These tests are only run on Windows Server"; | ||
52 | } | ||
53 | } | ||
24 | } | 54 | } |
25 | 55 | ||
26 | public RuntimeFactAttribute() | 56 | public RuntimeFactAttribute() |
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 | } | ||