Add initial WiX installer for Windows

This commit is contained in:
Cameron Gutman
2018-07-25 02:53:51 -07:00
parent 03dc563b32
commit 34494e4c89
10 changed files with 410 additions and 8 deletions
+37
View File
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" InitialTargets="EnsureWixToolsetInstalled" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProductVersion>3.10</ProductVersion>
<ProjectGuid>8468ef94-3bb8-47a5-af15-0e314afe664d</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>MoonlightMsi</OutputName>
<OutputType>Package</OutputType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DefineConstants>Debug</DefineConstants>
</PropertyGroup>
<PropertyGroup>
<OutputPath>$(BUILD_FOLDER)\</OutputPath>
<IntermediateOutputPath>$(BUILD_FOLDER)\</IntermediateOutputPath>
</PropertyGroup>
<PropertyGroup>
<DefineConstants>SourceDir=$(DEPLOY_FOLDER)</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Compile Include="Product.wxs" />
<Compile Include="$(BUILD_FOLDER)\Dependencies.wxs" />
</ItemGroup>
<Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' " />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets') " />
<Target Name="EnsureWixToolsetInstalled" Condition=" '$(WixTargetsImported)' != 'true' ">
<Error Text="The WiX Toolset v3.11 (or newer) build tools must be installed to build this project. To download the WiX Toolset, see http://wixtoolset.org/releases/" />
</Target>
<!--
To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Wix.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
+47
View File
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*"
Name="Moonlight Game Streaming"
Language="1033"
Version="!(bind.fileVersion.MoonlightExe)"
Manufacturer="Moonlight Game Streaming Team"
UpgradeCode="5c09f94e-f809-4c6a-9b7b-597c99f041fe">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate CompressionLevel="high" />
<Feature Id="ProductFeature" Title="Moonlight" Level="1">
<ComponentGroupRef Id="Moonlight" />
<ComponentGroupRef Id="MoonlightDependencies" />
</Feature>
</Product>
<?if $(var.Platform) = x64 ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?else ?>
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
<?endif ?>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.PlatformProgramFilesFolder)">
<Directory Id="INSTALLFOLDER" Name="Moonlight" />
</Directory>
</Directory>
</Fragment>
<!-- TODO: Delete registry values on full uninstall -->
<!-- TODO: Create shortcut to Moonlight -->
<!-- TODO: Exempt ourselves from Windows Firewall -->
<Fragment>
<ComponentGroup Id="Moonlight" Directory="INSTALLFOLDER">
<Component Id="CMP_MoonlightExe" Guid="*">
<File Id="MoonlightExe" KeyPath="yes" Checksum="yes" Source="$(var.SourceDir)\Moonlight.exe" />
</Component>
</ComponentGroup>
</Fragment>
</Wix>