2016-01-28 01:46:03 -08:00
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
xmlns:swid="http://schemas.microsoft.com/wix/TagExtension"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<?include "Variables.wxi" ?>
<Bundle Name="$(var.ProductName)" Manufacturer="$(var.Manufacturer)"
2019-03-01 13:07:12 -08:00
Version="$(var.SDKBundleVersion)" UpgradeCode="$(var.UpgradeCode)"
2020-10-01 11:52:12 -07:00
AboutUrl="https://aka.ms/netcorehelp/"
2016-01-28 01:46:03 -08:00
Compressed="yes">
2019-02-19 14:21:54 -08:00
<bal:Condition Message="The installation path for x64 SDK installations: "[DOTNETHOME_X64]" cannot be the same as for x86 SDK installations: "[DOTNETHOME_X86]"">
2021-09-17 11:06:21 -07:00
WixBundleInstalled OR (NOT DOTNETHOME_X64 ~= DOTNETHOME_X86) OR DOTNETHOMESIMILARITYCHECKOVERRIDE
2018-11-21 09:38:54 -08:00
</bal:Condition>
2019-02-19 14:21:54 -08:00
2020-09-10 03:04:54 -07:00
<bal:Condition Message="The installation path for ARM64 SDK installations: "[DOTNETHOME_ARM64]" cannot be the same as for x86 SDK installations: "[DOTNETHOME_X86]"">
2021-09-17 11:06:21 -07:00
WixBundleInstalled OR (NOT DOTNETHOME_ARM64 ~= DOTNETHOME_X86) OR DOTNETHOMESIMILARITYCHECKOVERRIDE
</bal:Condition>
<!-- Permit same path on non-ARM64 machines since past SDKs always wrote this value -->
<bal:Condition Message="The installation path for ARM64 SDK installations: "[DOTNETHOME_ARM64]" cannot be the same as for x64 SDK installations: "[DOTNETHOME_X64]"">
2021-10-06 18:38:46 -07:00
WixBundleInstalled OR (NOT DOTNETHOME_ARM64 ~= DOTNETHOME_X64) OR (NOT NativeMachine="$(var.NativeMachine_arm64)") OR DOTNETHOMESIMILARITYCHECKOVERRIDE
2020-09-10 03:04:54 -07:00
</bal:Condition>
2016-01-28 01:46:03 -08:00
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.Foundation">
<bal:WixStandardBootstrapperApplication
2017-06-21 15:15:21 -07:00
LicenseFile="dummyeula.rtf"
2016-01-28 01:46:03 -08:00
ShowFilesInUse="yes"
2018-11-21 09:38:54 -08:00
ShowVersion="yes" />
2016-01-28 01:46:03 -08:00
<PayloadGroupRef Id="DotnetCoreBAPayloads" />
</BootstrapperApplicationRef>
2021-09-17 11:06:21 -07:00
<swid:Tag Regid="microsoft.com" InstallPath="[$(var.Program_Files)]dotnet" />
2016-01-28 01:46:03 -08:00
2020-09-10 03:04:54 -07:00
<util:RegistrySearch Id="CheckDotnetInstallLocation_x86"
2019-02-22 16:48:10 -08:00
Variable="DotnetInstallLocationExists_x86"
2018-11-21 09:38:54 -08:00
Result="exists"
Root="HKLM"
2019-02-22 16:48:10 -08:00
Key="SOFTWARE\dotnet\Setup\InstalledVersions\x86"
2018-11-21 09:38:54 -08:00
Value="InstallLocation" />
2020-09-10 03:04:54 -07:00
<util:RegistrySearch Id="DotnetInstallLocation_x86"
2019-02-22 16:48:10 -08:00
After="CheckDotnetInstallLocation_x86"
Condition="DotnetInstallLocationExists_x86"
2018-11-21 09:38:54 -08:00
Variable="DOTNETHOME_X86"
Result="value"
Root="HKLM"
2019-02-22 16:48:10 -08:00
Key="SOFTWARE\dotnet\Setup\InstalledVersions\x86"
2018-11-21 09:38:54 -08:00
Value="InstallLocation" />
2020-09-10 03:04:54 -07:00
<util:FileSearch Id="DotnetExeSearch_x86"
2019-02-22 16:48:10 -08:00
After="DotnetInstallLocation_x86"
2018-11-21 09:38:54 -08:00
Variable="DotnetExeExists_x86"
2019-02-22 16:48:10 -08:00
Condition="NOT DotnetInstallLocationExists_x86"
2018-11-21 09:38:54 -08:00
Result="exists"
Path="[ProgramFilesFolder]dotnet\dotnet.exe"/>
2020-09-10 03:04:54 -07:00
<util:DirectorySearch Id="DotnetExeLocation_x86"
2018-11-21 09:38:54 -08:00
After="DotnetExeSearch_x86"
Condition="DotnetExeExists_x86"
Variable="DOTNETHOME_X86"
Path="[ProgramFilesFolder]dotnet"/>
2020-09-10 03:04:54 -07:00
2021-09-17 11:06:21 -07:00
<?if $(var.Platform)!=x86?>
2019-02-22 16:48:10 -08:00
<util:RegistrySearch Id="CheckDotnetInstallLocation_x64"
Variable="DotnetInstallLocationExists_x64"
2018-11-21 09:38:54 -08:00
Result="exists"
Root="HKLM"
2019-02-22 16:48:10 -08:00
Key="SOFTWARE\dotnet\Setup\InstalledVersions\x64"
2018-11-21 09:38:54 -08:00
Value="InstallLocation" />
2019-02-22 16:48:10 -08:00
<util:RegistrySearch Id="DotnetInstallLocation_x64"
After="CheckDotnetInstallLocation_x64"
Condition="DotnetInstallLocationExists_x64"
2018-11-21 09:38:54 -08:00
Variable="DOTNETHOME_X64"
Result="value"
Root="HKLM"
2019-02-22 16:48:10 -08:00
Key="SOFTWARE\dotnet\Setup\InstalledVersions\x64"
2018-11-21 09:38:54 -08:00
Value="InstallLocation" />
2021-09-17 11:06:21 -07:00
<!-- Check default location when on x64 OS-->
2018-11-21 09:38:54 -08:00
<util:FileSearch Id="DotnetExeSearch_x64"
2021-10-06 18:38:46 -07:00
After="DotnetInstallLocation_x64"
2018-11-21 09:38:54 -08:00
Variable="DotnetExeExists_x64"
2021-10-06 18:38:46 -07:00
Condition="NOT DotnetInstallLocationExists_x64 AND (NOT NativeMachine OR NativeMachine="$(var.NativeMachine_x64)")"
2018-11-21 09:38:54 -08:00
Result="exists"
Path="[ProgramFiles64Folder]dotnet\dotnet.exe"/>
<util:DirectorySearch Id="DotnetExeLocation_x64"
After="DotnetExeSearch_x64"
Condition="DotnetExeExists_x64"
Variable="DOTNETHOME_X64"
Path="[ProgramFiles64Folder]dotnet"/>
2021-09-17 11:06:21 -07:00
<!-- Check alternate location on non-x64 OS -->
<util:FileSearch Id="DotnetExeSearch_alt_x64"
2021-10-06 18:38:46 -07:00
After="DotnetInstallLocation_x64"
2021-09-17 11:06:21 -07:00
Variable="DotnetExeExists_alt_x64"
2021-10-06 18:38:46 -07:00
Condition="NOT DotnetInstallLocationExists_x64 AND NOT NativeMachine="$(var.NativeMachine_x64)""
2021-09-17 11:06:21 -07:00
Result="exists"
Path="[ProgramFiles64Folder]dotnet\x64\dotnet.exe"/>
<util:DirectorySearch Id="DotnetExeLocation_alt_x64"
After="DotnetExeSearch_alt_x64"
Condition="DotnetExeExists_alt_x64"
Variable="DOTNETHOME_X64"
Path="[ProgramFiles64Folder]dotnet\x64"/>
<?endif?>
<?if $(var.Platform)=arm64?>
2020-09-10 03:04:54 -07:00
<util:RegistrySearch Id="CheckDotnetInstallLocation_arm64"
Variable="DotnetInstallLocationExists_arm64"
Result="exists"
Root="HKLM"
Key="SOFTWARE\dotnet\Setup\InstalledVersions\arm64"
Value="InstallLocation" />
<util:RegistrySearch Id="DotnetInstallLocation_arm64"
After="CheckDotnetInstallLocation_arm64"
Condition="DotnetInstallLocationExists_arm64"
Variable="DOTNETHOME_ARM64"
Result="value"
Root="HKLM"
Key="SOFTWARE\dotnet\Setup\InstalledVersions\arm64"
Value="InstallLocation" />
<util:FileSearch Id="DotnetExeSearch_arm64"
After="DotnetInstallLocation_arm64"
Variable="DotnetExeExists_arm64"
Condition="NOT DotnetInstallLocationExists_arm64"
Result="exists"
Path="[ProgramFiles64Folder]dotnet\dotnet.exe"/>
<util:DirectorySearch Id="DotnetExeLocation_arm64"
After="DotnetExeSearch_arm64"
Condition="DotnetExeExists_arm64"
Variable="DOTNETHOME_ARM64"
Path="[ProgramFiles64Folder]dotnet"/>
<?endif?>
2018-11-21 09:38:54 -08:00
<!--
2019-02-19 14:21:54 -08:00
When installing the SDK bundle to a custom location using the commandline parameters, it is intended, not mandatory, that
2018-11-21 09:38:54 -08:00
both "DOTNETHOME_X86" and "DOTNETHOME_X64" should be used on the commandline and should take this convention:
DOTNETHOME_X86=<InstallFolder>\x86
DOTNETHOME_X64=<InstallFolder>\x64
Example:
dotnet-sdk-3.0.100-alpha1-009719-win-x64.exe /install DOTNETHOME_X64="D:\dotnet\x64" DOTNETHOME_X86="D:\dotnet\x86" /log "installation.log" /quiet /norestart
-->
2021-09-17 11:06:21 -07:00
<Variable Name="DOTNETHOME_X86" bal:Overridable="yes" />
<Variable Name="DOTNETHOME_X64" bal:Overridable="yes" />
<Variable Name="DOTNETHOME_ARM64" bal:Overridable="yes" />
2018-11-21 09:38:54 -08:00
<Variable Name="DOTNETHOME" Type="string" Value="[DOTNETHOME_$(var.PlatformToken)]" bal:Overridable="no" />
2016-04-27 17:20:52 -07:00
<Variable Name="BUNDLEMONIKER" Type="string" Value="$(var.ProductMoniker)" bal:Overridable="no" />
2019-02-19 14:21:54 -08:00
<Variable Name="DOTNETSDKVERSION" Type="string" Value="$(var.NugetVersion)" bal:Overridable="no" />
2018-04-04 10:37:38 -07:00
<Variable Name="DOTNETRUNTIMEVERSION" Type="string" Value="$(var.DotNetRuntimeVersion)" bal:Overridable="no" />
<Variable Name="ASPNETCOREVERSION" Type="string" Value="$(var.AspNetCoreVersion)" bal:Overridable="no" />
2018-12-14 13:35:20 -08:00
<Variable Name="WINFORMSANDWPFVERSION" Type="string" Value="$(var.WinFormsAndWpfVersion)" bal:Overridable="no" />
2018-11-21 09:38:54 -08:00
<Variable Name="DOTNETHOMESIMILARITYCHECKOVERRIDE" Type="string" Value="" bal:Overridable="yes" />
<Chain DisableSystemRestore="yes" ParallelCache="yes">
2016-03-14 18:54:45 -07:00
<MsiPackage SourceFile="$(var.SharedFXMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
2016-06-12 15:33:02 -07:00
<MsiPackage SourceFile="$(var.HostFXRMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
2016-03-14 18:54:45 -07:00
<MsiPackage SourceFile="$(var.SharedHostMsiSourcePath)">
2016-01-28 01:46:03 -08:00
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
2018-08-23 17:56:39 -07:00
</MsiPackage>
2019-02-20 16:36:11 -08:00
<MsiPackage SourceFile="$(var.NetCoreAppTargetingPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
2019-04-17 12:53:05 -07:00
<MsiPackage SourceFile="$(var.NetCoreAppHostPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
2020-09-10 03:04:54 -07:00
<?if $(var.Platform)=x86 or $(var.Platform)=x64?>
2019-09-24 10:36:04 -07:00
<MsiPackage SourceFile="$(var.AlternateNetCoreAppHostPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
<MsiPackage SourceFile="$(var.ArmNetCoreAppHostPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
<MsiPackage SourceFile="$(var.Arm64NetCoreAppHostPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
2019-04-10 08:55:46 -07:00
<MsiPackage SourceFile="$(var.NetStandardTargetingPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
2020-10-22 21:01:47 -07:00
<?endif?>
2020-09-10 03:04:54 -07:00
<MsiPackage SourceFile="$(var.WinFormsAndWpfMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
2019-02-20 16:36:11 -08:00
</MsiPackage>
2019-03-19 14:15:32 -07:00
<MsiPackage SourceFile="$(var.WindowsDesktopTargetingPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
2020-09-10 03:04:54 -07:00
<MsiPackage SourceFile="$(var.AspNetTargetingPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
2019-07-11 00:43:29 +00:00
<MsiPackage SourceFile="$(var.TemplatesMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
<MsiProperty Name="ALLOWMSIINSTALL" Value="True" />
</MsiPackage>
2021-05-04 20:55:39 -07:00
<MsiPackage SourceFile="$(var.ManifestsMsiSourcePath)">
2021-03-11 14:03:04 -08:00
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
<MsiProperty Name="ALLOWMSIINSTALL" Value="True" />
2021-05-04 20:55:39 -07:00
</MsiPackage>
2018-11-21 09:38:54 -08:00
<MsiPackage SourceFile="$(var.CLISDKMsiSourcePath)">
2017-04-24 15:42:52 -07:00
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
2017-06-27 13:46:09 -07:00
<MsiProperty Name="EXEFULLPATH" Value="[WixBundleOriginalSource]" />
2019-05-16 16:33:29 -07:00
<MsiProperty Name="ALLOWMSIINSTALL" Value="True" />
2017-04-24 15:42:52 -07:00
</MsiPackage>
2017-05-01 21:42:51 -07:00
<?if $(var.Platform)=x86?>
2018-01-05 19:25:07 -08:00
<PackageGroupRef Id="PG_AspNetCoreSharedFramework_x86"/>
2017-05-01 21:42:51 -07:00
<?elseif $(var.Platform)=x64?>
2018-01-05 19:25:07 -08:00
<PackageGroupRef Id="PG_AspNetCoreSharedFramework_x64"/>
2020-09-10 03:04:54 -07:00
<?elseif $(var.Platform)=arm64?>
<PackageGroupRef Id="PG_AspNetCoreSharedFramework_arm64"/>
2017-05-01 21:42:51 -07:00
<?endif?>
2021-05-04 20:55:39 -07:00
<!--
The finalizer is not an actual installation package. We "detect" the EXE
based on the action the bundle is performing to ensure that it runs the uninstall
command only when the bundle is being removed. The package is always installable because the bundle
will remove (execute the uninstall command) the package if it is not installable when then bundle is
being installed.
-->
<ExePackage SourceFile="$(var.FinalizerExeSourcePath)"
DetectCondition="WixBundleAction >= 3"
Id="Finalizer"
InstallCondition="WixBundleAction >= 4"
2021-07-07 08:04:20 -07:00
UninstallCommand=""[WixBundleLog_Finalizer]" $(var.NugetVersion) $(var.Platform)"
2021-05-04 20:55:39 -07:00
Vital="no" />
2016-01-28 01:46:03 -08:00
</Chain>
</Bundle>
<Fragment>
<PayloadGroup Id="DotnetCoreBAPayloads">
<Payload Name="thm.xml" Compressed="yes" SourceFile="bundle.thm" />
2019-05-29 11:56:22 -07:00
<!-- Default/Neutral localized content is US English -->
<Payload Name="thm.wxl" Compressed="yes" SourceFile="LCID\1033\bundle.wxl" />
2016-03-25 12:50:37 -07:00
<Payload Name="bg.png" Compressed="yes" SourceFile="..\..\osx\clisdk\resources\dotnetbackground.png" />
2019-05-15 12:51:44 -07:00
<?foreach LCID in $(var.LocalizedContentDirs)?>
<Payload Id="thm-$(var.LCID)" Compressed="yes" Name="$(var.LCID)\thm.wxl" SourceFile="LCID\$(var.LCID)\bundle.wxl" />
<?endforeach?>
2016-01-28 01:46:03 -08:00
<Payload Name='eula.rtf' Compressed='yes' SourceFile='!(wix.WixStdbaLicenseRtf)' />
</PayloadGroup>
<CustomTable Id='WixStdbaInformation'>
<Row>
<Data Column='LicenseFile'>eula.rtf</Data>
</Row>
</CustomTable>
</Fragment>
</Wix>