ScoopInstaller / Extras

📦 The Extras bucket for Scoop.
https://scoop.sh
The Unlicense
1.74k stars 1.31k forks source link

[Bug]: Speedfan 4.52 installs to wrong location and won't uninstall #10322

Open pjeby opened 1 year ago

pjeby commented 1 year ago

Prerequisites

Package Name

speedfan

Expected/Current Behaviour

I expected a silent portable installation of speedfan, but got a global, not-silent install (in "Program Files (x86)") and a "Can't shim 'speedfan.exe': File doesn't exist." error. The install is marked as failed, but speedfan works. Uninstalling removes the useless bits from scoop\apps\speedfan, but actually uninstalling speedfan requires the use of Programs and Features.

It appears that the speedfan452.exe installer does not accept the command line arguments it's given.

Steps to Reproduce

PS C:\Users\xxx> scoop install speedfan
Installing 'speedfan' (4.52) [64bit] from extras bucket
Loading speedfan452.exe from cache
Checking hash of speedfan452.exe ... ok.
Running pre_install script...

[ at this point, an interactive installer appears, prompting to install to Program Files (x86) ]

Linking ~\scoop\apps\speedfan\current => ~\scoop\apps\speedfan\4.52
Creating shim for 'speedfan'.
Can't shim 'speedfan.exe': File doesn't exist.
PS C:\Users\xxx>

Possible Solution

Presumably the issue is that the installer needs some changes to the command line, but I don't know what they'd be. Alternately, the issue might be that running the installer as a pre-install script is bypassing installer detection? Don't know enough about how that works to speculate, thoguh.

Scoop and Buckets Version

Current Scoop version:
v0.3.1 - Released at 2022-11-15

'extras' bucket:
9665b1011 (HEAD -> master, origin/master, origin/HEAD) tailscale: Update to version 1.36.0

'main' bucket:
7382613dc (HEAD -> master, origin/master, origin/HEAD) winget-ps: Add version 1.4.10173 (#4381)

Scoop Config

last_update                       scoop_branch scoop_repo
-----------                       ------------ ----------
2023-01-25T06:28:14.4874334-05:00 master       https://github.com/ScoopInstaller/Scoop

PowerShell Version

Name                           Value
----                           -----
PSVersion                      5.1.19041.2364
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.2364
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

Additional Softwares

No response

HUMORCE commented 1 year ago

Bug of function Invoke-ExternalCommand. if you execute the same command via PowerShell Core(e.g. 7.2.8), it works as expected. Related: https://github.com/ScoopInstaller/Scoop/issues/5231

BTW, This manifest should be moved to nonportable bucket.