beyondcompare5: Add version 5.0.2.30045
The Scoop 'Extras' bucket supports only version Beyond Compare 4 so far - this PR introduces Beyond Compare 5.
Closes #13663
Relates to #13663
- [x] I have read the Contributing Guide.
All changes look good.
Wait for review from human collaborators.
beyondcompare5
- [x] Description
- [x] License
- [x] Hashes
- [x] Checkver
- [x] Autoupdate
Edited PR description above:
- the referenced issue https://github.com/ScoopInstaller/Extras/issues/13663 wanted to add Beyond Compare 5 (beta at that time)
- Beyond Compare 5 is out of beta phase nowadays
Who is responsible to review and merge these PRs?
Ping! What is the process of getting an approval here?
/verify
Your changes do not pass checks.
beyondcompare5
- [x] Description
- [x] License
- [x] Hashes
- [ ] Checkver
- [x] Autoupdate
/verify
All changes look good.
Wait for review from human collaborators.
beyondcompare5
- [x] Description
- [x] License
- [x] Hashes
- [x] Checkver
- [x] Autoupdate
Can I have an approval here, please.
/verify
All changes look good.
Wait for review from human collaborators.
beyondcompare5
- [x] Description
- [x] License
- [x] Hashes
- [x] Checkver
- [x] Autoupdate
I apologize, guys for approaching you via 'mentioning all members of ScoopInstaller', but how can I get a review here? - I am pretty sure that also other people would like to see Beyond Compare 5 installable via scoop. Currently only previous version 4 is installable via scoop...
@brandon93s @chawyehsu @deevus @goostleek @HUMORCE @issaclin32 @lukesampson @niheaven @r15ch13 @rasa @rashil2000 @tech189
Update beyondcompare to v5, instead created a separate manifest.
Upgradation between v4 and v5 are not free, moving the v4 manifest to Versions bucket as same time.
@HUMORCE Yeah, I am very aware of the fact that Update v4 to v5 is not free:
- I think making manifest 'beyondcompare' installing v5 now will not be appreciated by the v4 users which will get v5 unsolicited (unless I misunderstand the mechanism...)
- therefore I created a new manifest 'beondcompare5'
However if you just tell me to do as you indicated I will do so:
- 'move' v4 manifest to bucket 'versions'
- 'rename' v5 manifest (and related files) in bucket 'extras'
It's something that has to be done sooner or later, unless versions bucket does not exist.
Obviously, Scoop is missing some function to handle this situation. No matter what we do, there will be users who are confused, either v4 users, v5 users or both of them.
Might be a reference for the PR:
notes of v5 manifest:
The manifest already updated to v5, if you want to stay on v4:
- Install 'versions/beyondcompare4' instead. (Recommendation)
- Execute 'scoop reset [email protected]; scoop hold beyondcompare', if you have a v4 installation now.
It can check via `scoop info beyondcompare`.
Or maybe you want to upgrade license from v4 to v5: https://www.scootersoftware.com/kb/upgradepolicy
notes of v4 manifest:
When migrated from 'extras/beyondcompare', persistence data required a manual migration:
i.e. Rename '~\persist\beyondcompare' to '~\persist\beyondcompare4', then (re)install the manifest.
/verify
All changes look good.
Wait for review from human collaborators.
beyondcompare
- [x] Description
- [x] License
- [x] Hashes
- [x] Checkver
- [x] Autoupdate
Hi @HUMORCE, since you were kind enough to review a previous version of this PR and since you gave comments above ..., hello @niheaven, since you 'thumped up' ...
I guess we are ready to go, if a reviewer gives her OK. Mind that https://github.com/ScoopInstaller/Versions/pull/2102 should probably merged first for continuity.
Does Clipboard Compare really needed? I found that BeyondCompare support portable install but there's no Clipboard Compare in this mode.
Hi @niheaven, the manifest configures the setup as 'silent' (not 'portable'): to the best of my knowledge according to https://www.scootersoftware.com/kb/shellex if we install portable then the shell extensions (context menus) won't be available... (but frankly I did not verify)
- BCShellEx.dll
- BCShellEx64.dll
As for 'BCClipboard' required or not ... I am a bit clueless to be honest. Me myself, I don't use it. However it gets installed: Here is the list of files, I see after installation via manifest as of now:
- scoop\apps\beyondcompare\5.0.4.30422\install.json
- scoop\apps\beyondcompare\5.0.4.30422\uninstall-context.reg
- scoop\apps\beyondcompare\5.0.4.30422\install-context.reg
- scoop\apps\beyondcompare\5.0.4.30422\unins000.dat
- scoop\apps\beyondcompare\5.0.4.30422\unins000.msg
- scoop\apps\beyondcompare\5.0.4.30422\unins000.exe
- scoop\apps\beyondcompare\5.0.4.30422\manifest.json
- scoop\apps\beyondcompare\5.0.4.30422\BCompare.exe
- scoop\apps\beyondcompare\5.0.4.30422\BCClipboard.exe
- scoop\apps\beyondcompare\5.0.4.30422\BCompare.chm
- scoop\apps\beyondcompare\5.0.4.30422\BCShellEx.dll
- scoop\apps\beyondcompare\5.0.4.30422\BCShellEx.msix
- scoop\apps\beyondcompare\5.0.4.30422\BCShellEx64.dll
- scoop\apps\beyondcompare\5.0.4.30422\BComp.com
- scoop\apps\beyondcompare\5.0.4.30422\BComp.exe
- scoop\apps\beyondcompare\5.0.4.30422\BCUnRAR.dll
- scoop\apps\beyondcompare\5.0.4.30422\7z.dll
- scoop\apps\beyondcompare\5.0.4.30422\License.html
- scoop\apps\beyondcompare\5.0.4.30422\Readme.txt
- scoop\apps\beyondcompare\5.0.4.30422\BCDarkTheme.vsf
- scoop\apps\beyondcompare\5.0.4.30422\PdfToText.exe
- scoop\apps\beyondcompare\5.0.4.30422\Patch.exe
- scoop\apps\beyondcompare\5.0.4.30422\mscoree.dll
- scoop\apps\beyondcompare\5.0.4.30422\mime.types
Hmm you are right, that shellex will disappeared in portable installation. It's strange that innounp could not unpack the installer, I'll check if it uses a new version of innosetup.
Edited: Using silent installation will also create an uninstall entry in registry, so I'm thinking about portable install.
Okay, a better solution here: create a beyondcompare-np in nonportable bucket and leave portable installation here (w/o ShellEx and Clipboard Compare).
Wow, are you certain? That seems to me a little bit too much an effort. I mean v4 wasn't portable either -- as far as my understanding extends...
Addendum: what are the installer options for 'portable' anyway? (EDIT: seems to be /PORTABLE)
Since we're extract everything in v4, it should be portable, isn't it? Correct me if I'm wrong since I don't use BeyondCompare.
Mmmmh, the v4 manifest used msi files - which are not / no longer supported for v5. Was it a portable installation? (No registry entries?) I am not sure...
Addendum: Foirgive my ignorance, does the utilisation in manifest of 'extract_dir' extract everything from the msi file?
EDIT: OK, just checked the installation via v4 manifest: and you are right its a portable installation; or at least there are no registry entries whatsoever.
Please try the following manifest: (you could paste it in existing beyondcompare.json)
beyondcompare.json
{
"version": "5.0.4.30422",
"description": "Directory and file compare functions in one package",
"homepage": "https://www.scootersoftware.com",
"license": {
"identifier": "Shareware",
"url": "https://www.scootersoftware.com/kb/licensev5"
},
"notes": [
"The manifest already updated to v5, if you want to stay on v4 proceed as follows:",
"",
"- Install 'versions/beyondcompare4' instead. (Recommendation)",
"- Execute 'scoop reset [email protected]; scoop hold beyondcompare', you should have a v4 installation now.",
"- Check via `scoop info beyondcompare`",
"",
"Or maybe you want to upgrade license from v4 to v5: https://www.scootersoftware.com/kb/upgradepolicy"
],
"url": "https://www.scootersoftware.com/files/BCompare-5.0.4.30422.exe",
"hash": "d74892601a50514b5636e27d4be4d3ac38597f2f6c7c7b6b5b169a48ffa1f341",
"architecture": {
"64bit": {
"installer": {
"args": [
"/DIR=\"$dir\"",
"/VERYSILENT",
"/PORTABLE"
]
}
},
"32bit": {
"installer": {
"args": [
"/32",
"/DIR=\"$dir\"",
"/VERYSILENT",
"/PORTABLE"
]
}
}
},
"bin": [
"Bcomp.exe",
"BCompare.exe"
],
"shortcuts": [
[
"BCompare.exe",
"Beyond Compare 5"
]
],
"pre_install": [
"$file = 'BCPreferences.xml'",
"if (!(Test-Path \"$persist_dir\\BCPreferences.xml\")) {",
" $CONT = @('<BCPreferences Version=\"2\" MinVersion=\"2\"><TBcPrefs><CheckForUpdatesDayAmt Value=\"0\"/></TBcPrefs></BCPreferences>')",
" Set-Content \"$dir\\BCPreferences.xml\" $CONT -Encoding Ascii",
"}",
"$file = 'BCState.xml'",
"if (!(Test-Path \"$persist_dir\\BCState.xml\")) {",
" New-Item \"$dir\\BCState.xml\" -Type file | Out-Null",
"}"
],
"persist": [
"BCPreferences.xml",
"BCState.xml"
],
"checkver": {
"url": "https://www.scootersoftware.com/download",
"regex": "BCompare-([\\d.]+)\\.exe"
},
"autoupdate": {
"url": "https://www.scootersoftware.com/files/BCompare-$version.exe"
}
}
Keypoint (to make it portable) is BCState.xml under installed dir.
Yeah, that seems to do the 'portable' trick :)
EDIT: FYI @niheaven, when I change (for example font and theme) via Beyond Compare GUI those changes
-
will be stored in 'scoop\apps\beyondcompare\5.0.4.30422\BCColors.xml'; which does not seem very portable / persistent across installation of different versions, i.e. updates
- I guess as per intention the settings should end up in folder 'scoop\persist\beyondcompare'
-
the file's ('scoop\apps\beyondcompare\5.0.4.30422\BCColors.xml') content:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Produced by Beyond Compare 5 from Scooter Software -->
<BCColors Version="2" MinVersion="2">
<TBcColors>
<ThemeMode Value="tmLight"/>
</TBcColors>
<TDirColors>
<FontStr Value="MesloLGMDZ Nerd Font;9"/>
</TDirColors>
</BCColors>
OK, how will we proceed?
- Will you commit your portable v5 manifest?
- Shall I create a PR against https://github.com/ScoopInstaller/Nonportable for the non-portable v5 manifest?
I'll persist the setting tomorrow and push the commit. You could submit a nonportable version to nonportable bucket now.
OK, very well - thanks.