Skip to content
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

Installation package handling - specify proper standard for Windows install packages #2136

Open
tapika opened this issue Oct 17, 2020 · 1 comment

Comments

@tapika
Copy link

tapika commented Oct 17, 2020

At the moment .msi or any other install packages are handled through

chocolatey\infrastructure.app\services\RegistryService.cs / get_installer_keys function which basically scans through all registry keys SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall after installation.

Some of registry structure is designed indeed from installation perspective, like you have a lot of useful data like
DisplayName, InstallLocation - but not suited for choco requirements - choco misses such information as Package id, and version as well.

From Microsoft documentation perspective - see https://docs.microsoft.com/en-us/windows/win32/msi/uninstall-registry-key
all versions uses only 3 digits, not 4.

But Microsoft never disallowed to extend their registry format.

You can create whatever keys / values in registry.

I would propose to create chocolatey official standard on registry keys.

PackageId would specify string tag for package id.
PackageVersion would specify chocolatey package version. (Which will be full 4 digits)

Using this kind of approach would obsolete the need of chocolateyuninstall.ps1 power shell script, and would also allow choco to operate purely on registry, without need to have local chocolatey installations.

@tapika
Copy link
Author

tapika commented Oct 17, 2020

This will solve this problem:
#762

As chocolatey will detect installation based on what is in registry, not what is on file system in chocolatey folder.

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

No branches or pull requests

1 participant