Skip to content

Commit cfa04fe

Browse files
committed
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).
1 parent 73052f4 commit cfa04fe

File tree

1 file changed

+91
-88
lines changed

1 file changed

+91
-88
lines changed

platforms/Windows/runtime.wxs

Lines changed: 91 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -6,112 +6,115 @@
66
Name="Swift Windows Runtime ($(var.ProcessorArchitecture))"
77
UpgradeCode="bea8c6dc-f73e-445b-9486-2333d1cf2886"
88
Version="$(var.ProductVersion)"
9-
Scope="perMachine">
9+
Scope="perUserOrMachine">
1010
<SummaryInformation Description="Swift Windows Runtime ($(var.ProcessorArchitecture))" />
1111

12-
<Media Id="1" Cabinet="runtime.cab" EmbedCab="yes" />
12+
<Media Id="1" Cabinet="runtime.cab" EmbedCab="yes" CompressionLevel="high" />
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>
75-
76-
<Component Id="plutil.exe">
77-
<File Id="plutil.exe" Source="$(var.SDK_ROOT)\usr\bin\plutil.exe" Checksum="yes" />
78-
</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+
</Directory>
7921
</Directory>
8022
</Directory>
8123
</Directory>
82-
83-
<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" />
85-
</Component>
8624
</Directory>
8725
</StandardDirectory>
8826

27+
<ComponentGroup Id="stdlib">
28+
<Component Directory="_usr_bin" Id="swift_Concurrency.dll">
29+
<File Id="swift_Concurrency.dll" Source="$(var.SDK_ROOT)\usr\bin\swift_Concurrency.dll" Checksum="yes" KeyPath="yes" />
30+
</Component>
31+
<Component Directory="_usr_bin" Id="swift_Differentiation.dll">
32+
<File Id="swift_Differentiation.dll" Source="$(var.SDK_ROOT)\usr\bin\swift_Differentiation.dll" Checksum="yes" KeyPath="yes" />
33+
</Component>
34+
<Component Directory="_usr_bin" Id="swiftDistributed.dll">
35+
<File Id="swiftDistributed.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftDistributed.dll" Checksum="yes" KeyPath="yes" />
36+
</Component>
37+
<Component Directory="_usr_bin" Id="swift_RegexParser.dll">
38+
<File Id="swift_RegexParser.dll" Source="$(var.SDK_ROOT)\usr\bin\swift_RegexParser.dll" Checksum="yes" KeyPath="yes" />
39+
</Component>
40+
<Component Directory="_usr_bin" Id="swift_StringProcessing.dll">
41+
<File Id="swift_StringProcessing.dll" Source="$(var.SDK_ROOT)\usr\bin\swift_StringProcessing.dll" Checksum="yes" KeyPath="yes" />
42+
</Component>
43+
<Component Directory="_usr_bin" Id="swiftCore.dll">
44+
<File Id="swiftCore.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftCore.dll" Checksum="yes" KeyPath="yes" />
45+
</Component>
46+
<Component Directory="_usr_bin" Id="swiftCxx.dll">
47+
<File Id="swiftCxx.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftCxx.dll" Checksum="yes" KeyPath="yes" />
48+
</Component>
49+
50+
<!-- TODO(compnerd) should we distribute the undecoration library in the SDK?
51+
<Component Directory="_usr_bin" Id="swiftDemangle.dll">
52+
<File Id="swiftDemangle.dll" Source="$(var.SDK_ROOT)\bin\swiftDemangle.dll" Checksum="yes" />
53+
</Component>
54+
-->
55+
<Component Directory="_usr_bin" Id="swiftCRT.dll">
56+
<File Id="swiftCRT.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftCRT.dll" Checksum="yes" KeyPath="yes" />
57+
</Component>
58+
<Component Directory="_usr_bin" Id="swiftRemoteMirror.dll">
59+
<File Id="swiftRemoteMirror.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftRemoteMirror.dll" Checksum="yes" KeyPath="yes" />
60+
</Component>
61+
<Component Directory="_usr_bin" Id="swiftSwiftOnoneSupport.dll">
62+
<File Id="swiftSwiftOnoneSupport.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftSwiftOnoneSupport.dll" Checksum="yes" KeyPath="yes" />
63+
</Component>
64+
<Component Directory="_usr_bin" Id="swiftWinSDK.dll">
65+
<File Id="swiftWinSDK.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftWinSDK.dll" Checksum="yes" KeyPath="yes" />
66+
</Component>
67+
</ComponentGroup>
68+
69+
<ComponentGroup Id="BlocksRuntime">
70+
<Component Directory="_usr_bin" Id="BlocksRuntime.dll">
71+
<File Id="BlocksRuntime.dll" Source="$(var.SDK_ROOT)\usr\bin\BlocksRuntime.dll" Checksum="yes" KeyPath="yes" />
72+
</Component>
73+
</ComponentGroup>
74+
75+
<ComponentGroup Id="libdispatch">
76+
<Component Directory="_usr_bin" Id="dispatch.dll">
77+
<File Id="dispatch.dll" Source="$(var.SDK_ROOT)\usr\bin\dispatch.dll" Checksum="yes" KeyPath="yes" />
78+
</Component>
79+
<Component Directory="_usr_bin" Id="swiftDispatch.dll">
80+
<File Id="swiftDispatch.dll" Source="$(var.SDK_ROOT)\usr\bin\swiftDispatch.dll" Checksum="yes" KeyPath="yes" />
81+
</Component>
82+
</ComponentGroup>
83+
84+
<ComponentGroup Id="Foundation">
85+
<Component Directory="_usr_bin" Id="Foundation.dll">
86+
<File Id="Foundation.dll" Source="$(var.SDK_ROOT)\usr\bin\Foundation.dll" Checksum="yes" KeyPath="yes" />
87+
</Component>
88+
<Component Directory="_usr_bin" Id="FoundationNetworking.dll">
89+
<File Id="FoundationNetworking.dll" Source="$(var.SDK_ROOT)\usr\bin\FoundationNetworking.dll" Checksum="yes" KeyPath="yes" />
90+
</Component>
91+
<Component Directory="_usr_bin" Id="FoundationXML.dll">
92+
<File Id="FoundationXML.dll" Source="$(var.SDK_ROOT)\usr\bin\FoundationXML.dll" Checksum="yes" KeyPath="yes" />
93+
</Component>
94+
</ComponentGroup>
95+
96+
<ComponentGroup Id="plutil">
97+
<Component Directory="_usr_bin" Id="plutil.exe">
98+
<File Id="plutil.exe" Source="$(var.SDK_ROOT)\usr\bin\plutil.exe" Checksum="yes" KeyPath="yes" />
99+
</Component>
100+
</ComponentGroup>
101+
102+
<Component Directory="INSTALLDIR" Id="EnvironmentVariables" Guid="8681d813-eb32-46f9-8b1c-f622b38b5eaf">
103+
<Environment Id="Path" Action="set" Name="Path" Part="last" Permanent="no" System="yes" Value="[INSTALLDIR]Runtimes\$(var.ProductVersion)\usr\bin" />
104+
</Component>
105+
89106
<!-- Feature -->
90107
<Feature Id="SwiftRuntime" AllowAbsent="no" AllowAdvertise="yes" ConfigurableDirectory="INSTALLDIR" Description="Swift Windows Runtime ($(var.ProcessorArchitecture))" Level="1" Title="Swift Windows Runtime ($(var.ProcessorArchitecture))">
91-
<ComponentRef Id="BlocksRuntime.dll" />
92-
<ComponentRef Id="dispatch.dll" />
93-
<ComponentRef Id="Foundation.dll" />
94-
<ComponentRef Id="FoundationNetworking.dll" />
95-
<ComponentRef Id="FoundationXML.dll" />
96-
<ComponentRef Id="swift_Concurrency.dll" />
97-
<ComponentRef Id="swift_Differentiation.dll" />
98-
<ComponentRef Id="swift_RegexParser.dll" />
99-
<ComponentRef Id="swift_StringProcessing.dll" />
100-
<ComponentRef Id="swiftCore.dll" />
101-
<ComponentRef Id="swiftCxx.dll" />
102-
<ComponentRef Id="swiftCRT.dll" />
103-
<!-- <ComponentRef Id="swiftDemangle.dll" /> -->
104-
<ComponentRef Id="swiftDispatch.dll" />
105-
<ComponentRef Id="swiftDistributed.dll" />
106-
<ComponentRef Id="swiftRemoteMirror.dll" />
107-
<ComponentRef Id="swiftSwiftOnoneSupport.dll" />
108-
<ComponentRef Id="swiftWinSDK.dll" />
108+
<ComponentGroupRef Id="stdlib" />
109+
<ComponentGroupRef Id="BlocksRuntime" />
110+
<ComponentGroupRef Id="libdispatch" />
111+
<ComponentGroupRef Id="Foundation" />
109112

110113
<ComponentRef Id="EnvironmentVariables" />
111114
</Feature>
112115

113116
<Feature Id="SwiftUtilities" AllowAbsent="yes" AllowAdvertise="yes" Description="Extra Swift Utilities Windows ($(var.ProcessorArchitecture))" Level="1" Title="Swift Utilities Windows ($(var.ProcessorArchitecture))">
114-
<ComponentRef Id="plutil.exe" />
117+
<ComponentGroupRef Id="plutil" />
115118
</Feature>
116119

117120
<UI>

0 commit comments

Comments
 (0)