mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-26 11:07:54 -06:00
A fresh install opens on a destination page (Program Files by default; Change... browses, with Up and New folder), then a Ready page that shows the folder before anything is written. An upgrade goes straight to the Ready page with the installed copy's folder and can't move it; opening the MSI again offers Repair or Remove. Cancel, finish, files-in-use and error dialogs are authored too. Silent installs (/qn) show none of it. The dialogs (installer-ui.wxs) are original, built from Windows Installer's own controls and events, not the WixUI library, whose MS-RL licence is not on the allowed list. package.ps1 builds both .wxs files.
74 lines
3.8 KiB
XML
74 lines
3.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
EffectCraft MSI (WiX Toolset v5: `dotnet tool install -g wix`). Built by package.ps1:
|
|
|
|
wix build effectcraft.wxs installer-ui.wxs -arch x64 -d Version=1.2.3 -d BinDir=... -d IconPath=... -o out.msi
|
|
|
|
Per-machine install into Program Files (or a folder the user picks), a Start Menu shortcut, `.pcraft` owned by EffectCraft,
|
|
and EffectCraft offered under "Open with" for PSD/PSB and the image formats it reads (without
|
|
taking over the user's default app for them).
|
|
-->
|
|
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
|
|
<Package
|
|
Name="EffectCraft"
|
|
Manufacturer="Learning Machines LLC"
|
|
Version="$(var.Version)"
|
|
UpgradeCode="AACA8593-C6ED-40A8-BA6C-CB325D8529F9"
|
|
Scope="perMachine"
|
|
Compressed="yes"
|
|
Language="1033">
|
|
<SummaryInformation Description="EffectCraft motion graphics and visual effects" Manufacturer="Learning Machines LLC" />
|
|
<!-- Same-version upgrades let successive pre-releases of one X.Y.Z replace each other
|
|
(MSI versions are numeric, so 1.2.3-rc.1 and 1.2.3-rc.2 are both 1.2.3). -->
|
|
<MajorUpgrade AllowSameVersionUpgrades="yes"
|
|
DowngradeErrorMessage="A newer version of EffectCraft is already installed." />
|
|
<MediaTemplate EmbedCab="yes" CompressionLevel="high" />
|
|
<!-- The setup wizard (installer-ui.wxs): pick the folder on a fresh install. -->
|
|
<UIRef Id="EffectcraftUI" />
|
|
|
|
<Icon Id="EffectcraftIcon.ico" SourceFile="$(var.IconPath)" />
|
|
<Property Id="ARPPRODUCTICON" Value="EffectcraftIcon.ico" />
|
|
<Property Id="ARPURLINFOABOUT" Value="https://getartcraft.com/apps/effectcraft" />
|
|
<Property Id="ARPURLUPDATEINFO" Value="https://getartcraft.com/apps/effectcraft" />
|
|
<Property Id="ARPHELPLINK" Value="https://discord.gg/artcraft" />
|
|
|
|
<!-- An upgrade, repair or silent reinstall goes where the installed copy already is: the App Paths
|
|
"Path" value written below. A folder passed on the command line (INSTALLFOLDER=...) wins. -->
|
|
<Property Id="INSTALLFOLDER" Secure="yes" />
|
|
<Property Id="PREVIOUSINSTALLFOLDER" Secure="yes">
|
|
<RegistrySearch Id="PreviousInstallFolder" Root="HKLM" Type="directory"
|
|
Key="Software\Microsoft\Windows\CurrentVersion\App Paths\effectcraft.exe" Name="Path" />
|
|
</Property>
|
|
<SetProperty Id="INSTALLFOLDER" Value="[PREVIOUSINSTALLFOLDER]" After="AppSearch" Sequence="both"
|
|
Condition="PREVIOUSINSTALLFOLDER AND NOT INSTALLFOLDER" />
|
|
|
|
<StandardDirectory Id="ProgramFiles6432Folder">
|
|
<Directory Id="INSTALLFOLDER" Name="EffectCraft" />
|
|
</StandardDirectory>
|
|
<StandardDirectory Id="ProgramMenuFolder" />
|
|
|
|
<Feature Id="Main" Title="EffectCraft" Level="1">
|
|
<ComponentGroupRef Id="EffectcraftFiles" />
|
|
</Feature>
|
|
</Package>
|
|
|
|
<Fragment>
|
|
<ComponentGroup Id="EffectcraftFiles" Directory="INSTALLFOLDER">
|
|
<Component Id="EffectcraftApp" Guid="BA719860-95FE-4154-B265-47006B8E9083">
|
|
<File Id="EffectcraftExe" Source="$(var.BinDir)\effectcraft.exe" KeyPath="yes">
|
|
<Shortcut Id="StartMenuShortcut" Directory="ProgramMenuFolder" Name="EffectCraft"
|
|
Description="EffectCraft motion graphics and visual effects" WorkingDirectory="INSTALLFOLDER" Advertise="yes"
|
|
Icon="EffectcraftIcon.ico" IconIndex="0" />
|
|
</File>
|
|
|
|
<RegistryValue Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\App Paths\effectcraft.exe" Value="[#EffectcraftExe]" Type="string" />
|
|
<RegistryValue Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\App Paths\effectcraft.exe" Name="Path" Value="[INSTALLFOLDER]" Type="string" />
|
|
</Component>
|
|
|
|
<Component Id="EffectcraftCli">
|
|
<File Id="EffectcraftCliExe" Source="$(var.BinDir)\effectcraft-cli.exe" KeyPath="yes" />
|
|
</Component>
|
|
</ComponentGroup>
|
|
</Fragment>
|
|
</Wix>
|