aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorBevan Weiss <bevan.weiss@gmail.com>2025-01-03 15:14:49 +1100
committerRob Mensching <rob@firegiant.com>2025-02-11 14:55:39 -0800
commitc49432f7d39dfe7fedc722b85cd1162bd5096ac1 (patch)
tree5f319208fffbb2a9215af627f7ee21a2425ece0e /src/test
parent254196975c1f82bf7079a9d56b5417f5da9d8d76 (diff)
downloadwix-c49432f7d39dfe7fedc722b85cd1162bd5096ac1.tar.gz
wix-c49432f7d39dfe7fedc722b85cd1162bd5096ac1.tar.bz2
wix-c49432f7d39dfe7fedc722b85cd1162bd5096ac1.zip
Migrate COM+ E2E tests from raw binaries to source code.
Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
Diffstat (limited to 'src/test')
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/ComPlusComponents.sln79
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3.dllbin16384 -> 0 bytes
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/AssemblyInfo.cs57
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/TestComponentNET3.cs30
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/TestComponentNET3.csproj97
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4.dllbin16384 -> 0 bytes
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/AssemblyInfo.cs57
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/TestComponentNET4.cs30
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/TestComponentNET4.csproj97
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative.dllbin56832 -> 0 bytes
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.cpp12
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.h58
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.rgs16
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.cpp74
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.def10
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.idl37
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.rc144
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.rgs3
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.vcxproj291
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.vcxproj.filters82
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNativeps.def8
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/dllmain.cpp16
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/dllmain.h10
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/framework.h21
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/pch.cpp5
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/pch.h13
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/resource.h18
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/targetver.h8
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/InstallUninstallNET3WithoutPartitions.wixproj1
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/product.wxs4
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/InstallUninstallNET4WithoutPartitions.wixproj1
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/product.wxs4
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/InstallUninstallNativeWithoutPartitions.wixproj1
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/product.wxs3
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/InstallUninstallWithPartitions.wixproj1
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/product.wxs2
36 files changed, 1283 insertions, 7 deletions
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/ComPlusComponents.sln b/src/test/msi/TestData/ComPlusExtensionTests/Components/ComPlusComponents.sln
new file mode 100644
index 00000000..d25fea76
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/ComPlusComponents.sln
@@ -0,0 +1,79 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 17
4VisualStudioVersion = 17.11.35111.106
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestComponentNET3", "TestComponentNET3\TestComponentNET3.csproj", "{B4CD7ECE-7245-445B-9F04-D2952631554D}"
7EndProject
8Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestComponentNET4", "TestComponentNET4\TestComponentNET4.csproj", "{EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}"
9EndProject
10Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestComponentNative", "TestComponentNative\TestComponentNative.vcxproj", "{EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}"
11EndProject
12Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestComponentNET8", "TestComponentNET8\TestComponentNET8.csproj", "{EC2F6BAE-9840-4CA0-8B83-F38F635CF246}"
13EndProject
14Global
15 GlobalSection(SolutionConfigurationPlatforms) = preSolution
16 Debug|Any CPU = Debug|Any CPU
17 Debug|x64 = Debug|x64
18 Debug|x86 = Debug|x86
19 Release|Any CPU = Release|Any CPU
20 Release|x64 = Release|x64
21 Release|x86 = Release|x86
22 EndGlobalSection
23 GlobalSection(ProjectConfigurationPlatforms) = postSolution
24 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
25 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Debug|Any CPU.Build.0 = Debug|Any CPU
26 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Debug|x64.ActiveCfg = Debug|Any CPU
27 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Debug|x64.Build.0 = Debug|Any CPU
28 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Debug|x86.ActiveCfg = Debug|Any CPU
29 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Debug|x86.Build.0 = Debug|Any CPU
30 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Release|Any CPU.ActiveCfg = Release|Any CPU
31 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Release|Any CPU.Build.0 = Release|Any CPU
32 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Release|x64.ActiveCfg = Release|Any CPU
33 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Release|x64.Build.0 = Release|Any CPU
34 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Release|x86.ActiveCfg = Release|Any CPU
35 {B4CD7ECE-7245-445B-9F04-D2952631554D}.Release|x86.Build.0 = Release|Any CPU
36 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
37 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Debug|Any CPU.Build.0 = Debug|Any CPU
38 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Debug|x64.ActiveCfg = Debug|Any CPU
39 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Debug|x64.Build.0 = Debug|Any CPU
40 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Debug|x86.ActiveCfg = Debug|Any CPU
41 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Debug|x86.Build.0 = Debug|Any CPU
42 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Release|Any CPU.ActiveCfg = Release|Any CPU
43 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Release|Any CPU.Build.0 = Release|Any CPU
44 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Release|x64.ActiveCfg = Release|Any CPU
45 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Release|x64.Build.0 = Release|Any CPU
46 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Release|x86.ActiveCfg = Release|Any CPU
47 {EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}.Release|x86.Build.0 = Release|Any CPU
48 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Debug|Any CPU.ActiveCfg = Debug|x64
49 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Debug|Any CPU.Build.0 = Debug|x64
50 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Debug|x64.ActiveCfg = Debug|x64
51 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Debug|x64.Build.0 = Debug|x64
52 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Debug|x86.ActiveCfg = Debug|Win32
53 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Debug|x86.Build.0 = Debug|Win32
54 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Release|Any CPU.ActiveCfg = Release|x64
55 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Release|Any CPU.Build.0 = Release|x64
56 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Release|x64.ActiveCfg = Release|x64
57 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Release|x64.Build.0 = Release|x64
58 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Release|x86.ActiveCfg = Release|Win32
59 {EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}.Release|x86.Build.0 = Release|Win32
60 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
61 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Debug|Any CPU.Build.0 = Debug|Any CPU
62 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Debug|x64.ActiveCfg = Debug|Any CPU
63 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Debug|x64.Build.0 = Debug|Any CPU
64 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Debug|x86.ActiveCfg = Debug|Any CPU
65 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Debug|x86.Build.0 = Debug|Any CPU
66 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Release|Any CPU.ActiveCfg = Release|Any CPU
67 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Release|Any CPU.Build.0 = Release|Any CPU
68 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Release|x64.ActiveCfg = Release|Any CPU
69 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Release|x64.Build.0 = Release|Any CPU
70 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Release|x86.ActiveCfg = Release|Any CPU
71 {EC2F6BAE-9840-4CA0-8B83-F38F635CF246}.Release|x86.Build.0 = Release|Any CPU
72 EndGlobalSection
73 GlobalSection(SolutionProperties) = preSolution
74 HideSolutionNode = FALSE
75 EndGlobalSection
76 GlobalSection(ExtensibilityGlobals) = postSolution
77 SolutionGuid = {4C27BD28-1E2C-4414-8290-3C5C042DF148}
78 EndGlobalSection
79EndGlobal
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3.dll b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3.dll
deleted file mode 100644
index b46be649..00000000
--- a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3.dll
+++ /dev/null
Binary files differ
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/AssemblyInfo.cs b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/AssemblyInfo.cs
new file mode 100644
index 00000000..83e802dd
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/AssemblyInfo.cs
@@ -0,0 +1,57 @@
1using System.Reflection;
2
3//
4// General Information about an assembly is controlled through the following
5// set of attributes. Change these attribute values to modify the information
6// associated with an assembly.
7//
8[assembly: AssemblyTitle("")]
9[assembly: AssemblyDescription("")]
10[assembly: AssemblyConfiguration("")]
11[assembly: AssemblyCompany("")]
12[assembly: AssemblyProduct("")]
13[assembly: AssemblyCopyright("")]
14[assembly: AssemblyTrademark("")]
15[assembly: AssemblyCulture("")]
16
17//
18// Version information for an assembly consists of the following four values:
19//
20// Major Version
21// Minor Version
22// Build Number
23// Revision
24//
25// You can specify all the values or you can default the Revision and Build Numbers
26// by using the '*' as shown below:
27
28[assembly: AssemblyVersion("1.0.*")]
29
30//
31// In order to sign your assembly you must specify a key to use. Refer to the
32// Microsoft .NET Framework documentation for more information on assembly signing.
33//
34// Use the attributes below to control which key is used for signing.
35//
36// Notes:
37// (*) If no key is specified, the assembly is not signed.
38// (*) KeyName refers to a key that has been installed in the Crypto Service
39// Provider (CSP) on your machine. KeyFile refers to a file which contains
40// a key.
41// (*) If the KeyFile and the KeyName values are both specified, the
42// following processing occurs:
43// (1) If the KeyName can be found in the CSP, that key is used.
44// (2) If the KeyName does not exist and the KeyFile does exist, the key
45// in the KeyFile is installed into the CSP and used.
46// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
47// When specifying the KeyFile, the location of the KeyFile should be
48// relative to the project output directory which is
49// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
50// located in the project directory, you would specify the AssemblyKeyFile
51// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
52// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
53// documentation for more information on this.
54//
55[assembly: AssemblyDelaySign(false)]
56//[assembly: AssemblyKeyFile("..\\..\\..\\Signing.sn")]
57[assembly: AssemblyKeyName("")]
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/TestComponentNET3.cs b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/TestComponentNET3.cs
new file mode 100644
index 00000000..9922d637
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/TestComponentNET3.cs
@@ -0,0 +1,30 @@
1using System;
2using System.EnterpriseServices;
3using System.Runtime.InteropServices;
4
5[assembly: ApplicationActivation(ActivationOption.Library)]
6namespace TestApplication
7{
8 /// <summary>
9 /// TestComponent
10 /// </summary>
11 [ComVisible(true)]
12 [Transaction(TransactionOption.Required)]
13 [ObjectPooling(true, 5, 10)]
14 [Guid("17F82C39-5433-493A-A396-36072C645B80")]
15 public class TestComponent3 : ServicedComponent
16 {
17 public TestComponent3()
18 {
19 //
20 // TODO: Add constructor logic here
21 //
22 }
23
24 [AutoComplete(true)]
25 public void TestMethod(string Name, string Address, int JobType, bool MakeFail)
26 {
27
28 }
29 }
30}
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/TestComponentNET3.csproj b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/TestComponentNET3.csproj
new file mode 100644
index 00000000..b0c4aff9
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET3/TestComponentNET3.csproj
@@ -0,0 +1,97 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
3 <PropertyGroup>
4 <ProjectType>Local</ProjectType>
5 <ProductVersion>7.0.9466</ProductVersion>
6 <SchemaVersion>1.0</SchemaVersion>
7 <ProjectGuid>{B4CD7ECE-7245-445B-9F04-D2952631554D}</ProjectGuid>
8 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
9 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
10 <IsWixTestProject>false</IsWixTestProject>
11 <ApplicationIcon />
12 <AssemblyKeyContainerName />
13 <AssemblyName>TestComponentNET3</AssemblyName>
14 <AssemblyOriginatorKeyFile />
15 <DefaultClientScript>JScript</DefaultClientScript>
16 <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
17 <DefaultTargetSchema>IE50</DefaultTargetSchema>
18 <DelaySign>false</DelaySign>
19 <OutputType>Library</OutputType>
20 <RootNamespace>TestApplication</RootNamespace>
21 <StartupObject />
22 <FileUpgradeFlags>
23 </FileUpgradeFlags>
24 <UpgradeBackupLocation>
25 </UpgradeBackupLocation>
26 <OldToolsVersion>0.0</OldToolsVersion>
27 <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
28 <TargetFrameworkProfile />
29 </PropertyGroup>
30 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
31 <OutputPath>bin\Debug\</OutputPath>
32 <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
33 <BaseAddress>285212672</BaseAddress>
34 <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
35 <ConfigurationOverrideFile />
36 <DefineConstants>DEBUG;TRACE</DefineConstants>
37 <DocumentationFile />
38 <DebugSymbols>true</DebugSymbols>
39 <FileAlignment>4096</FileAlignment>
40 <Optimize>false</Optimize>
41 <RegisterForComInterop>false</RegisterForComInterop>
42 <RemoveIntegerChecks>false</RemoveIntegerChecks>
43 <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
44 <WarningLevel>4</WarningLevel>
45 <DebugType>full</DebugType>
46 <ErrorReport>prompt</ErrorReport>
47 <Prefer32Bit>false</Prefer32Bit>
48 <PlatformTarget>AnyCPU</PlatformTarget>
49 </PropertyGroup>
50 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
51 <OutputPath>bin\Release\</OutputPath>
52 <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
53 <BaseAddress>285212672</BaseAddress>
54 <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
55 <ConfigurationOverrideFile />
56 <DefineConstants>TRACE</DefineConstants>
57 <DocumentationFile />
58 <DebugSymbols>false</DebugSymbols>
59 <FileAlignment>4096</FileAlignment>
60 <Optimize>true</Optimize>
61 <RegisterForComInterop>false</RegisterForComInterop>
62 <RemoveIntegerChecks>false</RemoveIntegerChecks>
63 <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
64 <WarningLevel>4</WarningLevel>
65 <DebugType>none</DebugType>
66 <ErrorReport>prompt</ErrorReport>
67 <Prefer32Bit>false</Prefer32Bit>
68 </PropertyGroup>
69 <ItemGroup>
70 <Reference Include="System">
71 <Name>System</Name>
72 </Reference>
73 <Reference Include="System.Data">
74 <Name>System.Data</Name>
75 </Reference>
76 <Reference Include="System.EnterpriseServices">
77 <Name>System.EnterpriseServices</Name>
78 </Reference>
79 <Reference Include="System.XML">
80 <Name>System.XML</Name>
81 </Reference>
82 </ItemGroup>
83 <ItemGroup>
84 <Compile Include="AssemblyInfo.cs">
85 <SubType>Code</SubType>
86 </Compile>
87 <Compile Include="TestComponentNET3.cs">
88 <SubType>Code</SubType>
89 </Compile>
90 </ItemGroup>
91 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
92 <PropertyGroup>
93 <PreBuildEvent />
94 <PostBuildEvent>call "$(DevEnvDir)..\Tools\VsDevCmd.bat"
95tlbexp.exe $(TargetDir)$(TargetFileName)</PostBuildEvent>
96 </PropertyGroup>
97</Project> \ No newline at end of file
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4.dll b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4.dll
deleted file mode 100644
index e0fd3dee..00000000
--- a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4.dll
+++ /dev/null
Binary files differ
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/AssemblyInfo.cs b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/AssemblyInfo.cs
new file mode 100644
index 00000000..83e802dd
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/AssemblyInfo.cs
@@ -0,0 +1,57 @@
1using System.Reflection;
2
3//
4// General Information about an assembly is controlled through the following
5// set of attributes. Change these attribute values to modify the information
6// associated with an assembly.
7//
8[assembly: AssemblyTitle("")]
9[assembly: AssemblyDescription("")]
10[assembly: AssemblyConfiguration("")]
11[assembly: AssemblyCompany("")]
12[assembly: AssemblyProduct("")]
13[assembly: AssemblyCopyright("")]
14[assembly: AssemblyTrademark("")]
15[assembly: AssemblyCulture("")]
16
17//
18// Version information for an assembly consists of the following four values:
19//
20// Major Version
21// Minor Version
22// Build Number
23// Revision
24//
25// You can specify all the values or you can default the Revision and Build Numbers
26// by using the '*' as shown below:
27
28[assembly: AssemblyVersion("1.0.*")]
29
30//
31// In order to sign your assembly you must specify a key to use. Refer to the
32// Microsoft .NET Framework documentation for more information on assembly signing.
33//
34// Use the attributes below to control which key is used for signing.
35//
36// Notes:
37// (*) If no key is specified, the assembly is not signed.
38// (*) KeyName refers to a key that has been installed in the Crypto Service
39// Provider (CSP) on your machine. KeyFile refers to a file which contains
40// a key.
41// (*) If the KeyFile and the KeyName values are both specified, the
42// following processing occurs:
43// (1) If the KeyName can be found in the CSP, that key is used.
44// (2) If the KeyName does not exist and the KeyFile does exist, the key
45// in the KeyFile is installed into the CSP and used.
46// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
47// When specifying the KeyFile, the location of the KeyFile should be
48// relative to the project output directory which is
49// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
50// located in the project directory, you would specify the AssemblyKeyFile
51// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
52// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
53// documentation for more information on this.
54//
55[assembly: AssemblyDelaySign(false)]
56//[assembly: AssemblyKeyFile("..\\..\\..\\Signing.sn")]
57[assembly: AssemblyKeyName("")]
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/TestComponentNET4.cs b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/TestComponentNET4.cs
new file mode 100644
index 00000000..7aabd169
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/TestComponentNET4.cs
@@ -0,0 +1,30 @@
1using System;
2using System.EnterpriseServices;
3using System.Runtime.InteropServices;
4
5[assembly: ApplicationActivation(ActivationOption.Library)]
6namespace TestApplication
7{
8 /// <summary>
9 /// TestComponent
10 /// </summary>
11 [ComVisible(true)]
12 [Transaction(TransactionOption.Required)]
13 [ObjectPooling(true, 5, 10)]
14 [Guid("146AB3A2-4472-4DB9-94D5-311536E799BD")]
15 public class TestComponent4 : ServicedComponent
16 {
17 public TestComponent4()
18 {
19 //
20 // TODO: Add constructor logic here
21 //
22 }
23
24 [AutoComplete(true)]
25 public void TestMethod(string Name, string Address, int JobType, bool MakeFail)
26 {
27
28 }
29 }
30}
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/TestComponentNET4.csproj b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/TestComponentNET4.csproj
new file mode 100644
index 00000000..60785894
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNET4/TestComponentNET4.csproj
@@ -0,0 +1,97 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
3 <PropertyGroup>
4 <ProjectType>Local</ProjectType>
5 <ProductVersion>7.0.9466</ProductVersion>
6 <SchemaVersion>1.0</SchemaVersion>
7 <ProjectGuid>{EA2AFCCE-677D-433E-8517-4CFBBD3EBFAA}</ProjectGuid>
8 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
9 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
10 <IsWixTestProject>false</IsWixTestProject>
11 <ApplicationIcon />
12 <AssemblyKeyContainerName />
13 <AssemblyName>TestComponentNET4</AssemblyName>
14 <AssemblyOriginatorKeyFile />
15 <DefaultClientScript>JScript</DefaultClientScript>
16 <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
17 <DefaultTargetSchema>IE50</DefaultTargetSchema>
18 <DelaySign>false</DelaySign>
19 <OutputType>Library</OutputType>
20 <RootNamespace>TestApplication</RootNamespace>
21 <StartupObject />
22 <FileUpgradeFlags>
23 </FileUpgradeFlags>
24 <UpgradeBackupLocation>
25 </UpgradeBackupLocation>
26 <OldToolsVersion>0.0</OldToolsVersion>
27 <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
28 <TargetFrameworkProfile />
29 </PropertyGroup>
30 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
31 <OutputPath>bin\Debug\</OutputPath>
32 <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
33 <BaseAddress>285212672</BaseAddress>
34 <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
35 <ConfigurationOverrideFile />
36 <DefineConstants>DEBUG;TRACE</DefineConstants>
37 <DocumentationFile />
38 <DebugSymbols>true</DebugSymbols>
39 <FileAlignment>4096</FileAlignment>
40 <Optimize>false</Optimize>
41 <RegisterForComInterop>false</RegisterForComInterop>
42 <RemoveIntegerChecks>false</RemoveIntegerChecks>
43 <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
44 <WarningLevel>4</WarningLevel>
45 <DebugType>full</DebugType>
46 <ErrorReport>prompt</ErrorReport>
47 <Prefer32Bit>false</Prefer32Bit>
48 <PlatformTarget>AnyCPU</PlatformTarget>
49 </PropertyGroup>
50 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
51 <OutputPath>bin\Release\</OutputPath>
52 <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
53 <BaseAddress>285212672</BaseAddress>
54 <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
55 <ConfigurationOverrideFile />
56 <DefineConstants>TRACE</DefineConstants>
57 <DocumentationFile />
58 <DebugSymbols>false</DebugSymbols>
59 <FileAlignment>4096</FileAlignment>
60 <Optimize>true</Optimize>
61 <RegisterForComInterop>false</RegisterForComInterop>
62 <RemoveIntegerChecks>false</RemoveIntegerChecks>
63 <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
64 <WarningLevel>4</WarningLevel>
65 <DebugType>none</DebugType>
66 <ErrorReport>prompt</ErrorReport>
67 <Prefer32Bit>false</Prefer32Bit>
68 </PropertyGroup>
69 <ItemGroup>
70 <Reference Include="System">
71 <Name>System</Name>
72 </Reference>
73 <Reference Include="System.Data">
74 <Name>System.Data</Name>
75 </Reference>
76 <Reference Include="System.EnterpriseServices">
77 <Name>System.EnterpriseServices</Name>
78 </Reference>
79 <Reference Include="System.XML">
80 <Name>System.XML</Name>
81 </Reference>
82 </ItemGroup>
83 <ItemGroup>
84 <Compile Include="AssemblyInfo.cs">
85 <SubType>Code</SubType>
86 </Compile>
87 <Compile Include="TestComponentNET4.cs">
88 <SubType>Code</SubType>
89 </Compile>
90 </ItemGroup>
91 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
92 <PropertyGroup>
93 <PreBuildEvent />
94 <PostBuildEvent>call "$(DevEnvDir)..\Tools\VsDevCmd.bat"
95tlbexp.exe $(TargetDir)$(TargetFileName)</PostBuildEvent>
96 </PropertyGroup>
97</Project> \ No newline at end of file
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative.dll b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative.dll
deleted file mode 100644
index dbcb5807..00000000
--- a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative.dll
+++ /dev/null
Binary files differ
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.cpp b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.cpp
new file mode 100644
index 00000000..0b48727d
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.cpp
@@ -0,0 +1,12 @@
1// Message.cpp : Implementation of CMessage
2
3#include "pch.h"
4#include "Message.h"
5
6
7// CMessage
8
9HRESULT STDMETHODCALLTYPE CMessage::SayHello(void)
10{
11 return S_OK;
12}; \ No newline at end of file
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.h b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.h
new file mode 100644
index 00000000..2fbd47d4
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.h
@@ -0,0 +1,58 @@
1// Message.h : Declaration of the CMessage
2
3#pragma once
4#include "resource.h" // main symbols
5
6
7
8#include "TestComponentNative_i.h"
9
10
11
12#if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA)
13#error "Single-threaded COM objects are not properly supported on Windows CE platform, such as the Windows Mobile platforms that do not include full DCOM support. Define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA to force ATL to support creating single-thread COM object's and allow use of it's single-threaded COM object implementations. The threading model in your rgs file was set to 'Free' as that is the only threading model supported in non DCOM Windows CE platforms."
14#endif
15
16using namespace ATL;
17
18
19// CMessage
20
21class ATL_NO_VTABLE CMessage :
22 public CComObjectRootEx<CComSingleThreadModel>,
23 public CComCoClass<CMessage, &CLSID_Message>,
24 public IDispatchImpl<IMessage, &IID_IMessage, &LIBID_TestComponentNativeLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
25{
26public:
27 CMessage()
28 {
29 }
30 HRESULT STDMETHODCALLTYPE CMessage::SayHello(void);
31DECLARE_REGISTRY_RESOURCEID(106)
32
33
34BEGIN_COM_MAP(CMessage)
35 COM_INTERFACE_ENTRY(IMessage)
36 COM_INTERFACE_ENTRY(IDispatch)
37END_COM_MAP()
38
39
40
41 DECLARE_PROTECT_FINAL_CONSTRUCT()
42
43 HRESULT FinalConstruct()
44 {
45 return S_OK;
46 }
47
48 void FinalRelease()
49 {
50 }
51
52public:
53
54
55
56};
57
58OBJECT_ENTRY_AUTO(__uuidof(Message), CMessage)
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.rgs b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.rgs
new file mode 100644
index 00000000..94a89f1f
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.rgs
@@ -0,0 +1,16 @@
1HKCR
2{
3 NoRemove CLSID
4 {
5 ForceRemove {8b4c3a90-762c-465b-abc5-81cb3cc5e464} = s 'Message class'
6 {
7 ForceRemove Programmable
8 InprocServer32 = s '%MODULE%'
9 {
10 val ThreadingModel = s 'Apartment'
11 }
12 TypeLib = s '{8aaadab2-ac31-4618-ad2b-6b71d2a318eb}'
13 Version = s '1.0'
14 }
15 }
16}
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.cpp b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.cpp
new file mode 100644
index 00000000..1a9fcb32
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.cpp
@@ -0,0 +1,74 @@
1// TestComponentNative.cpp : Implementation of DLL Exports.
2
3
4#include "pch.h"
5#include "framework.h"
6#include "resource.h"
7#include "TestComponentNative_i.h"
8#include "dllmain.h"
9
10
11using namespace ATL;
12
13// Used to determine whether the DLL can be unloaded by OLE.
14_Use_decl_annotations_
15STDAPI DllCanUnloadNow(void)
16{
17 return _AtlModule.DllCanUnloadNow();
18}
19
20// Returns a class factory to create an object of the requested type.
21_Use_decl_annotations_
22STDAPI DllGetClassObject(_In_ REFCLSID rclsid, _In_ REFIID riid, _Outptr_ LPVOID* ppv)
23{
24 return _AtlModule.DllGetClassObject(rclsid, riid, ppv);
25}
26
27// DllRegisterServer - Adds entries to the system registry.
28_Use_decl_annotations_
29STDAPI DllRegisterServer(void)
30{
31 // registers object, typelib and all interfaces in typelib
32 HRESULT hr = _AtlModule.DllRegisterServer();
33 return hr;
34}
35
36// DllUnregisterServer - Removes entries from the system registry.
37_Use_decl_annotations_
38STDAPI DllUnregisterServer(void)
39{
40 HRESULT hr = _AtlModule.DllUnregisterServer();
41 return hr;
42}
43
44// DllInstall - Adds/Removes entries to the system registry per user per machine.
45STDAPI DllInstall(BOOL bInstall, _In_opt_ LPCWSTR pszCmdLine)
46{
47 HRESULT hr = E_FAIL;
48 static const wchar_t szUserSwitch[] = L"user";
49
50 if (pszCmdLine != nullptr)
51 {
52 if (_wcsnicmp(pszCmdLine, szUserSwitch, _countof(szUserSwitch)) == 0)
53 {
54 ATL::AtlSetPerUserRegistration(true);
55 }
56 }
57
58 if (bInstall)
59 {
60 hr = DllRegisterServer();
61 if (FAILED(hr))
62 {
63 DllUnregisterServer();
64 }
65 }
66 else
67 {
68 hr = DllUnregisterServer();
69 }
70
71 return hr;
72}
73
74
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.def b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.def
new file mode 100644
index 00000000..1c707604
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.def
@@ -0,0 +1,10 @@
1; TestComponentNative.def : Declares the module parameters.
2
3LIBRARY
4
5EXPORTS
6 DllCanUnloadNow PRIVATE
7 DllGetClassObject PRIVATE
8 DllRegisterServer PRIVATE
9 DllUnregisterServer PRIVATE
10 DllInstall PRIVATE
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.idl b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.idl
new file mode 100644
index 00000000..12d77921
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.idl
@@ -0,0 +1,37 @@
1// TestComponentNative.idl : IDL source for TestComponentNative
2//
3
4// This file will be processed by the MIDL tool to
5// produce the type library (TestComponentNative.tlb) and marshalling code.
6
7import "oaidl.idl";
8import "ocidl.idl";
9
10[
11 object,
12 uuid(b734850b-d5c9-4903-bea3-4c46ee544ed8),
13 dual,
14 nonextensible,
15 pointer_default(unique)
16]
17interface IMessage : IDispatch
18{
19 [id(1), helpstring("hello")] HRESULT SayHello();
20};
21[
22 uuid(8aaadab2-ac31-4618-ad2b-6b71d2a318eb),
23 version(1.0),
24]
25library TestComponentNativeLib
26{
27 importlib("stdole2.tlb");
28 [
29 uuid(8b4c3a90-762c-465b-abc5-81cb3cc5e464)
30 ]
31 coclass Message
32 {
33 [default] interface IMessage;
34 };
35};
36
37import "shobjidl.idl";
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.rc b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.rc
new file mode 100644
index 00000000..87f4785e
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.rc
@@ -0,0 +1,144 @@
1// Microsoft Visual C++ generated resource script.
2//
3#include "resource.h"
4
5#define APSTUDIO_READONLY_SYMBOLS
6/////////////////////////////////////////////////////////////////////////////
7//
8// Generated from the TEXTINCLUDE 2 resource.
9//
10#ifndef APSTUDIO_INVOKED
11#include "targetver.h"
12#endif
13#include "winres.h"
14#include "verrsrc.h"
15
16/////////////////////////////////////////////////////////////////////////////
17#undef APSTUDIO_READONLY_SYMBOLS
18
19/////////////////////////////////////////////////////////////////////////////
20// English (United States) resources
21
22#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
23LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
24
25#ifdef APSTUDIO_INVOKED
26/////////////////////////////////////////////////////////////////////////////
27//
28// TEXTINCLUDE
29//
30
311 TEXTINCLUDE
32BEGIN
33 "resource.h\0"
34END
35
362 TEXTINCLUDE
37BEGIN
38 "#ifndef APSTUDIO_INVOKED\r\n"
39 "#include ""targetver.h""\r\n"
40 "#endif\r\n"
41 "#include ""winres.h""\r\n"
42 "#include ""verrsrc.h""\r\n"
43 "\0"
44END
45
463 TEXTINCLUDE
47BEGIN
48 "1 TYPELIB ""TestComponentNative.tlb""\r\n"
49 "\0"
50END
51
52#endif // APSTUDIO_INVOKED
53
54
55/////////////////////////////////////////////////////////////////////////////
56//
57// Version
58//
59// REMOVED: This is provided by WiX build system overrides
60
61//VS_VERSION_INFO VERSIONINFO
62// FILEVERSION 1,0,0,1
63// PRODUCTVERSION 1,0,0,1
64// FILEFLAGSMASK 0x3fL
65//#ifdef _DEBUG
66// FILEFLAGS 0x1L
67//#else
68// FILEFLAGS 0x0L
69//#endif
70// FILEOS 0x40004L
71// FILETYPE 0x2L
72// FILESUBTYPE 0x0L
73//BEGIN
74// BLOCK "StringFileInfo"
75// BEGIN
76// BLOCK "040904B0"
77// BEGIN
78// VALUE "CompanyName", "TODO: <Company name>"
79// VALUE "FileDescription", "TODO: <File description>"
80// VALUE "FileVersion", "1.0.0.1"
81// VALUE "LegalCopyright", "TODO: (c) <Company name>. All rights reserved."
82// VALUE "InternalName", "TestComponentNative.dll"
83// VALUE "OriginalFilename", "TestComponentNative.dll"
84// VALUE "ProductName", "TODO: <Product name>"
85// VALUE "ProductVersion", "1.0.0.1"
86// END
87// END
88// BLOCK "VarFileInfo"
89// BEGIN
90// VALUE "Translation", 0x409, 1200
91// END
92//END
93
94
95/////////////////////////////////////////////////////////////////////////////
96//
97// REGISTRY
98//
99
100IDR_TESTCOMPONENTNATIVE REGISTRY "TestComponentNative.rgs"
101
102
103/////////////////////////////////////////////////////////////////////////////
104//
105// String Table
106//
107
108STRINGTABLE
109BEGIN
110 IDS_PROJNAME "TestComponentNative"
111END
112
113#endif // English (United States) resources
114/////////////////////////////////////////////////////////////////////////////
115
116
117/////////////////////////////////////////////////////////////////////////////
118// English (United Kingdom) resources
119
120#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
121LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
122
123/////////////////////////////////////////////////////////////////////////////
124//
125// REGISTRY
126//
127
128IDR_MESSAGE REGISTRY "Message.rgs"
129
130#endif // English (United Kingdom) resources
131/////////////////////////////////////////////////////////////////////////////
132
133
134
135#ifndef APSTUDIO_INVOKED
136/////////////////////////////////////////////////////////////////////////////
137//
138// Generated from the TEXTINCLUDE 3 resource.
139//
1401 TYPELIB "TestComponentNative.tlb"
141
142/////////////////////////////////////////////////////////////////////////////
143#endif // not APSTUDIO_INVOKED
144
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.rgs b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.rgs
new file mode 100644
index 00000000..e7d37400
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.rgs
@@ -0,0 +1,3 @@
1HKCR
2{
3}
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.vcxproj b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.vcxproj
new file mode 100644
index 00000000..d2e7b2b6
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.vcxproj
@@ -0,0 +1,291 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup Label="ProjectConfigurations">
4 <ProjectConfiguration Include="Debug|Win32">
5 <Configuration>Debug</Configuration>
6 <Platform>Win32</Platform>
7 </ProjectConfiguration>
8 <ProjectConfiguration Include="Release|Win32">
9 <Configuration>Release</Configuration>
10 <Platform>Win32</Platform>
11 </ProjectConfiguration>
12 <ProjectConfiguration Include="Debug|x64">
13 <Configuration>Debug</Configuration>
14 <Platform>x64</Platform>
15 </ProjectConfiguration>
16 <ProjectConfiguration Include="Release|x64">
17 <Configuration>Release</Configuration>
18 <Platform>x64</Platform>
19 </ProjectConfiguration>
20 </ItemGroup>
21 <PropertyGroup Label="Globals">
22 <VCProjectVersion>17.0</VCProjectVersion>
23 <ProjectGuid>{EB199FA2-F9F7-4A2F-A4D3-6689F8A18952}</ProjectGuid>
24 <Keyword>AtlProj</Keyword>
25 <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
26 </PropertyGroup>
27 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
28 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
29 <ConfigurationType>DynamicLibrary</ConfigurationType>
30 <UseDebugLibraries>true</UseDebugLibraries>
31 <PlatformToolset>v143</PlatformToolset>
32 <CharacterSet>Unicode</CharacterSet>
33 </PropertyGroup>
34 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
35 <ConfigurationType>DynamicLibrary</ConfigurationType>
36 <UseDebugLibraries>false</UseDebugLibraries>
37 <PlatformToolset>v143</PlatformToolset>
38 <CharacterSet>Unicode</CharacterSet>
39 </PropertyGroup>
40 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
41 <ConfigurationType>DynamicLibrary</ConfigurationType>
42 <UseDebugLibraries>true</UseDebugLibraries>
43 <PlatformToolset>v143</PlatformToolset>
44 <CharacterSet>Unicode</CharacterSet>
45 </PropertyGroup>
46 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
47 <ConfigurationType>DynamicLibrary</ConfigurationType>
48 <UseDebugLibraries>false</UseDebugLibraries>
49 <PlatformToolset>v143</PlatformToolset>
50 <CharacterSet>Unicode</CharacterSet>
51 </PropertyGroup>
52 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
53 <ImportGroup Label="ExtensionSettings">
54 </ImportGroup>
55 <ImportGroup Label="Shared">
56 </ImportGroup>
57 <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
58 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
59 </ImportGroup>
60 <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
61 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
62 </ImportGroup>
63 <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
64 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
65 </ImportGroup>
66 <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
67 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
68 </ImportGroup>
69 <PropertyGroup Label="UserMacros" />
70 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
71 <IgnoreImportLibrary>true</IgnoreImportLibrary>
72 <LinkIncremental>true</LinkIncremental>
73 <OutDir>$(ProjectDir)bin\$(Configuration)\</OutDir>
74 <IntDir>$(ProjectDir)obj\$(Configuration)\</IntDir>
75 </PropertyGroup>
76 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
77 <IgnoreImportLibrary>true</IgnoreImportLibrary>
78 <LinkIncremental>true</LinkIncremental>
79 <OutDir>$(ProjectDir)bin\$(Configuration)\</OutDir>
80 <IntDir>$(ProjectDir)obj\$(Configuration)\</IntDir>
81 </PropertyGroup>
82 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
83 <IgnoreImportLibrary>true</IgnoreImportLibrary>
84 <LinkIncremental>false</LinkIncremental>
85 <OutDir>$(ProjectDir)bin\$(Platform)\$(Configuration)\</OutDir>
86 <IntDir>$(ProjectDir)obj\$(Platform)\$(Configuration)\</IntDir>
87 </PropertyGroup>
88 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
89 <IgnoreImportLibrary>true</IgnoreImportLibrary>
90 <LinkIncremental>false</LinkIncremental>
91 <OutDir>$(ProjectDir)bin\$(Platform)\$(Configuration)\</OutDir>
92 <IntDir>$(ProjectDir)obj\$(Platform)\$(Configuration)\</IntDir>
93 </PropertyGroup>
94 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
95 <ClCompile>
96 <PrecompiledHeader>Use</PrecompiledHeader>
97 <WarningLevel>Level3</WarningLevel>
98 <Optimization>Disabled</Optimization>
99 <PreprocessorDefinitions>_WINDOWS;_DEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
100 <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
101 <SDLCheck>true</SDLCheck>
102 <ControlFlowGuard>false</ControlFlowGuard>
103 </ClCompile>
104 <Midl>
105 <MkTypLibCompatible>false</MkTypLibCompatible>
106 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
107 <HeaderFileName>TestComponentNative_i.h</HeaderFileName>
108 <InterfaceIdentifierFileName>TestComponentNative_i.c</InterfaceIdentifierFileName>
109 <ProxyFileName>TestComponentNative_p.c</ProxyFileName>
110 <GenerateStublessProxies>true</GenerateStublessProxies>
111 <TypeLibraryName>$(IntDir)TestComponentNative.tlb</TypeLibraryName>
112 <DllDataFileName />
113 <ValidateAllParameters>true</ValidateAllParameters>
114 </Midl>
115 <ResourceCompile>
116 <Culture>0x0409</Culture>
117 <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
118 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
119 </ResourceCompile>
120 <Link>
121 <SubSystem>Windows</SubSystem>
122 <ModuleDefinitionFile>.\TestComponentNative.def</ModuleDefinitionFile>
123 <RegisterOutput>false</RegisterOutput>
124 </Link>
125 </ItemDefinitionGroup>
126 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
127 <ClCompile>
128 <PrecompiledHeader>Use</PrecompiledHeader>
129 <WarningLevel>Level3</WarningLevel>
130 <Optimization>Disabled</Optimization>
131 <PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
132 <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
133 <SDLCheck>true</SDLCheck>
134 <ControlFlowGuard>false</ControlFlowGuard>
135 </ClCompile>
136 <Midl>
137 <MkTypLibCompatible>false</MkTypLibCompatible>
138 <TargetEnvironment>Win32</TargetEnvironment>
139 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
140 <HeaderFileName>TestComponentNative_i.h</HeaderFileName>
141 <InterfaceIdentifierFileName>TestComponentNative_i.c</InterfaceIdentifierFileName>
142 <ProxyFileName>TestComponentNative_p.c</ProxyFileName>
143 <GenerateStublessProxies>true</GenerateStublessProxies>
144 <TypeLibraryName>$(IntDir)TestComponentNative.tlb</TypeLibraryName>
145 <DllDataFileName />
146 <ValidateAllParameters>true</ValidateAllParameters>
147 </Midl>
148 <ResourceCompile>
149 <Culture>0x0409</Culture>
150 <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
151 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
152 </ResourceCompile>
153 <Link>
154 <SubSystem>Windows</SubSystem>
155 <ModuleDefinitionFile>.\TestComponentNative.def</ModuleDefinitionFile>
156 <RegisterOutput>false</RegisterOutput>
157 </Link>
158 </ItemDefinitionGroup>
159 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
160 <ClCompile>
161 <PrecompiledHeader>Use</PrecompiledHeader>
162 <WarningLevel>Level3</WarningLevel>
163 <Optimization>MaxSpeed</Optimization>
164 <PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
165 <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
166 <SDLCheck>true</SDLCheck>
167 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
168 <ControlFlowGuard>false</ControlFlowGuard>
169 </ClCompile>
170 <Midl>
171 <MkTypLibCompatible>false</MkTypLibCompatible>
172 <TargetEnvironment>Win32</TargetEnvironment>
173 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
174 <HeaderFileName>TestComponentNative_i.h</HeaderFileName>
175 <InterfaceIdentifierFileName>TestComponentNative_i.c</InterfaceIdentifierFileName>
176 <ProxyFileName>TestComponentNative_p.c</ProxyFileName>
177 <GenerateStublessProxies>true</GenerateStublessProxies>
178 <TypeLibraryName>$(IntDir)TestComponentNative.tlb</TypeLibraryName>
179 <DllDataFileName />
180 <ValidateAllParameters>true</ValidateAllParameters>
181 </Midl>
182 <ResourceCompile>
183 <Culture>0x0409</Culture>
184 <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
185 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
186 </ResourceCompile>
187 <Link>
188 <SubSystem>Windows</SubSystem>
189 <ModuleDefinitionFile>.\TestComponentNative.def</ModuleDefinitionFile>
190 <EnableCOMDATFolding>true</EnableCOMDATFolding>
191 <OptimizeReferences>true</OptimizeReferences>
192 <RegisterOutput>false</RegisterOutput>
193 </Link>
194 </ItemDefinitionGroup>
195 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
196 <ClCompile>
197 <PrecompiledHeader>Use</PrecompiledHeader>
198 <WarningLevel>Level3</WarningLevel>
199 <Optimization>MaxSpeed</Optimization>
200 <PreprocessorDefinitions>_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
201 <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
202 <SDLCheck>true</SDLCheck>
203 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
204 <ControlFlowGuard>false</ControlFlowGuard>
205 </ClCompile>
206 <Midl>
207 <MkTypLibCompatible>false</MkTypLibCompatible>
208 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
209 <HeaderFileName>TestComponentNative_i.h</HeaderFileName>
210 <InterfaceIdentifierFileName>TestComponentNative_i.c</InterfaceIdentifierFileName>
211 <ProxyFileName>TestComponentNative_p.c</ProxyFileName>
212 <GenerateStublessProxies>true</GenerateStublessProxies>
213 <TypeLibraryName>$(IntDir)TestComponentNative.tlb</TypeLibraryName>
214 <DllDataFileName />
215 <ValidateAllParameters>true</ValidateAllParameters>
216 </Midl>
217 <ResourceCompile>
218 <Culture>0x0409</Culture>
219 <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
220 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
221 </ResourceCompile>
222 <Link>
223 <SubSystem>Windows</SubSystem>
224 <ModuleDefinitionFile>.\TestComponentNative.def</ModuleDefinitionFile>
225 <EnableCOMDATFolding>true</EnableCOMDATFolding>
226 <OptimizeReferences>true</OptimizeReferences>
227 <RegisterOutput>false</RegisterOutput>
228 </Link>
229 </ItemDefinitionGroup>
230 <ItemGroup>
231 <ClInclude Include="dllmain.h" />
232 <ClInclude Include="framework.h" />
233 <ClInclude Include="Message.h" />
234 <ClInclude Include="pch.h" />
235 <ClInclude Include="Resource.h" />
236 <ClInclude Include="targetver.h" />
237 <ClInclude Include="TestComponentNative_i.h" />
238 </ItemGroup>
239 <ItemGroup>
240 <ClCompile Include="dllmain.cpp">
241 <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</CompileAsManaged>
242 <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</CompileAsManaged>
243 <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsManaged>
244 <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</CompileAsManaged>
245 <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
246 </PrecompiledHeader>
247 <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
248 </PrecompiledHeader>
249 <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
250 </PrecompiledHeader>
251 <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
252 </PrecompiledHeader>
253 </ClCompile>
254 <ClCompile Include="Message.cpp" />
255 <ClCompile Include="pch.cpp">
256 <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
257 <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
258 <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
259 <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
260 </ClCompile>
261 <ClCompile Include="TestComponentNative.cpp" />
262 <ClCompile Include="TestComponentNative_i.c">
263 <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</CompileAsManaged>
264 <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</CompileAsManaged>
265 <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsManaged>
266 <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</CompileAsManaged>
267 <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
268 </PrecompiledHeader>
269 <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
270 </PrecompiledHeader>
271 <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
272 </PrecompiledHeader>
273 <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
274 </PrecompiledHeader>
275 </ClCompile>
276 </ItemGroup>
277 <ItemGroup>
278 <ResourceCompile Include="TestComponentNative.rc" />
279 </ItemGroup>
280 <ItemGroup>
281 <None Include="Message.rgs" />
282 <None Include="TestComponentNative.def" />
283 <None Include="TestComponentNative.rgs" />
284 </ItemGroup>
285 <ItemGroup>
286 <Midl Include="TestComponentNative.idl" />
287 </ItemGroup>
288 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
289 <ImportGroup Label="ExtensionTargets">
290 </ImportGroup>
291</Project> \ No newline at end of file
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.vcxproj.filters b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.vcxproj.filters
new file mode 100644
index 00000000..a05a6a8f
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNative.vcxproj.filters
@@ -0,0 +1,82 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup>
4 <Filter Include="Source Files">
5 <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
6 <Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
7 </Filter>
8 <Filter Include="Header Files">
9 <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
10 <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
11 </Filter>
12 <Filter Include="Resource Files">
13 <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
14 <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
15 </Filter>
16 <Filter Include="Generated Files">
17 <UniqueIdentifier>{2bfedd2b-d1cd-4377-bc56-e6696fb568b9}</UniqueIdentifier>
18 <SourceControlFiles>False</SourceControlFiles>
19 </Filter>
20 </ItemGroup>
21 <ItemGroup>
22 <ClInclude Include="framework.h">
23 <Filter>Header Files</Filter>
24 </ClInclude>
25 <ClInclude Include="targetver.h">
26 <Filter>Header Files</Filter>
27 </ClInclude>
28 <ClInclude Include="Resource.h">
29 <Filter>Header Files</Filter>
30 </ClInclude>
31 <ClInclude Include="dllmain.h">
32 <Filter>Header Files</Filter>
33 </ClInclude>
34 <ClInclude Include="TestComponentNative_i.h">
35 <Filter>Generated Files</Filter>
36 </ClInclude>
37 <ClInclude Include="pch.h">
38 <Filter>Header Files</Filter>
39 </ClInclude>
40 <ClInclude Include="Message.h">
41 <Filter>Header Files</Filter>
42 </ClInclude>
43 </ItemGroup>
44 <ItemGroup>
45 <ClCompile Include="TestComponentNative.cpp">
46 <Filter>Source Files</Filter>
47 </ClCompile>
48 <ClCompile Include="dllmain.cpp">
49 <Filter>Source Files</Filter>
50 </ClCompile>
51 <ClCompile Include="TestComponentNative_i.c">
52 <Filter>Generated Files</Filter>
53 </ClCompile>
54 <ClCompile Include="pch.cpp">
55 <Filter>Source Files</Filter>
56 </ClCompile>
57 <ClCompile Include="Message.cpp">
58 <Filter>Source Files</Filter>
59 </ClCompile>
60 </ItemGroup>
61 <ItemGroup>
62 <ResourceCompile Include="TestComponentNative.rc">
63 <Filter>Resource Files</Filter>
64 </ResourceCompile>
65 </ItemGroup>
66 <ItemGroup>
67 <None Include="TestComponentNative.rgs">
68 <Filter>Resource Files</Filter>
69 </None>
70 <None Include="TestComponentNative.def">
71 <Filter>Source Files</Filter>
72 </None>
73 <None Include="Message.rgs">
74 <Filter>Resource Files</Filter>
75 </None>
76 </ItemGroup>
77 <ItemGroup>
78 <Midl Include="TestComponentNative.idl">
79 <Filter>Source Files</Filter>
80 </Midl>
81 </ItemGroup>
82</Project> \ No newline at end of file
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNativeps.def b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNativeps.def
new file mode 100644
index 00000000..2a4265af
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/TestComponentNativeps.def
@@ -0,0 +1,8 @@
1
2LIBRARY
3
4EXPORTS
5 DllGetClassObject PRIVATE
6 DllCanUnloadNow PRIVATE
7 DllRegisterServer PRIVATE
8 DllUnregisterServer PRIVATE
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/dllmain.cpp b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/dllmain.cpp
new file mode 100644
index 00000000..1cd8a618
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/dllmain.cpp
@@ -0,0 +1,16 @@
1// dllmain.cpp : Implementation of DllMain.
2
3#include "pch.h"
4#include "framework.h"
5#include "resource.h"
6#include "TestComponentNative_i.h"
7#include "dllmain.h"
8
9CTestComponentNativeModule _AtlModule;
10
11// DLL Entry Point
12extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
13{
14 hInstance;
15 return _AtlModule.DllMain(dwReason, lpReserved);
16}
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/dllmain.h b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/dllmain.h
new file mode 100644
index 00000000..62d92dc0
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/dllmain.h
@@ -0,0 +1,10 @@
1// dllmain.h : Declaration of module class.
2
3class CTestComponentNativeModule : public ATL::CAtlDllModuleT< CTestComponentNativeModule >
4{
5public :
6 DECLARE_LIBID(LIBID_TestComponentNativeLib)
7 DECLARE_REGISTRY_APPID_RESOURCEID(IDR_TESTCOMPONENTNATIVE, "{8aaadab2-ac31-4618-ad2b-6b71d2a318eb}")
8};
9
10extern class CTestComponentNativeModule _AtlModule;
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/framework.h b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/framework.h
new file mode 100644
index 00000000..bdecff6a
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/framework.h
@@ -0,0 +1,21 @@
1#pragma once
2
3#ifndef STRICT
4#define STRICT
5#endif
6
7#include "targetver.h"
8
9#define _ATL_APARTMENT_THREADED
10
11#define _ATL_NO_AUTOMATIC_NAMESPACE
12
13#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
14
15
16#define ATL_NO_ASSERT_ON_DESTROY_NONEXISTENT_WINDOW
17
18#include "resource.h"
19#include <atlbase.h>
20#include <atlcom.h>
21#include <atlctl.h>
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/pch.cpp b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/pch.cpp
new file mode 100644
index 00000000..64b7eef6
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/pch.cpp
@@ -0,0 +1,5 @@
1// pch.cpp: source file corresponding to the pre-compiled header
2
3#include "pch.h"
4
5// When you are using pre-compiled headers, this source file is necessary for compilation to succeed.
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/pch.h b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/pch.h
new file mode 100644
index 00000000..885d5d62
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/pch.h
@@ -0,0 +1,13 @@
1// pch.h: This is a precompiled header file.
2// Files listed below are compiled only once, improving build performance for future builds.
3// This also affects IntelliSense performance, including code completion and many code browsing features.
4// However, files listed here are ALL re-compiled if any one of them is updated between builds.
5// Do not add files here that you will be updating frequently as this negates the performance advantage.
6
7#ifndef PCH_H
8#define PCH_H
9
10// add headers that you want to pre-compile here
11#include "framework.h"
12
13#endif //PCH_H
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/resource.h b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/resource.h
new file mode 100644
index 00000000..32e500b8
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/resource.h
@@ -0,0 +1,18 @@
1//{{NO_DEPENDENCIES}}
2// Microsoft Visual C++ generated include file.
3// Used by TestComponentNative.rc
4//
5#define IDS_PROJNAME 100
6#define IDR_TESTCOMPONENTNATIVE 101
7#define IDR_MESSAGE 106
8
9// Next default values for new objects
10//
11#ifdef APSTUDIO_INVOKED
12#ifndef APSTUDIO_READONLY_SYMBOLS
13#define _APS_NEXT_RESOURCE_VALUE 201
14#define _APS_NEXT_COMMAND_VALUE 32768
15#define _APS_NEXT_CONTROL_VALUE 201
16#define _APS_NEXT_SYMED_VALUE 107
17#endif
18#endif
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/targetver.h b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/targetver.h
new file mode 100644
index 00000000..87c0086d
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/targetver.h
@@ -0,0 +1,8 @@
1#pragma once
2
3// Including SDKDDKVer.h defines the highest available Windows platform.
4
5// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
6// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
7
8#include <SDKDDKVer.h>
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/InstallUninstallNET3WithoutPartitions.wixproj b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/InstallUninstallNET3WithoutPartitions.wixproj
index 19382c83..eb01e716 100644
--- a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/InstallUninstallNET3WithoutPartitions.wixproj
+++ b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/InstallUninstallNET3WithoutPartitions.wixproj
@@ -7,6 +7,7 @@
7 </PropertyGroup> 7 </PropertyGroup>
8 <ItemGroup> 8 <ItemGroup>
9 <Compile Include="..\..\Templates\Product.wxs" Link="Product.wxs" /> 9 <Compile Include="..\..\Templates\Product.wxs" Link="Product.wxs" />
10 <ProjectReference Include="..\Components\TestComponentNET3\TestComponentNET3.csproj" />
10 </ItemGroup> 11 </ItemGroup>
11 <ItemGroup> 12 <ItemGroup>
12 <PackageReference Include="WixToolset.Util.wixext" /> 13 <PackageReference Include="WixToolset.Util.wixext" />
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/product.wxs b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/product.wxs
index 129669cc..de56d279 100644
--- a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/product.wxs
+++ b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET3WithoutPartitions/product.wxs
@@ -12,8 +12,8 @@
12 12
13 <Fragment> 13 <Fragment>
14 <Component Id="Component1" Guid="09624A9A-4BBC-4126-BBF9-0713C5217DB1" Directory="INSTALLFOLDER"> 14 <Component Id="Component1" Guid="09624A9A-4BBC-4126-BBF9-0713C5217DB1" Directory="INSTALLFOLDER">
15 <File Id="AssemblyFileNET" Source="../Components/TestComponentNET3.dll" KeyPath="yes" /> 15 <File Id="AssemblyFileNET" Source="$(var.TestComponentNET3.TargetDir)TestComponentNET3.dll" KeyPath="yes" />
16 <File Id="TlbFileNET" Source="../Components/TestComponentNET3.tlb" /> 16 <File Id="TlbFileNET" Source="$(var.TestComponentNET3.TargetDir)TestComponentNET3.tlb" />
17 <complus:ComPlusApplication Id="APPLICATION" Name="ComPlus .NET 3 Application" Description="ComPlus Application" > 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]" > 18 <complus:ComPlusAssembly Id="ASSEMBLY_NET" Type=".net" DllPath="[#AssemblyFileNET]" TlbPath="[#TlbFileNET]" >
19 <complus:ComPlusComponent Id="MyComNET3" CLSID="17F82C39-5433-493A-A396-36072C645B80" /> 19 <complus:ComPlusComponent Id="MyComNET3" CLSID="17F82C39-5433-493A-A396-36072C645B80" />
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/InstallUninstallNET4WithoutPartitions.wixproj b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/InstallUninstallNET4WithoutPartitions.wixproj
index 19382c83..629bda1f 100644
--- a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/InstallUninstallNET4WithoutPartitions.wixproj
+++ b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/InstallUninstallNET4WithoutPartitions.wixproj
@@ -7,6 +7,7 @@
7 </PropertyGroup> 7 </PropertyGroup>
8 <ItemGroup> 8 <ItemGroup>
9 <Compile Include="..\..\Templates\Product.wxs" Link="Product.wxs" /> 9 <Compile Include="..\..\Templates\Product.wxs" Link="Product.wxs" />
10 <ProjectReference Include="..\Components\TestComponentNET4\TestComponentNET4.csproj" />
10 </ItemGroup> 11 </ItemGroup>
11 <ItemGroup> 12 <ItemGroup>
12 <PackageReference Include="WixToolset.Util.wixext" /> 13 <PackageReference Include="WixToolset.Util.wixext" />
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/product.wxs b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/product.wxs
index eabd7794..b0fafc70 100644
--- a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/product.wxs
+++ b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNET4WithoutPartitions/product.wxs
@@ -12,8 +12,8 @@
12 12
13 <Fragment> 13 <Fragment>
14 <Component Id="Component1" Guid="09624A9A-4BBC-4126-BBF9-0713C5217DB1" Directory="INSTALLFOLDER"> 14 <Component Id="Component1" Guid="09624A9A-4BBC-4126-BBF9-0713C5217DB1" Directory="INSTALLFOLDER">
15 <File Id="AssemblyFileNET" Source="../Components/TestComponentNET4.dll" KeyPath="yes" /> 15 <File Id="AssemblyFileNET" Source="$(var.TestComponentNET4.TargetDir)TestComponentNET4.dll" KeyPath="yes" />
16 <File Id="TlbFileNET" Source="../Components/TestComponentNET4.tlb" /> 16 <File Id="TlbFileNET" Source="$(var.TestComponentNET4.TargetDir)TestComponentNET4.tlb" />
17 <complus:ComPlusApplication Id="APPLICATION" Name="ComPlus .NET 4 Application" Description="ComPlus Application" > 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]" > 18 <complus:ComPlusAssembly Id="ASSEMBLY_NET" Type=".net" DllPath="[#AssemblyFileNET]" TlbPath="[#TlbFileNET]" >
19 <complus:ComPlusComponent Id="MyComNET4" CLSID="146AB3A2-4472-4DB9-94D5-311536E799BD" /> 19 <complus:ComPlusComponent Id="MyComNET4" CLSID="146AB3A2-4472-4DB9-94D5-311536E799BD" />
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/InstallUninstallNativeWithoutPartitions.wixproj b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/InstallUninstallNativeWithoutPartitions.wixproj
index 19382c83..35bfd38d 100644
--- a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/InstallUninstallNativeWithoutPartitions.wixproj
+++ b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/InstallUninstallNativeWithoutPartitions.wixproj
@@ -7,6 +7,7 @@
7 </PropertyGroup> 7 </PropertyGroup>
8 <ItemGroup> 8 <ItemGroup>
9 <Compile Include="..\..\Templates\Product.wxs" Link="Product.wxs" /> 9 <Compile Include="..\..\Templates\Product.wxs" Link="Product.wxs" />
10 <ProjectReference Include="..\Components\TestComponentNative\TestComponentNative.vcxproj" />
10 </ItemGroup> 11 </ItemGroup>
11 <ItemGroup> 12 <ItemGroup>
12 <PackageReference Include="WixToolset.Util.wixext" /> 13 <PackageReference Include="WixToolset.Util.wixext" />
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/product.wxs b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/product.wxs
index ee3c4d8f..1a20f55b 100644
--- a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/product.wxs
+++ b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallNativeWithoutPartitions/product.wxs
@@ -12,8 +12,7 @@
12 12
13 <Fragment> 13 <Fragment>
14 <Component Id="Component1" Guid="09624A9A-4BBC-4126-BBF9-0713C5217DB1" Directory="INSTALLFOLDER"> 14 <Component Id="Component1" Guid="09624A9A-4BBC-4126-BBF9-0713C5217DB1" Directory="INSTALLFOLDER">
15 <File Id="AssemblyFileNative" Source="../Components/TestComponentNative.dll" /> 15 <File Id="AssemblyFileNative" Source="$(var.TestComponentNative.TargetDir)TestComponentNative.dll" />
16
17 <complus:ComPlusApplication Id="APPLICATION" Name="ComPlus Native Application" Description="ComPlus Native Application" > 16 <complus:ComPlusApplication Id="APPLICATION" Name="ComPlus Native Application" Description="ComPlus Native Application" >
18 <complus:ComPlusAssembly Id="ASSEMBLY_Native" Type="native" DllPath="[#AssemblyFileNative]" > 17 <complus:ComPlusAssembly Id="ASSEMBLY_Native" Type="native" DllPath="[#AssemblyFileNative]" >
19 <complus:ComPlusComponent Id="MyComNative" CLSID="8b4c3a90-762c-465b-abc5-81cb3cc5e464" /> 18 <complus:ComPlusComponent Id="MyComNative" CLSID="8b4c3a90-762c-465b-abc5-81cb3cc5e464" />
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/InstallUninstallWithPartitions.wixproj b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/InstallUninstallWithPartitions.wixproj
index 19382c83..35bfd38d 100644
--- a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/InstallUninstallWithPartitions.wixproj
+++ b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/InstallUninstallWithPartitions.wixproj
@@ -7,6 +7,7 @@
7 </PropertyGroup> 7 </PropertyGroup>
8 <ItemGroup> 8 <ItemGroup>
9 <Compile Include="..\..\Templates\Product.wxs" Link="Product.wxs" /> 9 <Compile Include="..\..\Templates\Product.wxs" Link="Product.wxs" />
10 <ProjectReference Include="..\Components\TestComponentNative\TestComponentNative.vcxproj" />
10 </ItemGroup> 11 </ItemGroup>
11 <ItemGroup> 12 <ItemGroup>
12 <PackageReference Include="WixToolset.Util.wixext" /> 13 <PackageReference Include="WixToolset.Util.wixext" />
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/product.wxs b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/product.wxs
index 92dc892b..b1c96bf0 100644
--- a/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/product.wxs
+++ b/src/test/msi/TestData/ComPlusExtensionTests/InstallUninstallWithPartitions/product.wxs
@@ -14,7 +14,7 @@
14 <util:User Id="TEST_USER" Name="[LogonUser]" /> 14 <util:User Id="TEST_USER" Name="[LogonUser]" />
15 15
16 <Component Id="Component1" Guid="09624A9A-4BBC-4126-BBF9-0713C5217DB1" Directory="INSTALLFOLDER"> 16 <Component Id="Component1" Guid="09624A9A-4BBC-4126-BBF9-0713C5217DB1" Directory="INSTALLFOLDER">
17 <File Id="AssemblyFileNative" Source="../Components/TestComponentNative.dll" /> 17 <File Id="AssemblyFileNative" Source="$(var.TestComponentNative.TargetDir)TestComponentNative.dll" />
18 18
19 <!-- Partition testing only works on Server OS --> 19 <!-- Partition testing only works on Server OS -->
20 <complus:ComPlusPartition Id="PARTITION" Name="Complus Partition1" Description="ComPlus Partition" > 20 <complus:ComPlusPartition Id="PARTITION" Name="Complus Partition1" Description="ComPlus Partition" >