Skip to content

Conversation

@SorYoshino
Copy link
Contributor

@SorYoshino SorYoshino commented Jan 3, 2026

Summary

Refines the modern7z manifest to improve metadata quality and significantly harden codec-installation logic by resolving the actual 7z.exe location and managing the Codecs directory directly.

Related issues or pull requests

Changes

  • Rewrite description for precision and technical completeness
  • Add structured license field with identifier and terms-of-use URL
  • Rework architecture handling:
    • unify content layout by copying architecture-specific payload to root
    • remove residual 32/64 directories after deployment
  • Reimplement installer.script to:
    • resolve 7z.exe path dynamically
    • ensure existence of the Codecs directory
    • copy codec binaries safely while excluding manifest files
  • Reimplement uninstaller.script to:
    • locate the active 7z.exe
    • remove only plugin files installed by this manifest
  • Remove deprecated junction-based logic and reliance on persistdir

Notes

  • Using the persistdir function is only applicable when 7-Zip is installed via Scoop and cannot accommodate scenarios where users enable use_external_7zip. Moreover, the installation location depends on the installation path of 7-Zip, meaning that the value of $global must be consistent at installation time.
  • In addition, when using scoop which 7z, if 7z cannot be found through the Path environment variable, it will unavoidably output: '7z' not found, not a scoop shim, or a broken shim.
  • Neither of these approaches is optimal. This pull request resolves the above issues by using Get-CommandPath -Command '7z.exe'.

https://github.com/ScoopInstaller/Extras/blob/058e9652b53bb7d361620ed10cf0a26ed64c0ec7/bucket/asar7z.json#L8-L13

Testing

The test results are as follows:
┏[ ~]
└─> 7z i

7-Zip 25.01 (x64) : Copyright (c) 1999-2025 Igor Pavlov : 2025-08-03

Libs:
 0 : 25.01 : D:\Software\Scoop\Local\apps\7zip\current\7z.dll

┏[ ~]
└─> scoop install Unofficial/modern7z
Installing 'modern7z' (1.9.2) [64bit] from 'Unofficial' bucket
Loading Modern7z.zip from cache.
Checking hash of Modern7z.zip ... ok.
Extracting Modern7z.zip ... done.
Running pre_install script...done.
Running installer script...done.
Linking D:\Software\Scoop\Local\apps\modern7z\current => D:\Software\Scoop\Local\apps\modern7z\1.9.2
'modern7z' (1.9.2) was installed successfully!

┏[ 01/03/2026 @ 8:14:37 PM CST][ Zertw ::  ASUS][ RAM: 10/15GB][ 95][ 0.613s]
┣[ ~]
└─> 7z i

7-Zip 25.01 (x64) : Copyright (c) 1999-2025 Igor Pavlov : 2025-08-03

Libs:
 0 : 25.01 : D:\Software\Scoop\Local\apps\7zip\current\7z.dll
 1 : 0.00 : D:\Software\Scoop\Local\apps\7zip\current\Codecs\Modern7z.64.dll

┏[ ~]
└─> scoop uninstall modern7z
Uninstalling 'modern7z' (1.9.2).
Running uninstaller script...done.
Unlinking D:\Software\Scoop\Local\apps\modern7z\current
'modern7z' was uninstalled.

┏[ ~]
└─> 7z i

7-Zip 25.01 (x64) : Copyright (c) 1999-2025 Igor Pavlov : 2025-08-03

Libs:
 0 : 25.01 : D:\Software\Scoop\Local\apps\7zip\current\7z.dll
  • Use conventional PR title: <manifest-name[@version]|chore>: <general summary of the pull request>
  • I have read the Contributing Guide

@github-actions
Copy link
Contributor

github-actions bot commented Jan 3, 2026

All changes look good.

Wait for review from human collaborators.

modern7z

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

@SorYoshino
Copy link
Contributor Author

/verify

@github-actions
Copy link
Contributor

github-actions bot commented Jan 3, 2026

All changes look good.

Wait for review from human collaborators.

modern7z

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

@SorYoshino
Copy link
Contributor Author

/verify

@github-actions
Copy link
Contributor

github-actions bot commented Jan 7, 2026

All changes look good.

Wait for review from human collaborators.

modern7z

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants