Skip to content

Commit 9a328d7

Browse files
committed
WiX: shuffle the Runtime to a new location
Migrate the runtime installation to `Swift\Runtime\$(var.ProductVersion)` to match the Toolchain installation. The runtime is not ABI stable, but this matches guidance from Microsoft well. The medium term desire is to version suffix the runtime DLL with the hope for eventual ABI stability.
1 parent 5b1042e commit 9a328d7

File tree

2 files changed

+68
-72
lines changed

2 files changed

+68
-72
lines changed

platforms/Windows/runtime.wxs

Lines changed: 68 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -13,78 +13,80 @@
1313

1414
<StandardDirectory Id="ProgramFiles6432Folder">
1515
<Directory Id="INSTALLDIR" Name="Swift">
16-
<Directory Id="_" Name="$(var.RuntimeName)">
17-
<Directory Id="_usr" Name="usr">
18-
<Directory Id="_usr_bin" Name="bin">
19-
<Component Id="BlocksRuntime.dll">
20-
<File Id="BlocksRuntime.dll" Source="$(var.SDK_ROOT)\usr\bin\BlocksRuntime.dll" Checksum="yes" />
21-
</Component>
22-
<Component Id="dispatch.dll">
23-
<File Id="dispatch.dll" Source="$(var.SDK_ROOT)\usr\bin\dispatch.dll" Checksum="yes" />
24-
</Component>
25-
<Component Id="Foundation.dll">
26-
<File Id="Foundation.dll" Source="$(var.SDK_ROOT)\usr\bin\Foundation.dll" Checksum="yes" />
27-
</Component>
28-
<Component Id="FoundationNetworking.dll">
29-
<File Id="FoundationNetworking.dll" Source="$(var.SDK_ROOT)\usr\bin\FoundationNetworking.dll" Checksum="yes" />
30-
</Component>
31-
<Component Id="FoundationXML.dll">
32-
<File Id="FoundationXML.dll" Source="$(var.SDK_ROOT)\usr\bin\FoundationXML.dll" Checksum="yes" />
33-
</Component>
34-
<Component Id="swift_Concurrency.dll">
35-
<File Id="swift_Concurrency.dll" Source="$(var.SDK_ROOT)\usr\bin\swift_Concurrency.dll" Checksum="yes" />
36-
</Component>
37-
<Component Id="swift_Differentiation.dll">
38-
<File Id="swift_Differentiation.dll" Source="$(var.SDK_ROOT)\usr\bin\swift_Differentiation.dll" Checksum="yes" />
39-
</Component>
40-
<Component Id="swiftDistributed.dll">
41-
<File Id="swiftDistributed.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftDistributed.dll" Checksum="yes" />
42-
</Component>
43-
<Component Id="swift_RegexParser.dll">
44-
<File Id="swift_RegexParser.dll" Source="$(var.SDK_ROOT)\usr\bin\swift_RegexParser.dll" Checksum="yes" />
45-
</Component>
46-
<Component Id="swift_StringProcessing.dll">
47-
<File Id="swift_StringProcessing.dll" Source="$(var.SDK_ROOT)\usr\bin\swift_StringProcessing.dll" Checksum="yes" />
48-
</Component>
49-
<Component Id="swiftCore.dll">
50-
<File Id="swiftCore.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftCore.dll" Checksum="yes" />
51-
</Component>
52-
<Component Id="swiftCxx.dll">
53-
<File Id="swiftCxx.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftCxx.dll" Checksum="yes" />
54-
</Component>
55-
<Component Id="swiftDispatch.dll">
56-
<File Id="swiftDispatch.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftDispatch.dll" Checksum="yes" />
57-
</Component>
58-
<!--
59-
<Component Id="swiftDemangle.dll">
60-
<File Id="swiftDemangle.dll" Source="$(var.SDK_ROOT)\bin\swiftDemangle.dll" Checksum="yes" />
61-
</Component>
62-
-->
63-
<Component Id="swiftCRT.dll">
64-
<File Id="swiftCRT.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftCRT.dll" Checksum="yes" />
65-
</Component>
66-
<Component Id="swiftRegexBuilder.dll">
67-
<File Id="swiftRegexBuilder.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftRegexBuilder.dll" Checksum="yes" />
68-
</Component>
69-
<Component Id="swiftRemoteMirror.dll">
70-
<File Id="swiftRemoteMirror.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftRemoteMirror.dll" Checksum="yes" />
71-
</Component>
72-
<Component Id="swiftSwiftOnoneSupport.dll">
73-
<File Id="swiftSwiftOnoneSupport.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftSwiftOnoneSupport.dll" Checksum="yes" />
74-
</Component>
75-
<Component Id="swiftWinSDK.dll">
76-
<File Id="swiftWinSDK.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftWinSDK.dll" Checksum="yes" />
77-
</Component>
16+
<Directory Id="Runtimes" Name="Runtimes">
17+
<Directory Id="_" Name="$(var.ProductVersion)">
18+
<Directory Id="_usr" Name="usr">
19+
<Directory Id="_usr_bin" Name="bin">
20+
<Component Id="BlocksRuntime.dll">
21+
<File Id="BlocksRuntime.dll" Source="$(var.SDK_ROOT)\usr\bin\BlocksRuntime.dll" Checksum="yes" />
22+
</Component>
23+
<Component Id="dispatch.dll">
24+
<File Id="dispatch.dll" Source="$(var.SDK_ROOT)\usr\bin\dispatch.dll" Checksum="yes" />
25+
</Component>
26+
<Component Id="Foundation.dll">
27+
<File Id="Foundation.dll" Source="$(var.SDK_ROOT)\usr\bin\Foundation.dll" Checksum="yes" />
28+
</Component>
29+
<Component Id="FoundationNetworking.dll">
30+
<File Id="FoundationNetworking.dll" Source="$(var.SDK_ROOT)\usr\bin\FoundationNetworking.dll" Checksum="yes" />
31+
</Component>
32+
<Component Id="FoundationXML.dll">
33+
<File Id="FoundationXML.dll" Source="$(var.SDK_ROOT)\usr\bin\FoundationXML.dll" Checksum="yes" />
34+
</Component>
35+
<Component Id="swift_Concurrency.dll">
36+
<File Id="swift_Concurrency.dll" Source="$(var.SDK_ROOT)\usr\bin\swift_Concurrency.dll" Checksum="yes" />
37+
</Component>
38+
<Component Id="swift_Differentiation.dll">
39+
<File Id="swift_Differentiation.dll" Source="$(var.SDK_ROOT)\usr\bin\swift_Differentiation.dll" Checksum="yes" />
40+
</Component>
41+
<Component Id="swiftDistributed.dll">
42+
<File Id="swiftDistributed.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftDistributed.dll" Checksum="yes" />
43+
</Component>
44+
<Component Id="swift_RegexParser.dll">
45+
<File Id="swift_RegexParser.dll" Source="$(var.SDK_ROOT)\usr\bin\swift_RegexParser.dll" Checksum="yes" />
46+
</Component>
47+
<Component Id="swift_StringProcessing.dll">
48+
<File Id="swift_StringProcessing.dll" Source="$(var.SDK_ROOT)\usr\bin\swift_StringProcessing.dll" Checksum="yes" />
49+
</Component>
50+
<Component Id="swiftCore.dll">
51+
<File Id="swiftCore.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftCore.dll" Checksum="yes" />
52+
</Component>
53+
<Component Id="swiftCxx.dll">
54+
<File Id="swiftCxx.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftCxx.dll" Checksum="yes" />
55+
</Component>
56+
<Component Id="swiftDispatch.dll">
57+
<File Id="swiftDispatch.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftDispatch.dll" Checksum="yes" />
58+
</Component>
59+
<!--
60+
<Component Id="swiftDemangle.dll">
61+
<File Id="swiftDemangle.dll" Source="$(var.SDK_ROOT)\bin\swiftDemangle.dll" Checksum="yes" />
62+
</Component>
63+
-->
64+
<Component Id="swiftCRT.dll">
65+
<File Id="swiftCRT.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftCRT.dll" Checksum="yes" />
66+
</Component>
67+
<Component Id="swiftRegexBuilder.dll">
68+
<File Id="swiftRegexBuilder.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftRegexBuilder.dll" Checksum="yes" />
69+
</Component>
70+
<Component Id="swiftRemoteMirror.dll">
71+
<File Id="swiftRemoteMirror.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftRemoteMirror.dll" Checksum="yes" />
72+
</Component>
73+
<Component Id="swiftSwiftOnoneSupport.dll">
74+
<File Id="swiftSwiftOnoneSupport.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftSwiftOnoneSupport.dll" Checksum="yes" />
75+
</Component>
76+
<Component Id="swiftWinSDK.dll">
77+
<File Id="swiftWinSDK.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftWinSDK.dll" Checksum="yes" />
78+
</Component>
7879

79-
<Component Id="plutil.exe">
80-
<File Id="plutil.exe" Source="$(var.SDK_ROOT)\usr\bin\plutil.exe" Checksum="yes" />
81-
</Component>
80+
<Component Id="plutil.exe">
81+
<File Id="plutil.exe" Source="$(var.SDK_ROOT)\usr\bin\plutil.exe" Checksum="yes" />
82+
</Component>
83+
</Directory>
8284
</Directory>
8385
</Directory>
8486
</Directory>
8587

8688
<Component Id="EnvironmentVariables" Guid="8681d813-eb32-46f9-8b1c-f622b38b5eaf">
87-
<Environment Id="Path" Action="set" Name="Path" Part="last" Permanent="no" System="yes" Value="[INSTALLDIR]$(var.RuntimeName)\usr\bin" />
89+
<Environment Id="Path" Action="set" Name="Path" Part="last" Permanent="no" System="yes" Value="[INSTALLDIR]Runtimes\$(var.ProductVersion)\usr\bin" />
8890
</Component>
8991
</Directory>
9092
</StandardDirectory>

platforms/Windows/version.wxi

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
<?xml version='1.0' encoding='utf-8'?>
22

33
<Include>
4-
<?if $(var.ProductVersion) = "0.0.0"?>
5-
<?define RuntimeName = "runtime-development"?>
6-
<?else?>
7-
<?define RuntimeName = "runtime-$(var.ProductVersion)"?>
8-
<?endif?>
9-
104
<?if $(var.ProductArchitecture) = "amd64"?>
115
<?define ProcessorArchitecture = "AMD64"?>
126
<?elseif $(var.ProductArchitecture) = "arm64"?>

0 commit comments

Comments
 (0)