Skip to content

Commit f167764

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 84aad54 commit f167764

File tree

2 files changed

+65
-69
lines changed

2 files changed

+65
-69
lines changed

platforms/Windows/runtime.wxs

Lines changed: 65 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -13,75 +13,77 @@
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="swiftRemoteMirror.dll">
67-
<File Id="swiftRemoteMirror.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftRemoteMirror.dll" Checksum="yes" />
68-
</Component>
69-
<Component Id="swiftSwiftOnoneSupport.dll">
70-
<File Id="swiftSwiftOnoneSupport.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftSwiftOnoneSupport.dll" Checksum="yes" />
71-
</Component>
72-
<Component Id="swiftWinSDK.dll">
73-
<File Id="swiftWinSDK.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftWinSDK.dll" Checksum="yes" />
74-
</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="swiftRemoteMirror.dll">
68+
<File Id="swiftRemoteMirror.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftRemoteMirror.dll" Checksum="yes" />
69+
</Component>
70+
<Component Id="swiftSwiftOnoneSupport.dll">
71+
<File Id="swiftSwiftOnoneSupport.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftSwiftOnoneSupport.dll" Checksum="yes" />
72+
</Component>
73+
<Component Id="swiftWinSDK.dll">
74+
<File Id="swiftWinSDK.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftWinSDK.dll" Checksum="yes" />
75+
</Component>
7576

76-
<Component Id="plutil.exe">
77-
<File Id="plutil.exe" Source="$(var.SDK_ROOT)\usr\bin\plutil.exe" Checksum="yes" />
78-
</Component>
77+
<Component Id="plutil.exe">
78+
<File Id="plutil.exe" Source="$(var.SDK_ROOT)\usr\bin\plutil.exe" Checksum="yes" />
79+
</Component>
80+
</Directory>
7981
</Directory>
8082
</Directory>
8183
</Directory>
8284

8385
<Component Id="EnvironmentVariables" Guid="8681d813-eb32-46f9-8b1c-f622b38b5eaf">
84-
<Environment Id="Path" Action="set" Name="Path" Part="last" Permanent="no" System="yes" Value="[INSTALLDIR]$(var.RuntimeName)\usr\bin" />
86+
<Environment Id="Path" Action="set" Name="Path" Part="last" Permanent="no" System="yes" Value="[INSTALLDIR]Runtimes\$(var.ProductVersion)\usr\bin" />
8587
</Component>
8688
</Directory>
8789
</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)