mirror of
https://github.com/microsoft/PowerToys.git
synced 2024-12-12 10:19:20 +08:00
119 lines
6.7 KiB
XML
119 lines
6.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<?define UpgradeCode="6341382d-c0a9-4238-9188-be9607e3fab2"?>
|
|
<?define RepoDir="$(var.ProjectDir)..\..\" ?>
|
|
<?if $(var.Platform) = x64?>
|
|
<?define BinDir="$(var.RepoDir)$(var.Platform)\$(var.Configuration)\" ?>
|
|
<?define PowerToysPlatform="x64"?>
|
|
|
|
<?define Dotnet6DownloadUrl="https://download.visualstudio.microsoft.com/download/pr/fe8415d4-8a35-4af9-80a5-51306a96282d/05f9b2a1b4884238e69468e49b3a5453/windowsdesktop-runtime-6.0.9-win-x64.exe"?>
|
|
<?define Dotnet6PayloadSize="57328120"?>
|
|
<?define Dotnet6PayloadHash="71DD37FB8A5DF79F5EEE8983D472683F5A01F73C"?>
|
|
|
|
<?define PlatformProgramFiles="[ProgramFiles64Folder]"?>
|
|
<?else?>
|
|
<!-- stable WIX 3 doesn't support ARM64, so we build installers as x86 -->
|
|
<?define BinDir="$(var.RepoDir)ARM64\$(var.Configuration)\" ?>
|
|
<?define PowerToysPlatform="ARM64"?>
|
|
|
|
<?define Dotnet6DownloadUrl="https://download.visualstudio.microsoft.com/download/pr/e207429e-4cdc-43ed-868e-aeecbd1ae9d0/d32e40bb2385e7407ea235dc5541ef29/windowsdesktop-runtime-6.0.9-win-arm64.exe"?>
|
|
<?define Dotnet6PayloadSize="51262992"?>
|
|
<?define Dotnet6PayloadHash="57E51507E21B3665EF2AA8FCA77A6DDED1374837"?>
|
|
|
|
<!--TODO: define to ARM64 Program files once it's available-->
|
|
<?define PlatformProgramFiles="[ProgramFiles6432Folder]"?>
|
|
|
|
<?endif?>
|
|
|
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
|
|
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
|
|
<Bundle Name="PowerToys (Preview) $(var.PowerToysPlatform)"
|
|
Version="$(var.Version)"
|
|
Manufacturer="Microsoft Corporation"
|
|
IconSourceFile="$(var.BinDir)svgs\icon.ico"
|
|
UpgradeCode="$(var.UpgradeCode)">
|
|
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
|
|
<bal:WixStandardBootstrapperApplication
|
|
LicenseFile="$(var.RepoDir)\installer\License.rtf"
|
|
LogoFile="$(var.RepoDir)\installer\PowerToysSetup\Images\logo44.png"
|
|
SuppressOptionsUI="no"
|
|
SuppressRepair="yes" />
|
|
</BootstrapperApplicationRef>
|
|
|
|
<util:FileSearch Variable="HasDotnet609" Path="$(var.PlatformProgramFiles)dotnet\shared\Microsoft.WindowsDesktop.App\6.0.9\System.Xaml.dll" Result="exists" />
|
|
<util:RegistrySearch Variable="HasWebView2PerMachine" Root="HKLM" Key="SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" Result="exists" />
|
|
<util:RegistrySearch Variable="HasWebView2PerUser" Root="HKCU" Key="Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" Result="exists" />
|
|
|
|
<Variable Name="InstallFolder" Type="string" Value="$(var.PlatformProgramFiles)PowerToys" bal:Overridable="yes"/>
|
|
|
|
<Variable Name="MsiLogFolder" Type="string" Value="[LocalAppDataFolder]\Microsoft\PowerToys\" />
|
|
<Log Disable="no" Prefix='powertoys-bootstrapper-msi-$(var.Version)' Extension=".log" />
|
|
|
|
<!-- Only install/upgrade if the version is greater or equal than the currently installed version of PowerToys, to handle the case in which PowerToys was installed from old MSI (before WiX bootstrapper was used) -->
|
|
<!-- If the previous installation is a bundle installation, just let WiX run its logic. -->
|
|
<Variable Name="DetectedPowerToysVersion" Type="version" Value="0.0.0.0"/>
|
|
<Variable Name="TargetPowerToysVersion" Type="version" Value="$(var.Version)"/>
|
|
<util:ProductSearch Id="SearchInstalledPowerToysVersion" Variable="DetectedPowerToysVersion" UpgradeCode="42B84BF7-5FBF-473B-9C8B-049DC16F7708" Result="version" />
|
|
<bal:Condition Message="A later version of PowerToys is already installed." >TargetPowerToysVersion >= DetectedPowerToysVersion OR WixBundleInstalled</bal:Condition>
|
|
|
|
<Variable Name="DetectedWindowsBuildNumber" Type="version" Value="0"/>
|
|
<util:RegistrySearch Id="SearchWindowsBuildNumber" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion" Value="CurrentBuildNumber" Result="value" Format="raw" Variable="DetectedWindowsBuildNumber" />
|
|
<bal:Condition Message="This application is only supported on Windows 10 version v2004 (build 19041) or higher.">DetectedWindowsBuildNumber >= 19041 OR WixBundleInstalled</bal:Condition>
|
|
|
|
<Chain>
|
|
<ExePackage
|
|
DisplayName="Closing PowerToys application"
|
|
Name="terminate_powertoys.cmd"
|
|
Cache="no"
|
|
Compressed="yes"
|
|
Id="TerminatePowerToys"
|
|
SourceFile="terminate_powertoys.cmd"
|
|
Permanent="yes"
|
|
PerMachine="yes"
|
|
Vital="no">
|
|
</ExePackage>
|
|
<ExePackage
|
|
DisplayName="Downloading and installing .NET 6 Desktop Runtime"
|
|
Name="windowsdesktop-runtime-6.0.9-win-$(var.PowerToysPlatform).exe"
|
|
Compressed="no"
|
|
Id="DotnetRuntime6"
|
|
DetectCondition="HasDotnet609"
|
|
DownloadUrl="$(var.Dotnet6DownloadUrl)"
|
|
InstallCommand="/install /quiet /norestart"
|
|
RepairCommand="/repair /passive /norestart"
|
|
Permanent="yes"
|
|
PerMachine="yes"
|
|
UninstallCommand="/uninstall /quiet /norestart">
|
|
<ExitCode Value="1638" Behavior="success"/>
|
|
<RemotePayload
|
|
Description="Microsoft Windows Desktop Runtime - 6.0.9 ($(var.PowerToysPlatform))"
|
|
ProductName="Microsoft Windows Desktop Runtime - 6.0.9 ($(var.PowerToysPlatform))"
|
|
Size="$(var.Dotnet6PayloadSize)"
|
|
Version="6.0.9.31620"
|
|
Hash="$(var.Dotnet6PayloadHash)" />
|
|
</ExePackage>
|
|
<ExePackage
|
|
DisplayName="Installing Microsoft Edge WebView2"
|
|
Name="MicrosoftEdgeWebview2Setup.exe"
|
|
Compressed="yes"
|
|
Id="WebView2"
|
|
DetectCondition="HasWebView2PerMachine OR HasWebView2PerUser"
|
|
SourceFile="WebView2\MicrosoftEdgeWebview2Setup.exe"
|
|
InstallCommand="/silent /install"
|
|
RepairCommand="/repair /passive"
|
|
Permanent="yes"
|
|
PerMachine="yes"
|
|
UninstallCommand="/silent /uninstall">
|
|
</ExePackage>
|
|
<MsiPackage
|
|
DisplayName="Installing PowerToys"
|
|
SourceFile="$(var.PowerToysPlatform)\Release\PowerToysSetup-$(var.Version)-$(var.PowerToysPlatform).msi"
|
|
Compressed="yes"
|
|
DisplayInternalUI="no">
|
|
<MsiProperty Name="BOOTSTRAPPERINSTALLFOLDER" Value="[InstallFolder]" />
|
|
</MsiPackage>
|
|
</Chain>
|
|
</Bundle>
|
|
</Wix>
|