aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2022-03-20 16:14:20 -0700
committerRob Mensching <rob@firegiant.com>2022-03-20 16:54:41 -0700
commitcd90117f7ad5685d5af7eaecc3f2347f9b8ab1cb (patch)
tree9d75e41d65e16d8fd090c1ee1a8851f776e78ab3
parentba4bb7b2080d74918d6d856fba6f86caa410149b (diff)
downloadwix-cd90117f7ad5685d5af7eaecc3f2347f9b8ab1cb.tar.gz
wix-cd90117f7ad5685d5af7eaecc3f2347f9b8ab1cb.tar.bz2
wix-cd90117f7ad5685d5af7eaecc3f2347f9b8ab1cb.zip
Infrastructure and some starter "dotnet new" templates
Introduces some basic WixToolset templates for "dotnet new" with the infrastructure for more to be added in the future. Closes 6207
-rw-r--r--src/samples/WixToolset.Templates/WixToolset.Templates.csproj20
-rw-r--r--src/samples/WixToolset.Templates/templates/FragmentItem/.template.config/template.json14
-rw-r--r--src/samples/WixToolset.Templates/templates/FragmentItem/Fragment.wxs4
-rw-r--r--src/samples/WixToolset.Templates/templates/LibraryProject/$safeprojectname$.wixproj5
-rw-r--r--src/samples/WixToolset.Templates/templates/LibraryProject/.template.config/template.json14
-rw-r--r--src/samples/WixToolset.Templates/templates/LibraryProject/Fragment.wxs4
-rw-r--r--src/samples/WixToolset.Templates/templates/ModuleProject/$safeprojectname$.wixproj5
-rw-r--r--src/samples/WixToolset.Templates/templates/ModuleProject/.template.config/template.json26
-rw-r--r--src/samples/WixToolset.Templates/templates/ModuleProject/Module.wxs8
-rw-r--r--src/samples/WixToolset.Templates/templates/PackageProject/$safeprojectname$.wixproj2
-rw-r--r--src/samples/WixToolset.Templates/templates/PackageProject/.template.config/template.json26
-rw-r--r--src/samples/WixToolset.Templates/templates/PackageProject/Package.wxs24
-rw-r--r--src/samples/samples.sln10
13 files changed, 162 insertions, 0 deletions
diff --git a/src/samples/WixToolset.Templates/WixToolset.Templates.csproj b/src/samples/WixToolset.Templates/WixToolset.Templates.csproj
new file mode 100644
index 00000000..00b6c6d3
--- /dev/null
+++ b/src/samples/WixToolset.Templates/WixToolset.Templates.csproj
@@ -0,0 +1,20 @@
1<Project Sdk="Microsoft.NET.Sdk">
2 <PropertyGroup>
3 <PackageType>Template</PackageType>
4 <Title>WixToolset Templates</Title>
5 <Description>Project and item template for the WiX Toolset.</Description>
6
7 <TargetFramework>netstandard2.0</TargetFramework>
8 <IncludeBuildOutput>false</IncludeBuildOutput>
9 <NoWarn>$(NoWarn);NU5128</NoWarn>
10
11 <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
12 <IncludeContentInPack>true</IncludeContentInPack>
13 <ContentTargetFolders>content</ContentTargetFolders>
14 </PropertyGroup>
15
16 <ItemGroup>
17 <Compile Remove="**" />
18 <Content Include="templates\**" />
19 </ItemGroup>
20</Project>
diff --git a/src/samples/WixToolset.Templates/templates/FragmentItem/.template.config/template.json b/src/samples/WixToolset.Templates/templates/FragmentItem/.template.config/template.json
new file mode 100644
index 00000000..2bd67b11
--- /dev/null
+++ b/src/samples/WixToolset.Templates/templates/FragmentItem/.template.config/template.json
@@ -0,0 +1,14 @@
1{
2 "$schema": "http://json.schemastore.org/template",
3 "identity": "WixToolset.Templates.FragmentItem",
4 "name": "WiX Toolset Fragment",
5 "shortName": "fragment",
6 "author": "WiX Toolset Team",
7 "classifications": ["WixToolset", "Code"],
8 "tags": {
9 "language": "WiX",
10 "type": "item"
11 },
12 "sourceName": "$safeprojectname$",
13 "defaultName": "Fragment"
14}
diff --git a/src/samples/WixToolset.Templates/templates/FragmentItem/Fragment.wxs b/src/samples/WixToolset.Templates/templates/FragmentItem/Fragment.wxs
new file mode 100644
index 00000000..12e1bfc3
--- /dev/null
+++ b/src/samples/WixToolset.Templates/templates/FragmentItem/Fragment.wxs
@@ -0,0 +1,4 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Fragment>
3 </Fragment>
4</Wix>
diff --git a/src/samples/WixToolset.Templates/templates/LibraryProject/$safeprojectname$.wixproj b/src/samples/WixToolset.Templates/templates/LibraryProject/$safeprojectname$.wixproj
new file mode 100644
index 00000000..c3536151
--- /dev/null
+++ b/src/samples/WixToolset.Templates/templates/LibraryProject/$safeprojectname$.wixproj
@@ -0,0 +1,5 @@
1<Project Sdk="WixToolset.Sdk/4.0.0">
2 <PropertyGroup>
3 <OutputType>Library</OutputType>
4 </PropertyGroup>
5</Project>
diff --git a/src/samples/WixToolset.Templates/templates/LibraryProject/.template.config/template.json b/src/samples/WixToolset.Templates/templates/LibraryProject/.template.config/template.json
new file mode 100644
index 00000000..ddfa82e9
--- /dev/null
+++ b/src/samples/WixToolset.Templates/templates/LibraryProject/.template.config/template.json
@@ -0,0 +1,14 @@
1{
2 "$schema": "http://json.schemastore.org/template",
3 "identity": "WixToolset.Templates.LibraryProject",
4 "name": "WiX Toolset Library",
5 "shortName": "wixlib",
6 "author": "WiX Toolset Team",
7 "classifications": ["WixToolset", "Library"],
8 "tags": {
9 "language": "WiX",
10 "type": "project"
11 },
12 "sourceName": "$safeprojectname$",
13 "defaultName": "Library"
14}
diff --git a/src/samples/WixToolset.Templates/templates/LibraryProject/Fragment.wxs b/src/samples/WixToolset.Templates/templates/LibraryProject/Fragment.wxs
new file mode 100644
index 00000000..12e1bfc3
--- /dev/null
+++ b/src/samples/WixToolset.Templates/templates/LibraryProject/Fragment.wxs
@@ -0,0 +1,4 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Fragment>
3 </Fragment>
4</Wix>
diff --git a/src/samples/WixToolset.Templates/templates/ModuleProject/$safeprojectname$.wixproj b/src/samples/WixToolset.Templates/templates/ModuleProject/$safeprojectname$.wixproj
new file mode 100644
index 00000000..cc813aab
--- /dev/null
+++ b/src/samples/WixToolset.Templates/templates/ModuleProject/$safeprojectname$.wixproj
@@ -0,0 +1,5 @@
1<Project Sdk="WixToolset.Sdk/4.0.0">
2 <PropertyGroup>
3 <OutputType>Module</OutputType>
4 </PropertyGroup>
5</Project>
diff --git a/src/samples/WixToolset.Templates/templates/ModuleProject/.template.config/template.json b/src/samples/WixToolset.Templates/templates/ModuleProject/.template.config/template.json
new file mode 100644
index 00000000..2be72f83
--- /dev/null
+++ b/src/samples/WixToolset.Templates/templates/ModuleProject/.template.config/template.json
@@ -0,0 +1,26 @@
1{
2 "$schema": "http://json.schemastore.org/template",
3 "identity": "WixToolset.Templates.ModuleProject",
4 "name": "WiX Toolset Module",
5 "shortName": "msm",
6 "author": "WiX Toolset Team",
7 "classifications": ["WixToolset", "Module"],
8 "tags": {
9 "language": "WiX",
10 "type": "project"
11 },
12 "symbols": {
13 "company": {
14 "type": "parameter",
15 "defaultValue": "Your Company Name",
16 "replaces": "$company$"
17 },
18 "version": {
19 "type": "parameter",
20 "defaultValue": "0.0.1",
21 "replaces": "$version$"
22 }
23 },
24 "sourceName": "$safeprojectname$",
25 "defaultName": "Module"
26}
diff --git a/src/samples/WixToolset.Templates/templates/ModuleProject/Module.wxs b/src/samples/WixToolset.Templates/templates/ModuleProject/Module.wxs
new file mode 100644
index 00000000..592c844d
--- /dev/null
+++ b/src/samples/WixToolset.Templates/templates/ModuleProject/Module.wxs
@@ -0,0 +1,8 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Module Id="$safeprojectname$" Guid="PUT-GUID-HERE" Manufacturer="$company$" Language="0" Version="$version$">
3 <Component Guid='PUT-GUID-HERE' Directory='TARGETDIR'>
4 <!-- TODO: Install something more useful than this source code file itself -->
5 <File Source="Module.wxs" />
6 </Component>
7 </Module>
8</Wix>
diff --git a/src/samples/WixToolset.Templates/templates/PackageProject/$safeprojectname$.wixproj b/src/samples/WixToolset.Templates/templates/PackageProject/$safeprojectname$.wixproj
new file mode 100644
index 00000000..17640703
--- /dev/null
+++ b/src/samples/WixToolset.Templates/templates/PackageProject/$safeprojectname$.wixproj
@@ -0,0 +1,2 @@
1<Project Sdk="WixToolset.Sdk/4.0.0">
2</Project>
diff --git a/src/samples/WixToolset.Templates/templates/PackageProject/.template.config/template.json b/src/samples/WixToolset.Templates/templates/PackageProject/.template.config/template.json
new file mode 100644
index 00000000..d12f3109
--- /dev/null
+++ b/src/samples/WixToolset.Templates/templates/PackageProject/.template.config/template.json
@@ -0,0 +1,26 @@
1{
2 "$schema": "http://json.schemastore.org/template",
3 "identity": "WixToolset.Templates.PackageProject",
4 "name": "WiX Toolset Package",
5 "shortName": "msi",
6 "author": "WiX Toolset Team",
7 "classifications": ["WixToolset", "Package"],
8 "tags": {
9 "language": "WiX",
10 "type": "project"
11 },
12 "symbols": {
13 "company": {
14 "type": "parameter",
15 "defaultValue": "Your Company Name",
16 "replaces": "$company$"
17 },
18 "version": {
19 "type": "parameter",
20 "defaultValue": "0.0.1",
21 "replaces": "$version$"
22 }
23 },
24 "sourceName": "$safeprojectname$",
25 "defaultName": "Package"
26}
diff --git a/src/samples/WixToolset.Templates/templates/PackageProject/Package.wxs b/src/samples/WixToolset.Templates/templates/PackageProject/Package.wxs
new file mode 100644
index 00000000..ac69e549
--- /dev/null
+++ b/src/samples/WixToolset.Templates/templates/PackageProject/Package.wxs
@@ -0,0 +1,24 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="$safeprojectname$" Manufacturer="$company$" Version="$version$" UpgradeCode="PUT-GUID-HERE">
3 <MajorUpgrade DowngradeError="A newer version of [ProductName] is already installed" />
4
5 <Feature Id="Main">
6 <ComponentGroupRef Id="Components" />
7 </Feature>
8 </Package>
9
10 <Fragment>
11 <ComponentGroup Id="Components" Directory="INSTALLFOLDER">
12 <Component>
13 <!-- TODO: Install something more useful than this source code file itself -->
14 <File Source="Package.wxs" />
15 </Component>
16 </ComponentGroup>
17 </Fragment>
18
19 <Fragment>
20 <StandardDirectory Id="ProgramFiles6432Folder">
21 <Directory Id="INSTALLFOLDER" Name="!(Property.Manufacturer) !(Property.ProductName)" />
22 </StandardDirectory>
23 </Fragment>
24</Wix>
diff --git a/src/samples/samples.sln b/src/samples/samples.sln
index 7e2d0762..fab825cf 100644
--- a/src/samples/samples.sln
+++ b/src/samples/samples.sln
@@ -5,6 +5,8 @@ VisualStudioVersion = 16.0.30711.63
5MinimumVisualStudioVersion = 15.0.26124.0 5MinimumVisualStudioVersion = 15.0.26124.0
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "thmviewer", "thmviewer\thmviewer.vcxproj", "{95228C13-97F5-484A-B4A2-ECF4618B0881}" 6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "thmviewer", "thmviewer\thmviewer.vcxproj", "{95228C13-97F5-484A-B4A2-ECF4618B0881}"
7EndProject 7EndProject
8Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixToolset.Templates", "WixToolset.Templates\WixToolset.Templates.csproj", "{D1385232-CA10-4092-BAB5-4E5499FE144C}"
9EndProject
8Global 10Global
9 GlobalSection(SolutionConfigurationPlatforms) = preSolution 11 GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 Debug|Any CPU = Debug|Any CPU 12 Debug|Any CPU = Debug|Any CPU
@@ -20,6 +22,14 @@ Global
20 {95228C13-97F5-484A-B4A2-ECF4618B0881}.Release|Any CPU.ActiveCfg = Release|Win32 22 {95228C13-97F5-484A-B4A2-ECF4618B0881}.Release|Any CPU.ActiveCfg = Release|Win32
21 {95228C13-97F5-484A-B4A2-ECF4618B0881}.Release|x86.ActiveCfg = Release|Win32 23 {95228C13-97F5-484A-B4A2-ECF4618B0881}.Release|x86.ActiveCfg = Release|Win32
22 {95228C13-97F5-484A-B4A2-ECF4618B0881}.Release|x86.Build.0 = Release|Win32 24 {95228C13-97F5-484A-B4A2-ECF4618B0881}.Release|x86.Build.0 = Release|Win32
25 {D1385232-CA10-4092-BAB5-4E5499FE144C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
26 {D1385232-CA10-4092-BAB5-4E5499FE144C}.Debug|Any CPU.Build.0 = Debug|Any CPU
27 {D1385232-CA10-4092-BAB5-4E5499FE144C}.Debug|x86.ActiveCfg = Debug|Any CPU
28 {D1385232-CA10-4092-BAB5-4E5499FE144C}.Debug|x86.Build.0 = Debug|Any CPU
29 {D1385232-CA10-4092-BAB5-4E5499FE144C}.Release|Any CPU.ActiveCfg = Release|Any CPU
30 {D1385232-CA10-4092-BAB5-4E5499FE144C}.Release|Any CPU.Build.0 = Release|Any CPU
31 {D1385232-CA10-4092-BAB5-4E5499FE144C}.Release|x86.ActiveCfg = Release|Any CPU
32 {D1385232-CA10-4092-BAB5-4E5499FE144C}.Release|x86.Build.0 = Release|Any CPU
23 EndGlobalSection 33 EndGlobalSection
24 GlobalSection(SolutionProperties) = preSolution 34 GlobalSection(SolutionProperties) = preSolution
25 HideSolutionNode = FALSE 35 HideSolutionNode = FALSE