From 8db2538c227aea7ca06ce653a9c9fb9f2ec2c1d9 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Tue, 6 Jun 2023 09:29:21 -0700 Subject: [PATCH 01/10] WiX: adjust the rules for harvesting directories with heat This should generate durable GUIDs at compile time to allow an in-place upgrade. Remove the unnecessary properties in the developer tools. --- platforms/Windows/devtools.wixproj | 9 ++------- platforms/Windows/sdk.wixproj | 16 +++++++++------- platforms/Windows/toolchain.wixproj | 18 +++++++++++------- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/platforms/Windows/devtools.wixproj b/platforms/Windows/devtools.wixproj index 92180e8d..c2debc2b 100644 --- a/platforms/Windows/devtools.wixproj +++ b/platforms/Windows/devtools.wixproj @@ -20,13 +20,8 @@ ProductArchitecture=$(ProductArchitecture);ProductVersion=$(ProductVersion);DEVTOOLS_ROOT=$(DEVTOOLS_ROOT); - false - true - true - true - true - true - true + x64 + arm64 diff --git a/platforms/Windows/sdk.wixproj b/platforms/Windows/sdk.wixproj index 62fcf2c7..3ff2f0a9 100644 --- a/platforms/Windows/sdk.wixproj +++ b/platforms/Windows/sdk.wixproj @@ -20,13 +20,11 @@ ProductArchitecture=$(ProductArchitecture);ProductVersion=$(ProductVersion);PLATFORM_ROOT=$(PLATFORM_ROOT);SDK_ROOT=$(SDK_ROOT);SwiftShimsPath=$(SDK_ROOT)\usr\lib\swift\shims; - false - true - true - true - true - true - true + + + + true + true @@ -39,7 +37,11 @@ SwiftShims WindowsSDK_usr_lib_swift_shims var.SwiftShimsPath + true + true + true + diff --git a/platforms/Windows/toolchain.wixproj b/platforms/Windows/toolchain.wixproj index 9bd17c7d..ec8f2722 100644 --- a/platforms/Windows/toolchain.wixproj +++ b/platforms/Windows/toolchain.wixproj @@ -20,13 +20,13 @@ ProductArchitecture=$(ProductArchitecture);ProductVersion=$(ProductVersion);DEVTOOLS_ROOT=$(DEVTOOLS_ROOT);TOOLCHAIN_ROOT=$(TOOLCHAIN_ROOT);TOOLCHAIN_ROOT_USR_LIB_CLANG=$(TOOLCHAIN_ROOT)\usr\lib\clang - false - true - true - true - true - true - true + x64 + arm64 + + + + true + true @@ -39,7 +39,11 @@ ClangResources _usr_lib_clang var.TOOLCHAIN_ROOT_USR_LIB_CLANG + true + true + true + From 73052f4b4317b57ddab0762f1e4462d3240bf59c Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Thu, 8 Jun 2023 16:58:46 -0700 Subject: [PATCH 02/10] WiX: restructure the toolchain MSI This restructures the MSIs into a slightly more granular set of MSIs. It reduces the size of the single MSI making the installer proceed a bit more uniformly. bld: Build Tools (binutils, compilers, linker, assembler) cli: Command Line Tools (clang-format, clang-tidy, swift-api-digester, swift-symbolgraph-extract, swift-package-manager) dbg: Debugging Tools (lldb, repl) ide: IDE Integration Tools (clangd, lldb-vscode, sourcekitd, SourceKit-LSP) In the future, this also provides a logical location for DocC (cli), swift-inspect (dbg), and swift-format (cli). Take the opportunity to use the higher compression by default on all the MSIs. This also removes `swift-build-tool` and `swift-build-sdk-interfaces` until we have a need for them. Simultaneously, we are taking advantage of the WiX 4.0 feature to create a dual-purpose MSI. Unfortunately, burn does not support dual-purpose builds and this implicitly migrates the toolchain to a per-user install currently. However, this is desirable as it will likely provide a space free install path along with removing the need for administrator rights. --- .../{toolchain.wixproj => bld.wixproj} | 19 +- platforms/Windows/bld.wxs | 389 ++++++++++ platforms/Windows/cli.wixproj | 47 ++ platforms/Windows/cli.wxs | 275 +++++++ .../Windows/{devtools.wixproj => dbg.wixproj} | 21 +- platforms/Windows/dbg.wxs | 135 ++++ platforms/Windows/devtools.wxs | 205 ----- platforms/Windows/ide.wixproj | 47 ++ platforms/Windows/ide.wxs | 83 ++ platforms/Windows/installer.wixproj | 2 +- platforms/Windows/toolchain.wxs | 727 ------------------ 11 files changed, 1010 insertions(+), 940 deletions(-) rename platforms/Windows/{toolchain.wixproj => bld.wixproj} (72%) create mode 100644 platforms/Windows/bld.wxs create mode 100644 platforms/Windows/cli.wixproj create mode 100644 platforms/Windows/cli.wxs rename platforms/Windows/{devtools.wixproj => dbg.wixproj} (57%) create mode 100644 platforms/Windows/dbg.wxs delete mode 100644 platforms/Windows/devtools.wxs create mode 100644 platforms/Windows/ide.wixproj create mode 100644 platforms/Windows/ide.wxs delete mode 100644 platforms/Windows/toolchain.wxs diff --git a/platforms/Windows/toolchain.wixproj b/platforms/Windows/bld.wixproj similarity index 72% rename from platforms/Windows/toolchain.wixproj rename to platforms/Windows/bld.wixproj index ec8f2722..cd362c02 100644 --- a/platforms/Windows/toolchain.wixproj +++ b/platforms/Windows/bld.wixproj @@ -20,8 +20,6 @@ ProductArchitecture=$(ProductArchitecture);ProductVersion=$(ProductVersion);DEVTOOLS_ROOT=$(DEVTOOLS_ROOT);TOOLCHAIN_ROOT=$(TOOLCHAIN_ROOT);TOOLCHAIN_ROOT_USR_LIB_CLANG=$(TOOLCHAIN_ROOT)\usr\lib\clang - x64 - arm64 @@ -29,6 +27,21 @@ true + + x64 + + + arm64 + 500 + + + arm + 500 + + + x86 + + @@ -44,6 +57,6 @@ true - + diff --git a/platforms/Windows/bld.wxs b/platforms/Windows/bld.wxs new file mode 100644 index 00000000..9889d064 --- /dev/null +++ b/platforms/Windows/bld.wxs @@ -0,0 +1,389 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/platforms/Windows/cli.wixproj b/platforms/Windows/cli.wixproj new file mode 100644 index 00000000..7ff8cf3f --- /dev/null +++ b/platforms/Windows/cli.wixproj @@ -0,0 +1,47 @@ + + + false + + + + amd64 + $(ProductArchitecture) + + 0.0.0 + $(ProductVersion) + + + + build\ + build\obj\ + + + + + + ProductArchitecture=$(ProductArchitecture);ProductVersion=$(ProductVersion);DEVTOOLS_ROOT=$(DEVTOOLS_ROOT);TOOLCHAIN_ROOT=$(TOOLCHAIN_ROOT); + + + + x64 + + + arm64 + 500 + + + arm + 500 + + + x86 + + + + + + + + + + diff --git a/platforms/Windows/cli.wxs b/platforms/Windows/cli.wxs new file mode 100644 index 00000000..0182d21a --- /dev/null +++ b/platforms/Windows/cli.wxs @@ -0,0 +1,275 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/platforms/Windows/devtools.wixproj b/platforms/Windows/dbg.wixproj similarity index 57% rename from platforms/Windows/devtools.wixproj rename to platforms/Windows/dbg.wixproj index c2debc2b..a012a5e1 100644 --- a/platforms/Windows/devtools.wixproj +++ b/platforms/Windows/dbg.wixproj @@ -19,9 +19,22 @@ - ProductArchitecture=$(ProductArchitecture);ProductVersion=$(ProductVersion);DEVTOOLS_ROOT=$(DEVTOOLS_ROOT); - x64 - arm64 + ProductArchitecture=$(ProductArchitecture);ProductVersion=$(ProductVersion);DEVTOOLS_ROOT=$(DEVTOOLS_ROOT);TOOLCHAIN_ROOT=$(TOOLCHAIN_ROOT) + + + + x64 + + + arm64 + 500 + + + arm + 500 + + + x86 @@ -29,6 +42,6 @@ - + diff --git a/platforms/Windows/dbg.wxs b/platforms/Windows/dbg.wxs new file mode 100644 index 00000000..dfdf81ce --- /dev/null +++ b/platforms/Windows/dbg.wxs @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/platforms/Windows/devtools.wxs b/platforms/Windows/devtools.wxs deleted file mode 100644 index cd4707a0..00000000 --- a/platforms/Windows/devtools.wxs +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/platforms/Windows/ide.wixproj b/platforms/Windows/ide.wixproj new file mode 100644 index 00000000..f90bbb40 --- /dev/null +++ b/platforms/Windows/ide.wixproj @@ -0,0 +1,47 @@ + + + false + + + + amd64 + $(ProductArchitecture) + + 0.0.0 + $(ProductVersion) + + + + build\ + build\obj\ + + + + + + ProductArchitecture=$(ProductArchitecture);ProductVersion=$(ProductVersion);DEVTOOLS_ROOT=$(DEVTOOLS_ROOT);TOOLCHAIN_ROOT=$(TOOLCHAIN_ROOT) + + + + x64 + + + arm64 + 500 + + + arm + 500 + + + x86 + + + + + + + + + + diff --git a/platforms/Windows/ide.wxs b/platforms/Windows/ide.wxs new file mode 100644 index 00000000..7d318cb3 --- /dev/null +++ b/platforms/Windows/ide.wxs @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/platforms/Windows/installer.wixproj b/platforms/Windows/installer.wixproj index e539c42f..3681304d 100644 --- a/platforms/Windows/installer.wixproj +++ b/platforms/Windows/installer.wixproj @@ -12,7 +12,7 @@ $(ProductVersion) - runtime.msi%3Btoolchain.msi%3Bdevtools.msi%3Bsdk.msi + runtime.msi%3Bbld.msi%3Bcli.msi%3Bdbg.msi%3Bide.msi%3Bsdk.msi $(RequiredChain) $(OptionalChain) diff --git a/platforms/Windows/toolchain.wxs b/platforms/Windows/toolchain.wxs deleted file mode 100644 index 2a254b51..00000000 --- a/platforms/Windows/toolchain.wxs +++ /dev/null @@ -1,727 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From d4cddcd911e756e3ed0063073caf4c7bcf30ccff Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Fri, 9 Jun 2023 07:42:47 -0700 Subject: [PATCH 03/10] WiX: shuffle the runtime into `Runtimes\[SemVer]` This makes it fit more naturally into the layout with the co-located installation. Take the opportunity to claw back some storage by enabling compression. This effectively neurtalises the effects of the split MSIs (and slightly wins even). --- platforms/Windows/runtime.wxs | 179 +++++++++++++++++----------------- 1 file changed, 91 insertions(+), 88 deletions(-) diff --git a/platforms/Windows/runtime.wxs b/platforms/Windows/runtime.wxs index ea4011e0..6e6df334 100644 --- a/platforms/Windows/runtime.wxs +++ b/platforms/Windows/runtime.wxs @@ -6,112 +6,115 @@ Name="Swift Windows Runtime ($(var.ProcessorArchitecture))" UpgradeCode="bea8c6dc-f73e-445b-9486-2333d1cf2886" Version="$(var.ProductVersion)" - Scope="perMachine"> + Scope="perUserOrMachine"> - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + - + From 12d3a1204072e88ebd2769682ae06d30be95a789 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Fri, 9 Jun 2023 11:39:18 -0700 Subject: [PATCH 04/10] WiX: rework the SDK layout Restore the components, move the install location, and enable the dual-purpose installer, and enable higher compression. The higher compression helps offset some of the associated costs for the split MSIs. The SDKs are now relocated to `%ProgramFiles%\Swift\Platforms` to co-locate the Platform SDKs with the toolchain and runtime. The conversion to a dual purpose MSI will relocate this to `%LocalAppData%\Programs\Swift\Platforms`. In most cases this should be a space free path which allows us to finally migrate away from `C:\Library` and fix the issue of incorrect permissions on directories. --- platforms/Windows/sdk.wixproj | 15 + platforms/Windows/sdk.wxs | 1037 +++++++++++++++------------------ 2 files changed, 485 insertions(+), 567 deletions(-) diff --git a/platforms/Windows/sdk.wixproj b/platforms/Windows/sdk.wixproj index 3ff2f0a9..af16383d 100644 --- a/platforms/Windows/sdk.wixproj +++ b/platforms/Windows/sdk.wixproj @@ -27,6 +27,21 @@ true + + x64 + + + arm64 + 500 + + + arm + 500 + + + x86 + + diff --git a/platforms/Windows/sdk.wxs b/platforms/Windows/sdk.wxs index 38ca8d42..cc4ee010 100644 --- a/platforms/Windows/sdk.wxs +++ b/platforms/Windows/sdk.wxs @@ -6,433 +6,95 @@ Name="Swift Windows SDK ($(var.ProcessorArchitecture))" UpgradeCode="4c37a396-d9e2-490a-89b7-0a3d271d847f" Version="$(var.ProductVersion)" - Scope="perMachine"> + Scope="perUserOrMachine"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + @@ -440,164 +102,405 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + From 4c6638c436e6636f410529875278263f3d02c146 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Fri, 9 Jun 2023 12:43:55 -0700 Subject: [PATCH 05/10] WiX: remove the obsolete `DEVELOPER_SDK` environment variable This was removed from use in SPM in 5.7. Update the installer to no longer add this environment variable. --- platforms/Windows/bld.wxs | 1 - 1 file changed, 1 deletion(-) diff --git a/platforms/Windows/bld.wxs b/platforms/Windows/bld.wxs index 9889d064..f1a3e8c1 100644 --- a/platforms/Windows/bld.wxs +++ b/platforms/Windows/bld.wxs @@ -354,7 +354,6 @@ - From 7911586a39e6267d08d0abd5c2e7e0cc61001664 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Fri, 9 Jun 2023 13:54:12 -0700 Subject: [PATCH 06/10] WiX: adjust the environment handling to handle dual purpose Ensure that we properly handle the environment when installing. When performing a per-user install, we should modify the user's environment variables and when performing a per-machine install, modify the system environment variables. --- platforms/Windows/bld.wxs | 13 +++++++++---- platforms/Windows/runtime.wxs | 13 +++++++++---- platforms/Windows/sdk.wxs | 16 +++++++++++----- 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/platforms/Windows/bld.wxs b/platforms/Windows/bld.wxs index f1a3e8c1..17a2670f 100644 --- a/platforms/Windows/bld.wxs +++ b/platforms/Windows/bld.wxs @@ -353,9 +353,14 @@ - - - + + + + + + + + @@ -371,7 +376,7 @@ - + diff --git a/platforms/Windows/runtime.wxs b/platforms/Windows/runtime.wxs index 6e6df334..85106273 100644 --- a/platforms/Windows/runtime.wxs +++ b/platforms/Windows/runtime.wxs @@ -99,9 +99,14 @@ - - - + + + + + + + + @@ -110,7 +115,7 @@ - + diff --git a/platforms/Windows/sdk.wxs b/platforms/Windows/sdk.wxs index cc4ee010..5cd59a87 100644 --- a/platforms/Windows/sdk.wxs +++ b/platforms/Windows/sdk.wxs @@ -471,10 +471,16 @@ - - - - + + + + + + + + + + @@ -502,7 +508,7 @@ - + From 1d6203c27b1ecc8451d5acd21fcccef40d4847e6 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Fri, 9 Jun 2023 14:02:32 -0700 Subject: [PATCH 07/10] WiX: reduce some vertical whitespace usage Remove the use of empty nodes and collapse them to the short form. This reduces the height of the directory hierarchy listing and makes it easier to identify the leaf nodes in the file system. --- platforms/Windows/bld.wxs | 23 ++++-------- platforms/Windows/cli.wxs | 20 ++++------ platforms/Windows/dbg.wxs | 11 ++---- platforms/Windows/ide.wxs | 11 ++---- platforms/Windows/runtime.wxs | 3 +- platforms/Windows/sdk.wxs | 71 ++++++++++++----------------------- 6 files changed, 48 insertions(+), 91 deletions(-) diff --git a/platforms/Windows/bld.wxs b/platforms/Windows/bld.wxs index 17a2670f..89edbdfb 100644 --- a/platforms/Windows/bld.wxs +++ b/platforms/Windows/bld.wxs @@ -22,29 +22,22 @@ - + - - + - - + - - + - - - - - - + + + - - + diff --git a/platforms/Windows/cli.wxs b/platforms/Windows/cli.wxs index 0182d21a..fbb7994c 100644 --- a/platforms/Windows/cli.wxs +++ b/platforms/Windows/cli.wxs @@ -14,25 +14,19 @@ - + - - + - - - - - - + + + - - - - + + diff --git a/platforms/Windows/dbg.wxs b/platforms/Windows/dbg.wxs index dfdf81ce..f037fddb 100644 --- a/platforms/Windows/dbg.wxs +++ b/platforms/Windows/dbg.wxs @@ -14,19 +14,16 @@ - + - - + - - - - + + diff --git a/platforms/Windows/ide.wxs b/platforms/Windows/ide.wxs index 7d318cb3..b1833b84 100644 --- a/platforms/Windows/ide.wxs +++ b/platforms/Windows/ide.wxs @@ -14,16 +14,13 @@ - + - - + - - - - + + diff --git a/platforms/Windows/runtime.wxs b/platforms/Windows/runtime.wxs index 85106273..53582591 100644 --- a/platforms/Windows/runtime.wxs +++ b/platforms/Windows/runtime.wxs @@ -16,8 +16,7 @@ - - + diff --git a/platforms/Windows/sdk.wxs b/platforms/Windows/sdk.wxs index 5cd59a87..2908f75c 100644 --- a/platforms/Windows/sdk.wxs +++ b/platforms/Windows/sdk.wxs @@ -13,7 +13,7 @@ - + @@ -29,10 +29,8 @@ - - - - + + @@ -44,57 +42,36 @@ - - - - - - + + + - - + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + From 776fa6e805dbe8541ffa4e90c6118294caa5b076 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Tue, 13 Jun 2023 15:44:28 -0700 Subject: [PATCH 08/10] WiX: rename version.wxi to config.wxi The original version information has been removed from the include file and now only has the configuration for the build. This allows us to use a single definition for the various architectures. --- platforms/Windows/bld.wxs | 1 - platforms/Windows/cli.wxs | 1 - platforms/Windows/{version.wxi => config.wxi} | 8 -------- platforms/Windows/dbg.wxs | 1 - platforms/Windows/ide.wxs | 1 - platforms/Windows/runtime.wxs | 2 +- platforms/Windows/sdk.wxs | 2 +- 7 files changed, 2 insertions(+), 14 deletions(-) rename platforms/Windows/{version.wxi => config.wxi} (78%) diff --git a/platforms/Windows/bld.wxs b/platforms/Windows/bld.wxs index 89edbdfb..a15ccd47 100644 --- a/platforms/Windows/bld.wxs +++ b/platforms/Windows/bld.wxs @@ -1,5 +1,4 @@  - - - - - - - - - - diff --git a/platforms/Windows/dbg.wxs b/platforms/Windows/dbg.wxs index f037fddb..11e90360 100644 --- a/platforms/Windows/dbg.wxs +++ b/platforms/Windows/dbg.wxs @@ -1,5 +1,4 @@  - - - + - + Date: Wed, 14 Jun 2023 13:20:45 -0700 Subject: [PATCH 09/10] WiX: draw a diagram of the SDK layout The SDK layout is now the most complex part of the Swift distribution. Draw a rendering of the layout to make it easier to follow. --- platforms/Windows/sdk.wxs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/platforms/Windows/sdk.wxs b/platforms/Windows/sdk.wxs index 44f95851..2ceec9de 100644 --- a/platforms/Windows/sdk.wxs +++ b/platforms/Windows/sdk.wxs @@ -11,6 +11,19 @@ + From e15ed826aec0af161261e351e53331377f809eb3 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Thu, 15 Jun 2023 08:58:21 -0700 Subject: [PATCH 10/10] WiX: revert to per-machine installs The uninstallation path is adversely effected by the dual-purpose builds. This allows installation and uninstallation to function. While this still requires the UAC prompt, a working installation is more important. A subsequent change to enable per-user installs is still feasible. --- platforms/Windows/bld.wxs | 2 +- platforms/Windows/cli.wxs | 2 +- platforms/Windows/dbg.wxs | 2 +- platforms/Windows/ide.wxs | 2 +- platforms/Windows/runtime.wxs | 2 +- platforms/Windows/sdk.wxs | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/platforms/Windows/bld.wxs b/platforms/Windows/bld.wxs index a15ccd47..7163991e 100644 --- a/platforms/Windows/bld.wxs +++ b/platforms/Windows/bld.wxs @@ -5,7 +5,7 @@ Name="Swift Build Tools" UpgradeCode="7e95dc06-7f84-4e8e-a038-8304af0468fb" Version="$(var.ProductVersion)" - Scope="perUserOrMachine"> + Scope="perMachine">