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
Add a ProviderKey to the installer bundle #73032
Comments
Currently the installer bundles for 3.5 and later have an automatically generated dependency provider key. This makes it difficult for other installers to correctly depend on the bundle. For example, Visual Studio 2017 has an option to install CPython 3.5, but it cannot accurately determine when it is already installed, which may lead to Python being uninstalled unexpectedly. This is the purpose of the provider key - to provide a reliable key by which to reference the bundle. For 3.5.2 and earlier, the key is a GUID that changes each release, but really the key should be stable for each version that cannot be installed side-by-side. The change is to Tools/msi/bundle/bundle.wxs and adds the last attribute to this element: <Bundle Name="!(loc.FullProductName)" This will produce keys like "CPython-3.5", "CPython-3.5-32", "CPython-3.5-test" and "CPython-3.5-32-test" (the "-test" suffixed installers are never released, but may be produced by Tools/msi/build.bat). I haven't tested it yet, but I believe this change will also fix a minor issue where the web and non-web installers conflict, even when the versions match. Since it is important this metadata be consistent throughout the lifetime of a release, I'd like to get the change into Python 3.6.0rc1 after I've spent the time testing it. Ned - your thoughts? |
Sounds good to me. |
New changeset 68530c0a1487 by Steve Dower in branch '3.5': New changeset 5171bd86a36f by Steve Dower in branch '3.6': New changeset 014f52fe1da1 by Steve Dower in branch 'default': |
This bloated into a couple of extra build/installer fixes, including *finally* fixing the sys._mercurial bug (I hope). I can also now merge fairly cleanly between 3.5 and 3.6 again, so I'm happy for a while :) |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: