Closed sebres closed 1 year ago
Although it'd probably expect another amend - a different version of GetQuotedString
if gets compiled not for windows target.
@mcmilk Do you know which targets this basically allows (with and without UI)?
Thx for feedback! How and what exactly (which action, from where, explorer or 7zFM) did you test?
It's about the shell context menu and only immediate extracting options do not work.
I made a screencast maybe that helps for better understanding: https://user-images.githubusercontent.com/22570574/230623533-29bad325-3426-4997-8ebd-b96f249c6500.mp4
The question is whether you reinstalled or reregistered the shell integration with newest build version too? Because otherwise, previous version, is incompatible to new 7z executables. But OK, I'll try to find the issue further.
I just ran the setup and rebooted for safety’s sake. I can’t tell if the installer reinstalls or re-registers the shell integration. However, handling is done by 7zip.dll which should be corresponding.
Anyways, I removed the context menu and added it again through Options but the problem remains.
Hmm... I can't reproduce the error.
Downloaded 7-Zip ZS Release binaries (artifact of that build), installed 7z22.01-zstd-x64.exe
from there in Windows 10 VM - every action from explorer context menu succeeds without any issue.
@akuropka Are you really sure it is the newest version of 7-zip.dll
installed / integrated in explorer?
May be just some issue of update/install process.
What do you see in the registry and file system for the 7-zip.dll
(modification date, hash)?
> reg QUERY "HKCR\*\shellex\ContextMenuHandlers\7-Zip-Zstandard"
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\7-Zip-Zstandard
(Default) REG_SZ {23170F69-20BB-278A-1000-000100020000}
> reg QUERY "HKCR\CLSID\{23170F69-20BB-278A-1000-000100020000}\InprocServer32"
HKEY_CLASSES_ROOT\CLSID\{23170F69-20BB-278A-1000-000100020000}\InprocServer32
(Default) REG_SZ C:\Program Files\7-Zip-Zstandard\7-zip.dll
ThreadingModel REG_SZ Apartment
> dir "C:\Program Files\7-Zip-Zstandard\7-zip.dll"
Directory of C:\Program Files\7-Zip-Zstandard
06.04.2023 20:36 187.904 7-zip.dll
1 File(s) 187.904 bytes
0 Dir(s) 21.404.016.640 bytes free
> "C:\Program Files\7-Zip-Zstandard\7z" h -scrcsha256 "C:\Program Files\7-Zip-Zstandard\7-zip.dll"
...
Size: 187904
SHA256 for data: 308e2b0b4739b49ef03127b92421c8b946cec17f0dd45645e33363b12c67986f
DLL from latest releases would have different timestamp (modified 05.04.2023) and SHA256 hash.
Actually I was never sure if 7-zip.dll
was up to date since I didn't check in detail. Turns out the new dll was copied as 7-zip.dll.tmp
in the folder and remained like that after reboot keeping the old one in place... sorry!
I can confirm it works with your PR.
Merged by hand - thanks a lot @sebres
This should fix #312 for new command-line parser algorithm (#307, #310).
Proposed PR:
GetQuotedString
, moved to MyString now);GetQuotedString
which uses correct windows command-line notation now (escaping of backslashes and quotes);I did not test it from explorer integration (didn't install/register it yet), so would be nice if someone could test it... Only tested from compiled
7zFM.exe
, for instance from its context menu where previously (without that fix) it failed with same error like in #312. Test and review are welcome.