Skip to content

Install the VC++ redistributable as part of the Swift toolchain installer #250

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 2 commits into from
Oct 14, 2023
Merged

Install the VC++ redistributable as part of the Swift toolchain installer #250

merged 2 commits into from
Oct 14, 2023

Conversation

tristanlabelle
Copy link
Contributor

@tristanlabelle tristanlabelle commented Oct 13, 2023

Packages the VC++ redistributable and installs it as part of the toolchain install on Windows, since this is a dependency. Note that this will pop a UAC prompt because that installer is per-machine.

This is the Microsoft-recommended approach: run the vcredist installer to install it globally (which makes it serviceable by microsoft), and don't uninstall it when uninstalling the toolchain since other apps may depend on it.

This requires build script changes to take effect, but is backwards compatible with build scripts that don't specify the new properties.

I consciously departed from ALL_CAPS naming of properties because the MSBuild standard is PascalCase and the logic in installer.wixproj was looking really ugly otherwise.

How tested:

Built with and without build script changes, uninstalled the VC runtime, installed the Swift toolchain, and verified that the VC runtime was installed in Add/Remove programs:

image
image

@compnerd
Copy link
Member

All uppercase names are public properties, the pascal case variables are private.

@compnerd
Copy link
Member

@compnerd compnerd merged commit c1e4ee6 into swiftlang:main Oct 14, 2023
@compnerd
Copy link
Member

We should backport this to 5.10

@compnerd
Copy link
Member

#251

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants