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
[Package Issue]: Piriform.CCleaner
- Manual installation being converted to Piriform.CCleaner.ProTrial
#150484
Comments
This is related to #103664, but the original author does not want to re-open the issue. #103664 (comment) |
For a moment I thought this might have just been cosmetic because Manual UpdateEven though > winget download Piriform.CCleaner --version 6.22
Found CCleaner [Piriform.CCleaner] Version 6.22
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://download.ccleaner.com/ccsetup622.exe
██████████████████████████████ 79.5 MB / 79.5 MB
Successfully verified installer hash
Installer downloaded: C:\Users\Sandy\Downloads\Piriform.CCleaner_6.22\CCleaner_6.22_Machine_X64_nullsoft_en-US.exe > winget list -q ccleaner
Name Id Version Available Source
----------------------------------------------------------------------
CCleaner Piriform.CCleaner.ProTrial < 6.23.0.11010 6.23.0.11010 winget > winget update
Name Id Version Available Source
----------------------------------------------------------------------
CCleaner Piriform.CCleaner.ProTrial < 6.23.0.11010 6.23.0.11010 winget
1 upgrades available. > winget update Piriform.CCleaner
Found CCleaner [Piriform.CCleaner] Version 6.23
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://download.ccleaner.com/ccsetup623.exe
██████████████████████████████ 79.7 MB / 79.7 MB
Successfully verified installer hash
Starting package install...
Successfully installed > winget list -q ccleaner
Name Id Version Source
------------------------------------------
CCleaner Piriform.CCleaner 6.23 winget winget download Piriform.CCleaner --version 6.22.log Automatic/Recursive UpdateWhen you use > winget download Piriform.CCleaner --version 6.22
Found CCleaner [Piriform.CCleaner] Version 6.22
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://download.ccleaner.com/ccsetup622.exe
██████████████████████████████ 79.5 MB / 79.5 MB
Successfully verified installer hash
Installer downloaded: C:\Users\Sandy\Downloads\Piriform.CCleaner_6.22\CCleaner_6.22_Machine_X64_nullsoft_en-US.exe > winget list -q ccleaner
Name Id Version Available Source
----------------------------------------------------------------------
CCleaner Piriform.CCleaner.ProTrial < 6.23.0.11010 6.23.0.11010 winget > winget update
Name Id Version Available Source
----------------------------------------------------------------------
CCleaner Piriform.CCleaner.ProTrial < 6.23.0.11010 6.23.0.11010 winget
1 upgrades available. > winget update --all
Name Id Version Available Source
----------------------------------------------------------------------
CCleaner Piriform.CCleaner.ProTrial < 6.23.0.11010 6.23.0.11010 winget
1 upgrades available.
(1/1) Found CCleaner Professional Trial [Piriform.CCleaner.ProTrial] Version 6.23.0.11010
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://download.ccleaner.com/cctrialsetup.exe
██████████████████████████████ 79.4 MB / 79.4 MB
Successfully verified installer hash
Starting package install...
Successfully installed > winget list -q ccleaner
Name Id Version Source
--------------------------------------------------------
CCleaner Piriform.CCleaner.ProTrial 6.23.0.11010 winget winget download Piriform.CCleaner --version 6.22.log |
I believe the installers use the same ARP entries, which is causing the issue?
I'm unsure if/how this can be resolved in the individual packages. |
@mdanish-kh - I'm away from my PC this week, but perhaps this is a case where InstalltionMetadata and using the file hash might help? |
@Trenly, I just compared the installations in a VM. The difference between Note that I am not familiar with InstallationMetadata:
DefaultInstallLocation: "%ProgramFiles%\\CCleaner"
Files:
- RelativeFilePath: "branding.dll"
FileSha256: 5208D07AA3B05D7EA34653C5EB4EBB1A1C992D12F9F125D0E1022FE5968595E4 Would something else have to be done to |
That looks right, but I would also add the I beleive the I'm still trying to work out the details of exactly how |
@aisgbnok Are you planning to make this into a PR? |
Please confirm these before moving forward
Category of the issue
Other
Brief description of your issue
When installing CCleaner Free (Piriform.CCleaner) manually, Winget will attempt to update/convert the package to Piriform.CCleaner.ProTrial when a higher version number is available.
I believe this is because, while
Piriform.CCleaner
andPiriform.CCleaner.ProTrial
use different installers, they both write the same ARP entries.Steps to reproduce
Piriform.CCleaner
.In this case,
6.22
.Run the downloaded installer: follow interactive prompts, or use
/S
for silent.Because we downloaded/installed the previous version, we should find a new version of
Piriform.CCleaner
. In this case,6.23
.Piriform.CCleaner.ProTrial
package.Example:
Note
This is not the case if you install using Winget. Only manual installations have the issue.
WinGet-InstallOld.log
WinGet-UpdateCorrect.log
Working correctly using winget install and update. No manual install.
Actual behavior
Winget is mistaking
Piriform.CCleaner
andPiriform.CCleaner.ProTrial
when installed manually.I have only noticed believing
Piriform.CCleaner
isPiriform.CCleaner.ProTrial
, not the reverse. However, I have not done any testing for the reverse, so I cannot rule that out.Expected behavior
Winget should be able to differentiate between
Piriform.CCleaner
andPiriform.CCleaner.ProTrial
when they are manually installed outside of winget. Specifically, winget should update6.22
Piriform.CCleaner
to6.23
Piriform.CCleaner
, NOT update/convert to6.23.0.11010
Piriform.CCleaner.ProTrial
.Environment
Screenshots and Logs
No response
The text was updated successfully, but these errors were encountered: