aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/burn/WixTestTools/RuntimeFactAttribute.cs30
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3.dllbin0 -> 16384 bytes
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3.tlbbin0 -> 2088 bytes
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4.dllbin0 -> 16384 bytes
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4.tlbbin0 -> 2088 bytes
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative.dllbin0 -> 56832 bytes
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/InstallUninstallNET3WithoutPartitions.wixproj15
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/product.wxs24
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/InstallUninstallNET4WithoutPartitions.wixproj15
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/product.wxs24
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/InstallUninstallNativeWithoutPartitions.wixproj15
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/product.wxs24
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/InstallUninstallWithPartitions.wixproj15
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/product.wxs30
-rw-r--r--src/test/msi/WixToolsetTest.MsiE2E/ComPlusExtensionTests.cs50
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
3namespace 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}