Calinou / scoop-games

Scoop bucket for open source/freeware games and game-related tools
Creative Commons Zero v1.0 Universal
293 stars 154 forks source link

[Bug]: Prism Launcher: config files are not persisted correctly #1258

Open TayouVR opened 3 weeks ago

TayouVR commented 3 weeks ago

Prerequisites

Package Name

prismlauncher

Expected/Current Behaviour

In https://github.com/Calinou/scoop-games/pull/1171 the files prismlauncher.cfg and accounts.json got removed fro mthe built-in persist list in favor of a custom script. I am not sure why, but this custom script hardlinks the files in question upon initial install as far as I can see. It doesn't update the links when updating the package afterwards. Going from 8.4 to 9.0 and 9.1 means the config and accounts aren't there and the launcher needs to create new files.

upstream report: https://github.com/PrismLauncher/PrismLauncher/issues/3026

Steps to Reproduce

1. `scoop install prismlauncher@8.4` (any older version should be able to replicate the flawed behaviour)
2. run prismlauncher, add a account and download a instance
3. `scoop update prismlauncher` (shouldn't matter from which version to which as long as its after https://github.com/Calinou/scoop-games/pull/1171)
4. observe the following files not being symlinked to the /current folder, but only to the old one (see upstream issue for more details):

381263456-d7e62871-2415-4590-b12b-e0ffa80e91ac

Possible Solution

I am not sure what the problem with those 3 files/folders was before the mentioned PR, but its way of persisting doesn't seem to work.

I don't currently have a working solution.

Scoop and Buckets Version

 tayou     20s273ms  scoop --version
Current Scoop version:
859d1db5 (HEAD -> master, tag: v0.5.2, origin/master, origin/HEAD) chore(release): Bump to version 0.5.2 (#6080)

'main' bucket:
c163902f2 (HEAD -> master, origin/master, origin/HEAD) deno: Update to version 2.0.4

'extras' bucket:
1df503b01 (HEAD -> master, origin/master, origin/HEAD) shotcut: Update to version 24.10.29

'versions' bucket:
1695f3e15 (HEAD -> master, origin/master, origin/HEAD) vlc-nightly-ucrt-llvm: Update to version 20241030

'nirsoft' bucket:
5e6ec68 (HEAD -> master, origin/master, origin/HEAD) Update url list [ci skip]

'nerd-fonts' bucket:
bda452fd (HEAD -> master, origin/master, origin/HEAD) LXGWNeoZhiSong: Update to version 1.021

'nonportable' bucket:
162dd080 (HEAD -> master, origin/master, origin/HEAD) nodejs-lts-np: Update to version 22.11.0

'java' bucket:
ef9e6cb6 (HEAD -> master, origin/master, origin/HEAD) openjdk-ea: Update to version 24-21-ea

'games' bucket:
53fb7e972 (HEAD -> master, origin/master, origin/HEAD) vita3k: Update to version 3671-9143a14

'.SM' bucket:
65ab920181 (HEAD -> master, origin/master, origin/HEAD) Update timestamp 2024-09-18T23:52:50Z

'anderlli0053_DEV-tools' bucket:
efdd967d8b (HEAD -> master, origin/master, origin/HEAD) bun-canary: Update to version 1.1.34-canary.29+9f70f68f0

'AnotherFoxGuy_scoop-bucket' bucket:
ed5b76f (HEAD -> master, origin/master, origin/HEAD) :arrow_up: Updated apps

'cesaryuan_scoop-cesar' bucket:
2a4dc88 (HEAD -> master, origin/master, origin/HEAD) comfy-ui-manager: Update to version 294244b99fc3350d5f0de56585051e4fca063b1a

'galaxy-integrations' bucket:
c8b3116 (HEAD -> master, origin/master, origin/HEAD) galaxy-3ds-citra: Update to version fb69f8d

'hoilc_scoop-lemon' bucket:
808d87c75 (HEAD -> master, origin/master, origin/HEAD) zotero-beta: Update to version 7.0.9-beta.5

'jcwillox_scoop-bucket' bucket:
aca405a (HEAD -> master, origin/master, origin/HEAD) nms-save-editor: Update to version 1.17.7

'nicerloop_scoop-nicerloop' bucket:
8c389fc (HEAD -> master, origin/master, origin/HEAD) sourcegit: Update to version 8.36

Scoop Config

 tayou     1s320ms  scoop config

alias                 : @{gui=scoop-gui}
last_update           : 2024-10-30T08:04:25.6909530+01:00
aria2-enabled         : True
shim                  : 71
scoop_branch          : master
scoop_repo            : https://github.com/ScoopInstaller/Scoop
aria2-warning-enabled : False

PowerShell Version

 tayou     40ms  $PSVersionTable

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

Additional Softwares

No response

ShadowCreator250 commented 3 weeks ago

I just installed the update to 9.1 and noticed some red in my PowerShell. I think it's related to this bug. Here is my log:

Updating 'prismlauncher' (8.4 -> 9.1)
Downloading new version
Starting download with aria2 ...
Download: Download Results:
Download: gid   |stat|avg speed  |path/URI
Download: ======+====+===========+=======================================================
Download: 85c636|OK  |   3.5MiB/s|~/scoop/cache/prismlauncher#9.1#1a02a9e.zip
Download: Status Legend:
Download: (OK):download completed.
Checking hash of PrismLauncher-Windows-MSVC-Portable-9.1.zip ... ok.
Uninstalling 'prismlauncher' (8.4)
Removing shim 'prismlauncher.shim'.
Removing shim 'prismlauncher.exe'.
Unlinking ~\scoop\apps\prismlauncher\current
Installing 'prismlauncher' (9.1) [64bit] from 'games' bucket
Loading PrismLauncher-Windows-MSVC-Portable-9.1.zip from cache.
Extracting PrismLauncher-Windows-MSVC-Portable-9.1.zip ... done.
Running pre_install script...New-Item : Für diesen Vorgang sind Administratorrechte erforderlich.
In Zeile:18 Zeichen:5
+     New-Item -Type SymbolicLink -Value $persist_dir/$_ -Path $dir/$_  ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (C:\Users\...r\accounts.json:String) [New-Item], UnauthorizedAccessException
    + FullyQualifiedErrorId : NewItemSymbolicLinkElevationRequired,Microsoft.PowerShell.Commands.NewItemCommand

New-Item : Für diesen Vorgang sind Administratorrechte erforderlich.
In Zeile:18 Zeichen:5
+     New-Item -Type SymbolicLink -Value $persist_dir/$_ -Path $dir/$_  ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (C:\Users\...ncher\metacache:String) [New-Item], UnauthorizedAccessException
    + FullyQualifiedErrorId : NewItemSymbolicLinkElevationRequired,Microsoft.PowerShell.Commands.NewItemCommand

New-Item : Für diesen Vorgang sind Administratorrechte erforderlich.
In Zeile:18 Zeichen:5
+     New-Item -Type SymbolicLink -Value $persist_dir/$_ -Path $dir/$_  ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (C:\Users\...ismlauncher.cfg:String) [New-Item], UnauthorizedAccessException
    + FullyQualifiedErrorId : NewItemSymbolicLinkElevationRequired,Microsoft.PowerShell.Commands.NewItemCommand

done.
Linking ~\scoop\apps\prismlauncher\current => ~\scoop\apps\prismlauncher\9.1
Creating shim for 'prismlauncher'.
Making ~\scoop\shims\prismlauncher.exe a GUI binary.
Creating shortcut for Prism Launcher (prismlauncher.exe)
Persisting assets
Persisting cache
Persisting catpacks
Persisting icons
Persisting iconthemes
Persisting instances
Persisting libraries
Persisting logs
Persisting meta
Persisting mods
Persisting themes
Persisting translations
Running post_install script...done.
'prismlauncher' (9.1) was installed successfully!

I stripped out some personal details (username) I'm sorry it's in German. But basically: it wants to create new symbolic links, but it needs admin access for that.

Calinou commented 3 weeks ago

scoop install --global prismlauncher might work for now, as it always uses administrator access during the installation process.