Skip to content

WiX: Windows packaging improvements #207

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Jun 15, 2023
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,26 @@

<PropertyGroup>
<DefineConstants>ProductArchitecture=$(ProductArchitecture);ProductVersion=$(ProductVersion);DEVTOOLS_ROOT=$(DEVTOOLS_ROOT);TOOLCHAIN_ROOT=$(TOOLCHAIN_ROOT);TOOLCHAIN_ROOT_USR_LIB_CLANG=$(TOOLCHAIN_ROOT)\usr\lib\clang</DefineConstants>
<HarvestDirectoryAutogenerateGuids>false</HarvestDirectoryAutogenerateGuids>
<HarvestDirectoryGenerateGuidsNow>true</HarvestDirectoryGenerateGuidsNow>
<HarvestDirectoryNoLogo>true</HarvestDirectoryNoLogo>
<HarvestDirectorySuppressCom>true</HarvestDirectorySuppressCom>
<HarvestDirectorySuppressFragments>true</HarvestDirectorySuppressFragments>
<HarvestDirectorySuppressRegistry>true</HarvestDirectorySuppressRegistry>
<HarvestDirectorySuppressRootDirectory>true</HarvestDirectorySuppressRootDirectory>
</PropertyGroup>

<PropertyGroup>
<HarvestNoLogo>true</HarvestNoLogo>
<HarvestGenerateGuidsNow>true</HarvestGenerateGuidsNow>
</PropertyGroup>

<PropertyGroup Condition=" '$(ProductArchitecture)' == 'amd64' ">
<InstallerPlatform>x64</InstallerPlatform>
</PropertyGroup>
<PropertyGroup Condition=" '$(ProductArchitecture)' == 'arm64' ">
<InstallerPlatform>arm64</InstallerPlatform>
<InstallerVersion>500</InstallerVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(ProductArchitecture)' == 'arm' ">
<InstallerPlatform>arm</InstallerPlatform>
<InstallerVersion>500</InstallerVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(ProductArchitecture)' == 'x86' ">
<InstallerPlatform>x86</InstallerPlatform>
</PropertyGroup>

<ItemGroup>
Expand All @@ -39,7 +52,11 @@
<ComponentGroupName>ClangResources</ComponentGroupName>
<DirectoryRefId>_usr_lib_clang</DirectoryRefId>
<PreprocessorVariable>var.TOOLCHAIN_ROOT_USR_LIB_CLANG</PreprocessorVariable>
<SuppressCom>true</SuppressCom>
<SuppressRegistry>true</SuppressRegistry>
<SuppressRootDirectory>true</SuppressRootDirectory>
</HarvestDirectory>
<Compile Include="toolchain.wxs" />

<Compile Include="bld.wxs" />
</ItemGroup>
</Project>
385 changes: 385 additions & 0 deletions platforms/Windows/bld.wxs

Large diffs are not rendered by default.

47 changes: 47 additions & 0 deletions platforms/Windows/cli.wixproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<Project Sdk="WixToolset.Sdk/4.0.0">
<PropertyGroup>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
</PropertyGroup>

<PropertyGroup>
<ProductArchitecture Condition=" '$(ProductArchitecture)' == '' ">amd64</ProductArchitecture>
<ProductArchitecture>$(ProductArchitecture)</ProductArchitecture>

<ProductVersion Condition=" '$(ProductVersion)' == '' ">0.0.0</ProductVersion>
<ProductVersion>$(ProductVersion)</ProductVersion>
</PropertyGroup>

<PropertyGroup>
<OutputPath>build\</OutputPath>
<IntermediateOutputPath>build\obj\</IntermediateOutputPath>
</PropertyGroup>

<Import Project="WiXCodeSigning.targets" />

<PropertyGroup>
<DefineConstants>ProductArchitecture=$(ProductArchitecture);ProductVersion=$(ProductVersion);DEVTOOLS_ROOT=$(DEVTOOLS_ROOT);TOOLCHAIN_ROOT=$(TOOLCHAIN_ROOT);</DefineConstants>
</PropertyGroup>

<PropertyGroup Condition=" '$(ProductArchitecture)' == 'amd64' ">
<InstallerPlatform>x64</InstallerPlatform>
</PropertyGroup>
<PropertyGroup Condition=" '$(ProductArchitecture)' == 'arm64' ">
<InstallerPlatform>arm64</InstallerPlatform>
<InstallerVersion>500</InstallerVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(ProductArchitecture)' == 'arm' ">
<InstallerPlatform>arm</InstallerPlatform>
<InstallerVersion>500</InstallerVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(ProductArchitecture)' == 'x86' ">
<InstallerPlatform>x86</InstallerPlatform>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="WixToolset.UI.wixext" Version="4.0.0" />
</ItemGroup>

<ItemGroup>
<Compile Include="cli.wxs" />
</ItemGroup>
</Project>
268 changes: 268 additions & 0 deletions platforms/Windows/cli.wxs
Original file line number Diff line number Diff line change
@@ -0,0 +1,268 @@
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:ui="http://wixtoolset.org/schemas/v4/wxs/ui">
<Package
Language="1033"
Manufacturer="swift.org"
Name="Swift Command Line Tools"
UpgradeCode="87019842-3f3e-4227-b5c5-23a8ef72ad89"
Version="$(var.ProductVersion)"
Scope="perMachine">
<SummaryInformation Description="Swift Command Line Tools" />

<Media Id="1" Cabinet="cli.cab" EmbedCab="yes" CompressionLevel="high" />

<StandardDirectory Id="ProgramFiles64Folder">
<Directory Id="INSTALLDIR" Name="Swift">
<Directory Id="Toolchains" Name="Toolchains">
<Directory Id="_" Name="$(var.ProductVersion)+Asserts">
<Directory Id="_usr" Name="usr">
<Directory Id="_usr_bin" Name="bin" />
<Directory Id="_usr_include" Name="include">
<Directory Id="_usr_include__InternalSwiftScan" Name="_InternalSwiftScan" />
<Directory Id="_usr_include_clang_c" Name="clang-c" />
<Directory Id="_usr_include_indexstore" Name="indexstore" />
</Directory>
<Directory Id="_usr_lib" Name="lib">
<Directory Id="_usr_lib_swift" Name="swift">
<Directory Id="_usr_lib_swift_pm" Name="pm">
<Directory Id="_usr_lib_swift_pm_ManifestAPI" Name="ManifestAPI" />
<Directory Id="_usr_lib_swift_pm_PluginAPI" Name="PluginAPI" />
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
</StandardDirectory>

<ComponentGroup Id="clang">
<Component Directory="_usr_bin" Id="clang_format.exe">
<File Id="clang_format.exe" Source="$(var.TOOLCHAIN_ROOT)\usr\bin\clang-format.exe" Checksum="yes" KeyPath="yes" />
</Component>

<Component Directory="_usr_bin" Id="clang_tidy.exe">
<File Id="clang_tidy.exe" Source="$(var.TOOLCHAIN_ROOT)\usr\bin\clang-tidy.exe" Checksum="yes" KeyPath="yes" />
</Component>
</ComponentGroup>

<ComponentGroup Id="libclang">
<Component Directory="_usr_bin" Id="libclang.dll">
<File Id="libclang.dll" Source="$(var.TOOLCHAIN_ROOT)\usr\bin\libclang.dll" Checksum="yes" KeyPath="yes" />
</Component>

<Component Directory="_usr_lib" Id="libclang.lib">
<File Id="libclang.lib" Source="$(var.TOOLCHAIN_ROOT)\usr\lib\libclang.lib" Checksum="yes" KeyPath="yes" />
</Component>

<Component Directory="_usr_include_clang_c" Id="BuildSystem.h">
<File Id="BuildSystem.h" Source="$(var.TOOLCHAIN_ROOT)\usr\include\clang-c\BuildSystem.h" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_include_clang_c" Id="CXCompilationDatabase.h">
<File Id="CXCompilationDatabase.h" Source="$(var.TOOLCHAIN_ROOT)\usr\include\clang-c\CXCompilationDatabase.h" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_include_clang_c" Id="CXErrorCode.h">
<File Id="CXErrorCode.h" Source="$(var.TOOLCHAIN_ROOT)\usr\include\clang-c\CXErrorCode.h" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_include_clang_c" Id="CXString.h">
<File Id="CXString.h" Source="$(var.TOOLCHAIN_ROOT)\usr\include\clang-c\CXString.h" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_include_clang_c" Id="Documentation.h">
<File Id="Documentation.h" Source="$(var.TOOLCHAIN_ROOT)\usr\include\clang-c\Documentation.h" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_include_clang_c" Id="FatalErrorHandler.h">
<File Id="FatalErrorHandler.h" Source="$(var.TOOLCHAIN_ROOT)\usr\include\clang-c\FatalErrorHandler.h" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_include_clang_c" Id="Index.h">
<File Id="Index.h" Source="$(var.TOOLCHAIN_ROOT)\usr\include\clang-c\Index.h" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_include_clang_c" Id="Platform.h">
<File Id="Platform.h" Source="$(var.TOOLCHAIN_ROOT)\usr\include\clang-c\Platform.h" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_include_clang_c" Id="Refactor.h">
<File Id="Refactor.h" Source="$(var.TOOLCHAIN_ROOT)\usr\include\clang-c\Refactor.h" Checksum="yes" KeyPath="yes" />
</Component>
</ComponentGroup>

<ComponentGroup Id="IndexStore">
<Component Directory="_usr_bin" Id="libIndexStore.dll">
<File Id="libIndexStore.dll" Source="$(var.TOOLCHAIN_ROOT)\usr\bin\libIndexStore.dll" Checksum="yes" KeyPath="yes" />
</Component>

<Component Directory="_usr_lib" Id="libIndexStore.lib">
<File Id="libIndexStore.lib" Source="$(var.TOOLCHAIN_ROOT)\usr\lib\libIndexStore.lib" Checksum="yes" KeyPath="yes" />
</Component>

<Component Directory="_usr_include_indexstore" Id="indexstore.h">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above, do folks need to build against the install indexstore.h

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this is used by IndexStoreDB which is part of LSP. This allows development against a toolchain for LSP without building the full compiler.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still seems odd. Maybe as a cli-devel/cli-dev package? Then you could package with debug symbols and such too, which might be useful for cli developers.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that we want to package the debug symbols ever:

  1. it would make the installer download ~10-20G rather than ~400M (which is already large)
  2. it is not a common practice on Windows
  3. we really want to use a symbol server to auto-match the PDB for the binary

I can split this up into two MSIs, but then I think that we go down the slipper slope of what is the right place to break up the MSIs (i.e. perhaps BlocksRuntime and dispatch should be separate MSIs as well).

<File Id="indexstore.h" Source="$(var.TOOLCHAIN_ROOT)\usr\local\include\indexstore\indexstore.h" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_include_indexstore" Id="IndexStoreCXX.h">
<File Id="IndexStoreCXX.h" Source="$(var.TOOLCHAIN_ROOT)\usr\local\include\indexstore\IndexStoreCXX.h" Checksum="yes" KeyPath="yes" />
</Component>
</ComponentGroup>

<ComponentGroup Id="_InternalSwiftScan">
<Component Directory="_usr_bin" Id="_InternalSwiftScan.dll">
<File Id="_InternalSwiftScan.dll" Source="$(var.TOOLCHAIN_ROOT)\usr\bin\_InternalSwiftScan.dll" Checksum="yes" KeyPath="yes" />
</Component>

<Component Directory="_usr_lib" Id="_InternalSwiftScan.lib">
<File Id="_InternalSwiftScan.lib" Source="$(var.TOOLCHAIN_ROOT)\usr\lib\swift\windows\_InternalSwiftScan.lib" Checksum="yes" KeyPath="yes" />
</Component>

<Component Directory="_usr_include__InternalSwiftScan" Id="DependencyScan.h">
<File Id="DependencyScan.h" Source="$(var.TOOLCHAIN_ROOT)\usr\lib\swift\_InternalSwiftScan\DependencyScan.h" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_include__InternalSwiftScan" Id="DependencyScanMacros.h">
<File Id="DependencyScanMacros.h" Source="$(var.TOOLCHAIN_ROOT)\usr\lib\swift\_InternalSwiftScan\DependencyScanMacros.h" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_include__InternalSwiftScan" Id="_InternalSwiftScan.modulemap">
<File Id="_InternalSwiftScan.modulemap" Source="$(var.TOOLCHAIN_ROOT)\usr\lib\swift\_InternalSwiftScan\module.modulemap" Checksum="yes" KeyPath="yes" />
</Component>
</ComponentGroup>

<ComponentGroup Id="collections">
<Component Directory="_usr_bin" Id="Collections.dll">
<File Id="Collections.dll" Source="$(var.DEVTOOLS_ROOT)\usr\bin\Collections.dll" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_bin" Id="DequeModule.dll">
<File Id="DequeModule.dll" Source="$(var.DEVTOOLS_ROOT)\usr\bin\DequeModule.dll" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_bin" Id="OrderedCollections.dll">
<File Id="OrderedCollections.dll" Source="$(var.DEVTOOLS_ROOT)\usr\bin\OrderedCollections.dll" Checksum="yes" KeyPath="yes" />
</Component>
</ComponentGroup>

<ComponentGroup Id="llbuild">
<Component Directory="_usr_bin" Id="llbuildSwift.dll">
<File Id="llbuildSwift.dll" Source="$(var.DEVTOOLS_ROOT)\usr\bin\llbuildSwift.dll" Checksum="yes" KeyPath="yes" />
</Component>
</ComponentGroup>

<ComponentGroup Id="system">
<Component Directory="_usr_bin" Id="SystemPackage.dll">
<File Id="SystemPackage.dll" Source="$(var.DEVTOOLS_ROOT)\usr\bin\SystemPackage.dll" Checksum="yes" KeyPath="yes" />
</Component>
</ComponentGroup>

<ComponentGroup Id="CompilerPluginSupport">
<Component Directory="_usr_lib_swift_pm_ManifestAPI" Id="CompilerPluginSupport.dll">
<File Id="CompilerPluginSupport.dll" Source="$(var.DEVTOOLS_ROOT)\usr\lib\swift\pm\ManifestAPI\CompilerPluginSupport.dll" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_lib_swift_pm_ManifestAPI" Id="CompilerPluginSupport.lib">
<File Id="CompilerPluginSupport.lib" Source="$(var.DEVTOOLS_ROOT)\usr\lib\swift\pm\ManifestAPI\CompilerPluginSupport.lib" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_lib_swift_pm_ManifestAPI" Id="CompilerPluginSupport.swiftdoc">
<File Id="CompilerPluginSupport.swiftdoc" Source="$(var.DEVTOOLS_ROOT)\usr\lib\swift\pm\ManifestAPI\CompilerPluginSupport.swiftdoc" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_lib_swift_pm_ManifestAPI" Id="CompilerPluginSupport.swiftmodule">
<File Id="CompilerPluginSupport.swiftmodule" Source="$(var.DEVTOOLS_ROOT)\usr\lib\swift\pm\ManifestAPI\CompilerPluginSupport.swiftmodule" Checksum="yes" KeyPath="yes" />
</Component>
</ComponentGroup>

<ComponentGroup Id="PackageDescription">
<Component Directory="_usr_lib_swift_pm_ManifestAPI" Id="PackageDescription.dll">
<File Id="PackageDescription.dll" Source="$(var.DEVTOOLS_ROOT)\usr\lib\swift\pm\ManifestAPI\PackageDescription.dll" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_lib_swift_pm_ManifestAPI" Id="PackageDescription.lib">
<File Id="PackageDescription.lib" Source="$(var.DEVTOOLS_ROOT)\usr\lib\swift\pm\ManifestAPI\PackageDescription.lib" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_lib_swift_pm_ManifestAPI" Id="PackageDescription.swiftdoc">
<File Id="PackageDescription.swiftdoc" Source="$(var.DEVTOOLS_ROOT)\usr\lib\swift\pm\ManifestAPI\PackageDescription.swiftdoc" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_lib_swift_pm_ManifestAPI" Id="PackageDescription.swiftmodule">
<File Id="PackageDescription.swiftmodule" Source="$(var.DEVTOOLS_ROOT)\usr\lib\swift\pm\ManifestAPI\PackageDescription.swiftmodule" Checksum="yes" KeyPath="yes" />
</Component>
</ComponentGroup>

<ComponentGroup Id="PackagePlugin">
<Component Directory="_usr_lib_swift_pm_PluginAPI" Id="PackagePlugin.dll">
<File Id="PackagePlugin.dll" Source="$(var.DEVTOOLS_ROOT)\usr\lib\swift\pm\PluginAPI\PackagePlugin.dll" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_lib_swift_pm_PluginAPI" Id="PackagePlugin.lib">
<File Id="PackagePlugin.lib" Source="$(var.DEVTOOLS_ROOT)\usr\lib\swift\pm\PluginAPI\PackagePlugin.lib" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_lib_swift_pm_PluginAPI" Id="PackagePlugin.swiftdoc">
<File Id="PackagePlugin.swiftdoc" Source="$(var.DEVTOOLS_ROOT)\usr\lib\swift\pm\PluginAPI\PackagePlugin.swiftdoc" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_lib_swift_pm_PluginAPI" Id="PackagePlugin.swiftmodule">
<File Id="PackagePlugin.swiftmodule" Source="$(var.DEVTOOLS_ROOT)\usr\lib\swift\pm\PluginAPI\PackagePlugin.swiftmodule" Checksum="yes" KeyPath="yes" />
</Component>
</ComponentGroup>

<ComponentGroup Id="package_manager">
<ComponentGroupRef Id="CompilerPluginSupport" />
<ComponentGroupRef Id="PackageDescription" />
<ComponentGroupRef Id="PackagePlugin" />

<Component Directory="_usr_bin" Id="swift_build.exe">
<File Id="swift_build.exe" Source="$(var.DEVTOOLS_ROOT)\usr\bin\swift-build.exe" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_bin" Id="swift_package.exe">
<File Id="swift_package.exe" Source="$(var.DEVTOOLS_ROOT)\usr\bin\swift-package.exe" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_bin" Id="swift_run.exe">
<File Id="swift_run.exe" Source="$(var.DEVTOOLS_ROOT)\usr\bin\swift-run.exe" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_bin" Id="swift_test.exe">
<File Id="swift_test.exe" Source="$(var.DEVTOOLS_ROOT)\usr\bin\swift-test.exe" Checksum="yes" KeyPath="yes" />
</Component>

<Component Directory="_usr_bin" Id="Basics.dll">
<File Id="Basics.dll" Source="$(var.DEVTOOLS_ROOT)\usr\bin\Basics.dll" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_bin" Id="Build.dll">
<File Id="Build.dll" Source="$(var.DEVTOOLS_ROOT)\usr\bin\Build.dll" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_bin" Id="Commands.dll">
<File Id="Commands.dll" Source="$(var.DEVTOOLS_ROOT)\usr\bin\Commands.dll" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_bin" Id="CoreCommands.dll">
<File Id="CoreCommands.dll" Source="$(var.DEVTOOLS_ROOT)\usr\bin\CoreCommands.dll" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_bin" Id="DriverSupport.dll">
<File Id="DriverSupport.dll" Source="$(var.DEVTOOLS_ROOT)\usr\bin\DriverSupport.dll" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_bin" Id="PackageGraph.dll">
<File Id="PackageGraph.dll" Source="$(var.DEVTOOLS_ROOT)\usr\bin\PackageGraph.dll" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_bin" Id="PackageLoading.dll">
<File Id="PackageLoading.dll" Source="$(var.DEVTOOLS_ROOT)\usr\bin\PackageLoading.dll" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_bin" Id="PackageModel.dll">
<File Id="PackageModel.dll" Source="$(var.DEVTOOLS_ROOT)\usr\bin\PackageModel.dll" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_bin" Id="SPMBuildCore.dll">
<File Id="SPMBuildCore.dll" Source="$(var.DEVTOOLS_ROOT)\usr\bin\SPMBuildCore.dll" Checksum="yes" KeyPath="yes" />
</Component>
<Component Directory="_usr_bin" Id="Workspace.dll">
<File Id="Workspace.dll" Source="$(var.DEVTOOLS_ROOT)\usr\bin\Workspace.dll" Checksum="yes" KeyPath="yes" />
</Component>

<!-- FIXME(compnerd) we should include the SPM import libraries -->
</ComponentGroup>

<Feature Id="CLITools" AllowAbsent="no" AllowAdvertise="yes" ConfigurableDirectory="INSTALLDIR" Description="Swift Command Line Tools" Level="1" Title="Swift Command Line Tools">
<ComponentGroupRef Id="clang" />
<ComponentGroupRef Id="libclang" />
<ComponentGroupRef Id="IndexStore" />

<ComponentGroupRef Id="_InternalSwiftScan" />

<ComponentGroupRef Id="collections" />
<ComponentGroupRef Id="llbuild" />
<ComponentGroupRef Id="system" />
<ComponentGroupRef Id="package_manager" />
</Feature>

<UI>
<ui:WixUI Id="WixUI_InstallDir" />
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg" Order="2" />
<Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="2" />
</UI>

<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR"></Property>

<WixVariable Id="WixUIDialogBmp" Value="Resources\swift_dialog.png" />
<WixVariable Id="WixUIBannerBmp" Value="Resources\swift_banner.png" />
</Package>
</Wix>
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
<?xml version='1.0' encoding='utf-8'?>

<Include>
<?if $(var.ProductVersion) = "0.0.0"?>
<?define RuntimeName = "runtime-development"?>
<?define ToolchainName = "unknown-Asserts-development.xctoolchain"?>
<?else?>
<?define RuntimeName = "runtime-$(var.ProductVersion)"?>
<?define ToolchainName = "unknown-Asserts-$(var.ProductVersion).xctoolchain"?>
<?endif?>

<?if $(var.ProductArchitecture) = "amd64"?>
<?define ProcessorArchitecture = "AMD64"?>
<?elseif $(var.ProductArchitecture) = "arm64"?>
Expand Down
Loading