Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка приложений (http://forum.oszone.net/forumdisplay.php?f=61)
-   -   Автоматическая установка QuickSFV (http://forum.oszone.net/showthread.php?t=354365)

Wu-Tang 11-10-2023 19:35 3017955

привет
хочу сделать совмещенный 86-64 тихий установщик quicksvf 2.36 https://www.quicksfv.org/download.html
с регистрацией ассоциаций для md5, crc, svf
но что-то ни черта не выходит, экзешники с оффа не поддерживают никакие ключи
ps прога работает корректно от xp-10, на всех осях ее юзаю
может быть кто-н сможет помочь.

Vanadiy777 12-10-2023 12:44 3018020

Цитата:

Цитата Wu-Tang
но что-то ни черта не выходит, экзешники с оффа не поддерживают никакие ключи »

Wu-Tang,
Если попробовать поставить программу через монитор установки, посмотреть, куда что прописывается,
затем, все это сохранить и собрать в свой 7z SFX. Как-то так...

nibble74 12-10-2023 13:58 3018028

Wu-Tang, А как на счёт MSI установщика ? Вам обязательно EXE нужен ?

Vanadiy777 12-10-2023 21:41 3018077

Цитата:

Цитата nibble74
А как на счёт MSI установщика ? »

Там версия выше, чем нужна коллеге Wu-Tang,
А также, при использовании ключа тихой установки, по умолчанию регистрируются
все типы файлов, заложенные в приложении.
Как я понял, надо только три расширения md5, crc, svf

sov44 12-10-2023 23:44 3018084

Wu-Tang, существует множество способов расчета контрольных сумм: самостоятельным приложением (HashTab и пр.), функцией приложения (7-zip и пр.), встроенными приложениями (PowerShell и пр.) Чем особенен quicksvf?

nibble74 13-10-2023 00:33 3018090

Vanadiy777, Только сейчас посмотрел, действительно, msi по ходу ещё и урезанная версия.

Wu-Tang 13-10-2023 20:34 3018180

Vanadiy777,
я думал об этом, распак идет четырех файлов в programm files, файлы разные, сверил по md5.
ключи отловил эти для х86, для х64 тоже самое:
Код:


[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\QuickSFV Shell Extension]
@="{906b0e6e-61ce-11d3-8ee2-0060080a7242}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.CRC]
@="File_Verification_Database"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.MD5]
@="File_Verification_Database"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.SFV]
@="File_Verification_Database"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}]
@="QuickSFV Shell Extension"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}\InProcServer32]
@="C:\\Program Files\\QuickSFV\\QSFVShll.dll"
"ThreadingModel"="Apartment"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shellex\ContextMenuHandlers\QuickSFV Shell Extension]
@="{906b0e6e-61ce-11d3-8ee2-0060080a7242}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\File_Verification_Database]
@="File Verification Database"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\File_Verification_Database\DefaultIcon]
@="C:\\Program Files\\QuickSFV\\QuickSFV.EXE,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\File_Verification_Database\Shell]
@="open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\File_Verification_Database\Shell\open]
@="&Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\File_Verification_Database\Shell\open\command]
@="C:\\Program Files\\QuickSFV\\QuickSFV.EXE \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\File_Verification_Database\Shell\verify_all]
@="&Verify All"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\File_Verification_Database\Shell\verify_all\command]
@="C:\\Program Files\\QuickSFV\\QuickSFV.EXE DOALL \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
"{906b0e6e-61ce-11d3-8ee2-0060080a7242}"="QuickSFV Shell Extension"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellCompatibility\Objects\{906b0e6e-61ce-11d3-8ee2-0060080a7242}]
"CTXMENU_NOVERBS"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\QuickSFV]
"DisplayName"="QuickSFV (Remove only)"
"UninstallString"="C:\\Program Files\\QuickSFV\\QSFVUNST.EXE C:\\Program Files\\QuickSFV\\"

Цитата:

Цитата Vanadiy777
А также, при использовании ключа тихой установки, по умолчанию регистрируются
все типы файлов, заложенные в приложении.
Как я понял, надо только три расширения md5, crc, svf »

верно, те после тихой, надо еще восстанавливать дефолт для остальных, то что она перезаписала.

nibble74,
как ниже заметили, верно, он не доделанный.

sov44,
я пользуюсь разным в зависимости от обстоятельств, и hashtab и в тотале и иногда в 7zip, но эту я считаю максимально удобной и быстрой, юзаю ее еще со времен хр.

Vanadiy777 13-10-2023 21:55 3018192

Цитата:

Цитата Wu-Tang
файлы разные, сверил по md5. »

Wu-Tang,
Все правильно, разрядность же разная.
Теперь, когда известен путь установки и значения реестра, собрать все это в 7z SFX.

Wu-Tang 13-10-2023 23:01 3018195

Vanadiy777,
так собрать еще надо ведь )))
сделать регистрацию dll

Vanadiy777 14-10-2023 00:30 3018196

Цитата:

Цитата Wu-Tang
так собрать еще надо ведь ))) »

Wu-Tang,
Так Вы ж не раз это делали... :wink:
Цитата:

Цитата Wu-Tang
сделать регистрацию dll »

Судя по монитору установки, dll, как таковой, не регистрируется,
а сразу добавляется значение в реестр.
Код:

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}]
@="QuickSFV Shell Extension"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}\InProcServer32]
@="C:\\Program Files\\QuickSFV\\QSFVShll.dll"
"ThreadingModel"="Apartment"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shellex\ContextMenuHandlers\QuickSFV Shell Extension]
@="{906b0e6e-61ce-11d3-8ee2-0060080a7242}"


Wu-Tang 14-10-2023 01:51 3018198

Vanadiy777,
ух, как ща понапишу :laugh:
Цитата:

Судя по монитору установки, dll, как таковой, не регистрируется,
видимо вы правы, что regsvr не участвует.

Код:

;!@Install@!UTF-8!
RunProgram=":hidcon:cmd /c xCopy "QuickSFV-%%P" "%ProgramFiles%\QuickSFV" /s /e /i /y"
RunProgram=":hidcon:cmd /c If Exist QuickSFV.reg REGEDIT /S QuickSFV.reg"
GUIMode="2"
MiscFlags="4"
;!@InstallEnd@!

структура:

но что-то мне, кажется, хрень какую-то понаписал :unsure: не фурыкает (((

посидел еще часок, вроде это заработало:
Код:

;!@Install@!UTF-8!
SetEnvironment="PF=%ProgramFiles%\\QuickSFV"
RunProgram="%%P:hidcon:cmd /c xCopy QuickSFV-%%P\\* \"%PF%\\\" /s /e /i /y"
RunProgram="%%P:hidcon:cmd /c If Exist QuickSFV.reg REGEDIT /S QuickSFV.reg"
GUIMode="2"
MiscFlags="4"
;!@InstallEnd@!

на х86 копирует правильно в programm files, а на х64 копирует неправильно в programm files x86, а должно тоже в programm files.

nibble74 14-10-2023 04:06 3018200

Wu-Tang,

Код:

SetEnvironment="PFx86=%ProgramFiles%\\QuickSFV"
SetEnvironment="PFx64=%ProgramW6432%\\QuickSFV"
RunProgram="%%P:hidcon:cmd /c xcopy QuickSFV_%%P\\* \"%PF%%P%\" /e /i /y"
RunProgram="%%P:hidcon:cmd /c copy /y QSFVExit.bat \"%SystemRoot%\""
RunProgram="%%P:hidcon:REGEDIT /S QuickSFV.reg"

Код:

Windows Registry Editor Version 5.00


[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\QuickSFV Shell Extension]
@="{906b0e6e-61ce-11d3-8ee2-0060080a7242}"

[HKEY_CLASSES_ROOT\.CKZ]
@="File_Verification_Database"

[HKEY_CLASSES_ROOT\.CRC]
@="File_Verification_Database"

[HKEY_CLASSES_ROOT\.MD5]
@="File_Verification_Database"

[HKEY_CLASSES_ROOT\.PAR]
@="File_Verification_Database"

[HKEY_CLASSES_ROOT\.SFV]
@="File_Verification_Database"

[HKEY_CLASSES_ROOT\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}]
@="QuickSFV Shell Extension"

[HKEY_CLASSES_ROOT\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}\InProcServer32]
@="C:\\Program Files\\QuickSFV\\QSFVShll.dll"
"ThreadingModel"="Apartment"

[HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers\QuickSFV Shell Extension]
@="{906b0e6e-61ce-11d3-8ee2-0060080a7242}"

[HKEY_CLASSES_ROOT\File_Verification_Database]
@="File Verification Database"

[HKEY_CLASSES_ROOT\File_Verification_Database\DefaultIcon]
@="C:\\Program Files\\QuickSFV\\QuickSFV.EXE,0"

[HKEY_CLASSES_ROOT\File_Verification_Database\Shell]
@="open"

[HKEY_CLASSES_ROOT\File_Verification_Database\Shell\open]
@="&Open"

[HKEY_CLASSES_ROOT\File_Verification_Database\Shell\open\command]
@="C:\\Program Files\\QuickSFV\\QuickSFV.EXE \"%1\""

[HKEY_CLASSES_ROOT\File_Verification_Database\Shell\verify_all]
@="&Verify All"

[HKEY_CLASSES_ROOT\File_Verification_Database\Shell\verify_all\command]
@="C:\\Program Files\\QuickSFV\\QuickSFV.EXE DOALL \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellCompatibility\Objects\{906b0e6e-61ce-11d3-8ee2-0060080a7242}]
"CTXMENU_NOVERBS"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
"{906b0e6e-61ce-11d3-8ee2-0060080a7242}"="QuickSFV Shell Extension"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\QuickSFV]
"DisplayName"="QuickSFV (Remove only)"
"DisplayIcon"="C:\\Program Files\\QuickSFV\\QSFVUNST.EXE"
"UninstallString"="C:\\Windows\\QSFVExit.bat"

Ненужные расширения удалите или закомментируйте в reg файле

Wu-Tang 14-10-2023 17:54 3018228

nibble74,
а строку для установки/удаления не нужно?
Код:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\QuickSFV]
"DisplayName"="QuickSFV (Remove only)"
"UninstallString"="C:\\Program Files\\QuickSFV\\QSFVUNST.EXE C:\\Program Files\\QuickSFV\\"

и
Код:


GUIMode="2"
MiscFlags="4"

и это в конф файле?

Vanadiy777 14-10-2023 19:14 3018235

Цитата:

Цитата Wu-Tang
а строку для установки/удаления не нужно? »

Wu-Tang,
Стандартный Uninstall не отрабатывает корректно... Ключи удаляет, а файлы и папку оставляет на месте...
Может, на удаление какой-нибудь батник сделать?

nibble74 14-10-2023 22:45 3018244

Wu-Tang,

Создаём батник "QSFVExit.bat" с таким содержимым:

Код:

@echo off

Reg Delete "HKCR\*\shellex\ContextMenuHandlers\QuickSFV Shell Extension" /f
Reg Delete "HKCR\.CKZ" /f
Reg Delete "HKCR\.CRC" /f
Reg Delete "HKCR\.MD5" /f
Reg Delete "HKCR\.PAR" /f
Reg Delete "HKCR\.SFV" /f
Reg Delete "HKCR\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /f
Reg Delete "HKCR\Directory\shellex\ContextMenuHandlers\QuickSFV Shell Extension" /f
Reg Delete "HKCR\File_Verification_Database" /f
Reg Delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellCompatibility\Objects\{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /f
Reg Delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" /v "{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /f
Reg Delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\QuickSFV" /f
rd /s/q "C:\Program Files\QuickSFV"
Pause
rem Батник удаляется
del /f /q %0

Архивируете его в корень SFX архива, там же где и REG файл.

Посмотрите мой пост под номером 12, я его немного изменил. Дополнил конфиг и reg.

Надеюсь разберётесь )

Wu-Tang 15-10-2023 05:08 3018247

nibble74,
Протестиил все, строка в установке и удалении появляется -
удаление, удаляет, но иногда было, что не удаляло dll, отказано в доступе -
как-то через раз происходило, я раз 10 протестил.
есть ли смысл сделать так в батнике:
Код:

@echo off
taskkill /f /im explorer.exe
Reg Delete "HKCR\*\shellex\ContextMenuHandlers\QuickSFV Shell Extension" /f
Reg Delete "HKCR\.CRC" /f
Reg Delete "HKCR\.MD5" /f
Reg Delete "HKCR\.SFV" /f
Reg Delete "HKCR\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /f
Reg Delete "HKCR\Directory\shellex\ContextMenuHandlers\QuickSFV Shell Extension" /f
Reg Delete "HKCR\File_Verification_Database" /f
Reg Delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellCompatibility\Objects\{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /f
Reg Delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" /v "{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /f
Reg Delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\QuickSFV" /f
rd /s/q "C:\Program Files\QuickSFV"
start explorer.exe
Pause
rem Батник удаляется
del /f /q %0

либо может у команды rd ключ принудительного удаления, чтобы не убивать explorer?

nibble74 15-10-2023 10:53 3018256

Тоже заметил, что ДЛЛ (иногда) блокируется.

Попробуйте зациклить:
Код:

taskkill /F /IM explorer.exe & start explorer.exe
:hmmm
if EXIST "C:\Program Files\QuickSFV\QSFVShll.dll" del /f /q "C:\Program Files\QuickSFV\QSFVShll.dll"
if EXIST "C:\Program Files\QuickSFV\QSFVShll.dll" goto hmmm

Спешу по делам :yes:

Wu-Tang 15-10-2023 20:55 3018290

nibble74,
хм, а вот этот кусок в какое место скрипта вставить, так что ли:
Код:

@echo off
Reg Delete "HKCR\*\shellex\ContextMenuHandlers\QuickSFV Shell Extension" /f
Reg Delete "HKCR\.CRC" /f
Reg Delete "HKCR\.MD5" /f
Reg Delete "HKCR\.SFV" /f
Reg Delete "HKCR\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /f
Reg Delete "HKCR\Directory\shellex\ContextMenuHandlers\QuickSFV Shell Extension" /f
Reg Delete "HKCR\File_Verification_Database" /f
Reg Delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellCompatibility\Objects\{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /f
Reg Delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" /v "{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /f
Reg Delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\QuickSFV" /f
taskkill /F /IM explorer.exe & start explorer.exe
:hmmm
if EXIST "C:\Program Files\QuickSFV\QSFVShll.dll" del /f /q "C:\Program Files\QuickSFV\QSFVShll.dll"
if EXIST "C:\Program Files\QuickSFV\QSFVShll.dll" goto hmmm
rd /s/q "C:\Program Files\QuickSFV"
Pause
rem Батник удаляется
del /f /q %0

вот так вроде работает.
я в правильное место вставил?

nibble74 15-10-2023 21:57 3018299

Wu-Tang, Да. Всё правильно.

Или так:
Код:

:hmmm
if EXIST "C:\Program Files\QuickSFV\QSFVShll.dll" rd /s/q "C:\Program Files\QuickSFV"
if EXIST "C:\Program Files\QuickSFV\QSFVShll.dll" goto hmmm
pause


Wu-Tang 16-10-2023 19:26 3018375

nibble74,
Действительно, предела совершенству нет )))
Отловил баг, программа пишет в свою папку файл настроек ini, где сохраняет дефолтный алгоритм и расположение окна, так вот я тестил на чистых осях 7 и 10, она не может его туда записать и каждый раз приходится заново выбирать алгоритм, стоит отключить uac, то сразу нормально записывает.
так вот мне пришло в голову, как бы папке quicksfv в program files поменять права на юзера с правом записи в нее, чтобы после установки файл настроек мог туда писаться, у кого uac включен, нашел тулзу - http://forum.oszone.net/post-2732946-1244.html но не знаю как это реализовать в нашем конфиге установки.
либо как-то через:
Код:

cmd.exe /c takeown /f
или этот способ - http://forum.oszone.net/thread-85764.html
icacls
те дать rw на эту папку юзеру.
https://vmblog.ru/utilita-icacls-dly...jlam-i-papkam/
https://ab57.ru/cmdlist/icacls.html
может как-то так:
Код:

icacls "%programfiles%\quicksfv" /grant *S-1-1-0:(D,WDAC)
наверное проще дать разрешения запись/чтение/изменение для группы "Все"
ps
получилось присвоить группу "Все" и дать полные права:
Код:

ICACLS "%programfiles%\quicksfv" /grant:r "*S-1-1-0":(OI)(CI)F /T
но не знаю то это или не то.
или все, кроме полного доступа и особых разрешений:
Код:

ICACLS "%programfiles%\quicksfv" /grant:r "*S-1-1-0":(OI)(CI)(M,R) /T
ps2 блин, все протестил, нифига не проканало, все равно, работает только при отключении uac, а так и владельцев менял и права, все безтолку. ((( вот зараза, пол дня просидел зря (((

Vanadiy777 17-10-2023 12:05 3018396

Цитата:

Цитата Wu-Tang
нифига не проканало, все равно, работает только при отключении uac »

Wu-Tang,
Попробуйте как-то так:
Код:

ICACLS "%SystemDrive%\Program Files\quicksfv" /T /grant "%UserName%":M

Wu-Tang 17-10-2023 18:56 3018408

Vanadiy777,
да, понимаете в чем дело, я потом уже начал ручками менять права на эту папку, дал и пользователю и учетке и всему чему можно полные права, но файл настроек так и не захотела она писать в нее, но как отключаешь uac, то сразу пишет, я теперь не пойму, какого уровня блок идет со стороны оси.

Vanadiy777 17-10-2023 19:18 3018411

Цитата:

Цитата Wu-Tang
но файл настроек так и не захотела она писать в нее, но как отключаешь uac, то сразу пишет, я теперь не пойму, какого уровня блок идет со стороны оси. »

Wu-Tang,
А сейчас, если эту команду в командной строке от Админа применить, тоже не сохраняет?

Wu-Tang 18-10-2023 04:27 3018453

Vanadiy777,
попробовал - все также (((
не поленился, протестил на каждом отключенном ключе в ветке по uac, и скажу, меняешь только один.
Код:

;Отключить
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLUA"=dword:00000000

и начинает писать и читать в папку.
вот как бы это обойти, если кто-то будет юзать прогу с включенным uac.
ps самое крайнее, что приходит в голову, инсталлить ее в корень, но как-то не кошерно уже будет имхо

sov44 18-10-2023 07:03 3018454

Цитата:

Цитата Wu-Tang
стоит отключить uac, то сразу нормально записывает »

Не правильное направление. Не стоит менять права.
Цитата:

Цитата Wu-Tang
программа пишет в свою папку файл настроек ini »

А вариант замены дефолтного файла на настроенный?
Дайте ссылку на вашу сборку, потестю на досуге.

Vanadiy777 18-10-2023 19:20 3018483

Цитата:

Цитата sov44
Дайте ссылку на вашу сборку, потестю на досуге. »

Присоединяюсь к коллеге... :)

Wu-Tang 18-10-2023 19:57 3018485

sov44,
Цитата:

Цитата sov44
вариант замены дефолтного файла на настроенный? »

сразу же положил его в инсталлер, но начинает его читать, пока только после отключения uac.
https://dropmefiles.com/9jC9U

Vanadiy777 19-10-2023 19:54 3018525

Wu-Tang,
На чистой Windows 11, где никакие права не затрагивались. На полностью включенной UAC.
Изначально не читает и не пишет...
После применения команды:
Код:

ICACLS "%SystemDrive%\Program Files\quicksfv" /T /grant "%UserName%":M
все пишет и читает с включенным UAC.
Как-то так... :)

Как еще проверить?

Wu-Tang 19-10-2023 21:26 3018530

Vanadiy777,
как так :o
я проверял на 4-х системах, двух 10 и двух 7.
у вас сохраняется настройка, что просчитать md5, а не sfv по дефолту?

у меня каждый раз там sfv и сохраняет, что нужно md5 только после выключения uac.
ps тестовые оси чистые, на виртуалке.
ps2 перепроверил еще на одной свежеустановленной 7-ке, не сохраняет.
причем icacls отрабатывает
Код:

Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

C:\Windows\system32>ICACLS "%SystemDrive%\Program Files\quicksfv" /T /grant "%Us
erName%":M
обработанный файл: C:\Program Files\quicksfv
обработанный файл: C:\Program Files\quicksfv\history.txt
обработанный файл: C:\Program Files\quicksfv\QSFVShll.dll
обработанный файл: C:\Program Files\quicksfv\QSFVUNST.EXE
обработанный файл: C:\Program Files\quicksfv\QuickSFV.EXE
обработанный файл: C:\Program Files\quicksfv\QuickSFV.ini
Успешно обработано 6 файлов; не удалось обработать 0 файлов

C:\Windows\system32>

но права на запись у пользователя на эту папку в свойствах папки не появляются.

а на одной из 10 вообще выдало:
Код:

ICACLS "%SystemDrive%\Program Files\quicksfv" /T /grant "%UserName%":M
DESKTOP-I9516T8$: Сопоставление между именами пользователей и идентификаторами безопасности не было произведено.
Успешно обработано 0 файлов; не удалось обработать 1 файлов


Wu-Tang 25-10-2023 07:00 3018826

ну что есть какие-н мысли у кого насчет этого?

nibble74 25-10-2023 08:04 3018831

Цитата:

Цитата Wu-Tang
ну что есть какие-н мысли у кого насчет этого? »

Мысли:
Первая) Распакуйте архив в папку пользователя %UserProfile% вместо Program Files.
Вторая) Отказаться от SFX архива и юзать как портабелку. Потребуется подкорректировать батники.

sov44 26-10-2023 21:06 3018957

Wu-Tang, попробуйте мою сборку https://disk.yandex.ru/d/r2fUYsiwtDg-Eg
При запуске Total Commander от имени администратора с включенным UAC в контексте хэши делаются по умолчанию в md5. В контексте проводника по прежнему в sfv. Пользователю с помощью SetAcl даны полные права на папку установки программы. При желании способ можно заменить на штатный с помощью ICACLS. Проблему удаления QSFVShll.dll попытался решить без убийства explorer, но 100% гарантии этот способ не даёт.

Wu-Tang 30-10-2023 05:16 3019157

sov44,
потестил, ну да, из проводника так и предлагает sfv, вот зараза, почему она не хочет читать ini, где четко прописано md5.
то что из тотала работает, это логично, тк он видимо пункт из контекста запускает с повышенными правами.
у меня есть мысль, но как реализовать не знаю, а что если в ключи реестра, которые отвечают за запуск из контекста, добавить повышение прав?
типа runas.
тк задумка ставить ее и юзать полнофункционально не выходит.
ps кстати, после удаления вашей сборки, проводник сам не запустился.

nibble74,
я заметил особенность, что некоторые свежие проги ставятся на 10-ке по дефолту в %appdata/local% - опера, дискорд и тд может это связано как раз с такой петрушкой в плане записи/чтения из program files?

nibble74 30-10-2023 10:50 3019172

Wu-Tang, Разработчик не доработал свою прогу. Ведь даже после установки оригинальным установщиком настройки расширения не сохраняются.
Помнится мне очень давно пользовался этой прогой, давал полные разрешения пользователю на INI файл и размещал папку... куда не помню ). Может в корень папки пользователя или в общую папку и тогда настройки начинали сохраняться, даже запоминало последнее выбранное расширение. Что тут скажешь... надо экспериментировать.

Цитата:

Цитата Wu-Tang
проводник сам не запустился »

читать дальше »
Код:

taskkill /F /IM explorer.exe & ping -n 3 localhost & start explorer.exe

sov44 30-10-2023 12:36 3019186

Цитата:

Цитата Wu-Tang
проводник сам не запустился. »

В моей сборке предусмотрено только убийство приложения, использующего QSFVShll.dll, без последующего запуска. В вашем случае QSFVShll.dll пользовался explorer.exe. Наверное нужно будет сделать запуск убиваемого приложения.
Цитата:

Цитата Wu-Tang
у меня есть мысль, но как реализовать не знаю, а что если в ключи реестра, которые отвечают за запуск из контекста, добавить повышение прав? »

Можно попробовать.

Wu-Tang 30-10-2023 22:05 3019206

nibble74,
да, я тоже думаю, что это косяк в коде, не добавил обход этого блока.
может собрать инсталлер, чтобы ставилась в какую-то системную папку, где полные права, я попробовал переписать пути в %localappdata%, поставилась, ini читает, но в контекст не встроилась и анинсталлер не работает, может и я где ошибся, а у program data резанные права, если туда ставить?
или, как вы говорите, в %users%
вообще, конечно, хотелось бы ее научить из program files работать.

sov44,
было бы неплохо, если бы вы нашли решение.
ps я пока попробую переписать пути на %users%

nibble74 31-10-2023 08:00 3019214

Wu-Tang, Пробовали написать разработчику ? Там на сайте два адреса, один для отчетов об ошибках. Может разработчик исправит дело с ini файлом.

Wu-Tang 31-10-2023 20:48 3019269

nibble74,
была такая мысль, но меня терзают смутные сомнения, что он уже не занимается своей программой, но попробовать можно.

Wu-Tang 17-11-2023 05:15 3020087

кажется я нашел решение насчет прав доступа, может рано радуюсь, поэтому хочу посоветоваться.
в коде exe и dll есть строка:
Код:

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
      </requestedPrivileges>
    </security>
  </trustInfo>

описание нашел - https://learn.microsoft.com/ru-ru/cp...vc-170#remarks или http://www.heaventools.ru/rt-how-to-...o-manifest.htm
только не знаю, что попробовать поменять level или uiaccess?

Vanadiy777 18-11-2023 21:48 3020218

Цитата:

Цитата Wu-Tang
что попробовать поменять level или uiaccess? »

Для начала достаточно изменить level на level='requireAdministrator', ИМХО, и проверить.

P.S. Проверять на включенном UAC.

Wu-Tang 19-11-2023 05:27 3020226

Vanadiy777,
попробовал, не прокатило :( не пойму, что ей еще надобно ))) какая упертая прога )))

Vanadiy777 21-11-2023 15:43 3020278

Цитата:

Цитата Wu-Tang
не пойму, что ей еще надобно ))) какая упертая прога ))) »

Wu-Tang,
раз такое дело, может есть смысл ставить ее в ProgramData, там то она нормально работает?

Wu-Tang 22-11-2023 09:45 3020308

Вложений: 1
Vanadiy777,
не знаю пока
не могли бы помочь пути переписать

ps переписал сам, итог - не але, это клиника... и у меня уже тоже...

Vanadiy777 22-11-2023 16:57 3020337

Wu-Tang,
Попробуйте, в остальных файлах только пути не забудьте поменять.
Код:

;!@Install@!UTF-8!
RunProgram="%%P:hidcon:cmd /c xcopy QuickSFV-%%P\\* \"%AllUsersProfile%\\QuickSFV\" /e /i /y"
RunProgram="%%P:hidcon:cmd /c copy /y QSFVExit.bat \"%SystemRoot%\""
RunProgram="%%P:hidcon:REGEDIT /S QuickSFV.reg"
GUIMode="2"
MiscFlags="4"
;!@InstallEnd@!


Wu-Tang 23-11-2023 00:43 3020357

Vanadiy777,
а как в рег файле прописывать allusesprofile, так и прописывать как переменную %allusersprofile%?

Vanadiy777 23-11-2023 01:11 3020358

Цитата:

Цитата Wu-Tang
а как в рег файле прописывать allusesprofile, »

Wu-Tang,
Вместо "Program Files" в рег-файле вставляем "ProgramData".

Wu-Tang 23-11-2023 06:59 3020361

Vanadiy777,
не, в program data ей тоже не нравится :laugh:
пробую сейчас в корень папки user, все распакоовалось, но в контексте пункты не появляются, может в путях в реестре неправильно так прописывать:
Код:

[HKEY_CLASSES_ROOT\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}\InProcServer32]
@="%HOMEPATH%\\QuickSFV\\QSFVShll.dll"
"ThreadingModel"="Apartment"


nibble74 23-11-2023 07:54 3020363

Wu-Tang, Чтобы каждый раз не распаковывать и не менять пути вручную. Кладем оба файла в папку программы (перемещайте папку куда угодно) и запускаем установку.

Установка
Код:

Reg Add "HKCR\.CRC" /ve /t REG_SZ /d "File_Verification_Database" /f
Reg Add "HKCR\.MD5" /ve /t REG_SZ /d "File_Verification_Database" /f
Reg Add "HKCR\.SFV" /ve /t REG_SZ /d "File_Verification_Database" /f
Reg Add "HKCR\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /ve /t REG_SZ /d "QuickSFV Shell Extension" /f
Reg Add "HKCR\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}\InProcServer32" /ve /t REG_SZ /d "%~dp0QSFVShll.dll" /f
Reg Add "HKCR\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}\InProcServer32" /v "ThreadingModel" /t REG_SZ /d "Apartment" /f
Reg Add "HKCR\*\shellex\ContextMenuHandlers\QuickSFV Shell Extension" /ve /t REG_SZ /d "{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /f
Reg Add "HKCR\Directory\shellex\ContextMenuHandlers\QuickSFV Shell Extension" /ve /t REG_SZ /d "{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /f
Reg Add "HKCR\File_Verification_Database" /ve /t REG_SZ /d "File Verification Database" /f
Reg Add "HKCR\File_Verification_Database\DefaultIcon" /ve /t REG_SZ /d "%~dp0QuickSFV.EXE,0" /f
Reg Add "HKCR\File_Verification_Database\Shell" /ve /t REG_SZ /d "open" /f
Reg Add "HKCR\File_Verification_Database\Shell\open" /ve /t REG_SZ /d "&Open" /f
Reg Add "HKCR\File_Verification_Database\Shell\open\command" /ve /t REG_SZ /d "%~dp0QuickSFV.EXE \"%%1\"" /f
Reg Add "HKCR\File_Verification_Database\Shell\verify_all" /ve /t REG_SZ /d "&Verify All" /f
Reg Add "HKCR\File_Verification_Database\Shell\verify_all\command" /ve /t REG_SZ /d "%~dp0QuickSFV.EXE DOALL \"%%1\"" /f
Reg Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellCompatibility\Objects\{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /v "CTXMENU_NOVERBS" /t REG_SZ /d "" /f
Reg Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" /v "{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /t REG_SZ /d "QuickSFV Shell Extension" /f


Удаление
Код:

Reg Delete "HKCR\.CRC" /f
Reg Delete "HKCR\.MD5" /f
Reg Delete "HKCR\.SFV" /f
Reg Delete "HKCR\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /f
Reg Delete "HKCR\*\shellex\ContextMenuHandlers\QuickSFV Shell Extension" /f
Reg Delete "HKCR\Directory\shellex\ContextMenuHandlers\QuickSFV Shell Extension" /f
Reg Delete "HKCR\File_Verification_Database" /f
Reg Delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellCompatibility\Objects\{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /f
Reg Delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" /v "{906b0e6e-61ce-11d3-8ee2-0060080a7242}" /f



Uninstall в реестре не нужен.

Wu-Tang 23-11-2023 08:31 3020365

nibble74,
спасибо.

ps все, я поехал в дурку, покидал ее и на рабочий стол и в roaming и в local, не читает, что в конфиге md5 по дефолту и все тут, читает только с отключенным uac, я не знаю, что еще можно сделать, мне, кажется, я перепробовал уже все.

Vanadiy777 23-11-2023 19:19 3020397

Цитата:

Цитата Wu-Tang
что в конфиге md5 по дефолту и все тут, читает только с отключенным uac, я не знаю, что еще можно сделать, мне, кажется, я перепробовал уже все. »

Wu-Tang,
Похоже, это все-таки косяк с самой программой...

Wu-Tang 24-11-2023 05:56 3020426

Vanadiy777,
похоже, что так.
но почему даже правка манифеста не помогла...

Vanadiy777 24-11-2023 13:47 3020456

Цитата:

Цитата Wu-Tang
но почему даже правка манифеста не помогла... »

Wu-Tang,
Манифест влияет только на запуск программы с разными правами, ИМХО.
Остальное внутри программы прописано.
Попробуйте разработчику написать.

Wu-Tang 25-11-2023 04:54 3020519

Vanadiy777,
попробую, но думается мне тщетно это будет.
ps надо же сколько крови попила, я уж надеялся, что из других папок заработает.


Время: 06:08.

Время: 06:08.
© OSzone.net 2001-