Skip to content

Install the Visual C++ Redistributable before the Swift toolchain on Windows - #343

Draft
FranzBusch wants to merge 1 commit into
mainfrom
fb-install-vsb
Draft

FranzBusch wants to merge 1 commit into
mainfrom
fb-install-vsb

Conversation

@FranzBusch

Copy link
Copy Markdown
Member

On a hosted Windows runner, a nightly toolchain installed successfully and then swift.exe would not start: "The application has failed to start because its side-by-side configuration is incorrect". That error means a Visual C++ runtime the program was built against is missing, and the runner image can carry an older one than a current toolchain needs. It fails the same way in swift_package_test.yml and package_test.yml, since both install through Install-Swift.

Install-Swift now installs the latest Visual C++ Redistributable for the machine's architecture first. The link follows the latest release, so there is no hash to check, and the installer must instead carry a valid Microsoft signature. A newer runtime already being present, or a pending restart, is not an error.

…Windows

On a hosted Windows runner, a nightly toolchain installed successfully and then `swift.exe` would not start: "The application has failed to start because its side-by-side configuration is incorrect". That error means a Visual C++ runtime the program was built against is missing, and the runner image can carry an older one than a current toolchain needs. It fails the same way in `swift_package_test.yml` and `package_test.yml`, since both install through `Install-Swift`.

`Install-Swift` now installs the latest Visual C++ Redistributable for the machine's architecture first. The link follows the latest release, so there is no hash to check, and the installer must instead carry a valid Microsoft signature. A newer runtime already being present, or a pending restart, is not an error.
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.

1 participant