62 lines
2.8 KiB
XML
62 lines
2.8 KiB
XML
<!--
|
|
The installer project. It is not part of CursorLang.sln and is not meant to be
|
|
built on its own: build-installer.ps1 publishes the application first and then
|
|
builds this, passing in the folder it published to.
|
|
|
|
WiX 5 rather than the current 7: from version 6 onwards the toolset asks every
|
|
build to accept the Open Source Maintenance Fee licence, which is a decision for
|
|
a person to make and not for a build script. Version 5 carries no such
|
|
requirement. Moving up later means changing the version here and adding
|
|
-p:AcceptEula=true to the build.
|
|
-->
|
|
<Project Sdk="WixToolset.Sdk/5.0.2">
|
|
|
|
<PropertyGroup>
|
|
<OutputName>CursorLang</OutputName>
|
|
<OutputType>Package</OutputType>
|
|
|
|
<!--
|
|
The ICE checks run inside the Windows Installer service, and a build
|
|
agent has no access to it: every single check comes back as WIX0217,
|
|
"The Windows Installer Service could not be accessed", and the build
|
|
fails on close to a hundred of them. Since the release is built by the
|
|
agent, validation cannot be part of it.
|
|
|
|
It stays switchable rather than deleted: -p:SuppressValidation=false
|
|
turns it back on where the service does answer, which is any ordinary
|
|
desktop machine.
|
|
-->
|
|
<SuppressValidation Condition="'$(SuppressValidation)' == ''">true</SuppressValidation>
|
|
|
|
<!--
|
|
What validation says when it does run. MSI still assumes an
|
|
installation for the whole machine, and installing into the user's own
|
|
profile trips three of its rules: a component whose key path is a file
|
|
(ICE38), a folder it wants listed for removal (ICE64), and a warning
|
|
that the files will not follow other users of the machine (ICE91). All
|
|
three describe exactly what was intended here.
|
|
-->
|
|
<SuppressIces>ICE38;ICE64;ICE91</SuppressIces>
|
|
|
|
<!--
|
|
What the script passes in, gathered into the constants the source file
|
|
reads. They are gathered here rather than handed over as one property
|
|
from the command line: a semicolon in a property value is where MSBuild
|
|
stops reading it, and the separator between constants is a semicolon.
|
|
-->
|
|
<DefineConstants>
|
|
Version=$(CursorLangVersion);
|
|
PayloadDir=$(PayloadDir);
|
|
IconFile=$(IconFile);
|
|
LicenseFile=$(LicenseFile)
|
|
</DefineConstants>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- CloseApplication and the launch at the end of the wizard come from here -->
|
|
<PackageReference Include="WixToolset.Util.wixext" Version="5.0.2" />
|
|
<PackageReference Include="WixToolset.UI.wixext" Version="5.0.2" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|