![]() |
привет
хочу сделать совмещенный 86-64 тихий установщик quicksvf 2.36 https://www.quicksfv.org/download.html с регистрацией ассоциаций для md5, crc, svf но что-то ни черта не выходит, экзешники с оффа не поддерживают никакие ключи ps прога работает корректно от xp-10, на всех осях ее юзаю может быть кто-н сможет помочь. |
Цитата:
Если попробовать поставить программу через монитор установки, посмотреть, куда что прописывается, затем, все это сохранить и собрать в свой 7z SFX. Как-то так... |
Wu-Tang, А как на счёт MSI установщика ? Вам обязательно EXE нужен ?
|
Цитата:
А также, при использовании ключа тихой установки, по умолчанию регистрируются все типы файлов, заложенные в приложении. Как я понял, надо только три расширения md5, crc, svf |
Wu-Tang, существует множество способов расчета контрольных сумм: самостоятельным приложением (HashTab и пр.), функцией приложения (7-zip и пр.), встроенными приложениями (PowerShell и пр.) Чем особенен quicksvf?
|
Vanadiy777, Только сейчас посмотрел, действительно, msi по ходу ещё и урезанная версия.
|
Vanadiy777,
я думал об этом, распак идет четырех файлов в programm files, файлы разные, сверил по md5. ключи отловил эти для х86, для х64 тоже самое: Код:
Цитата:
nibble74, как ниже заметили, верно, он не доделанный. sov44, я пользуюсь разным в зависимости от обстоятельств, и hashtab и в тотале и иногда в 7zip, но эту я считаю максимально удобной и быстрой, юзаю ее еще со времен хр. |
Цитата:
Все правильно, разрядность же разная. Теперь, когда известен путь установки и значения реестра, собрать все это в 7z SFX. |
Vanadiy777,
так собрать еще надо ведь ))) сделать регистрацию dll |
Цитата:
Так Вы ж не раз это делали... :wink: Цитата:
а сразу добавляется значение в реестр. Код:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}] |
Vanadiy777,
ух, как ща понапишу :laugh: Цитата:
Код:
;!@Install@!UTF-8! ![]() но что-то мне, кажется, хрень какую-то понаписал :unsure: не фурыкает ((( посидел еще часок, вроде это заработало: Код:
;!@Install@!UTF-8! |
Wu-Tang,
Код:
SetEnvironment="PFx86=%ProgramFiles%\\QuickSFV" Код:
Windows Registry Editor Version 5.00 |
nibble74,
а строку для установки/удаления не нужно? Код:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\QuickSFV] Код:
|
Цитата:
Стандартный Uninstall не отрабатывает корректно... Ключи удаляет, а файлы и папку оставляет на месте... Может, на удаление какой-нибудь батник сделать? |
Wu-Tang,
Создаём батник "QSFVExit.bat" с таким содержимым: Код:
@echo off Посмотрите мой пост под номером 12, я его немного изменил. Дополнил конфиг и reg. Надеюсь разберётесь ) |
nibble74,
Протестиил все, строка в установке и удалении появляется - ![]() удаление, удаляет, но иногда было, что не удаляло dll, отказано в доступе - ![]() как-то через раз происходило, я раз 10 протестил. есть ли смысл сделать так в батнике: Код:
@echo off |
Тоже заметил, что ДЛЛ (иногда) блокируется.
Попробуйте зациклить: Код:
taskkill /F /IM explorer.exe & start explorer.exe |
nibble74,
хм, а вот этот кусок в какое место скрипта вставить, так что ли: Код:
@echo off я в правильное место вставил? |
Wu-Tang, Да. Всё правильно.
Или так: Код:
:hmmm |
nibble74,
Действительно, предела совершенству нет ))) Отловил баг, программа пишет в свою папку файл настроек ini, где сохраняет дефолтный алгоритм и расположение окна, так вот я тестил на чистых осях 7 и 10, она не может его туда записать и каждый раз приходится заново выбирать алгоритм, стоит отключить uac, то сразу нормально записывает. так вот мне пришло в голову, как бы папке quicksfv в program files поменять права на юзера с правом записи в нее, чтобы после установки файл настроек мог туда писаться, у кого uac включен, нашел тулзу - http://forum.oszone.net/post-2732946-1244.html но не знаю как это реализовать в нашем конфиге установки. либо как-то через: Код:
cmd.exe /c takeown /f 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 |
Цитата:
Попробуйте как-то так: Код:
ICACLS "%SystemDrive%\Program Files\quicksfv" /T /grant "%UserName%":M |
Vanadiy777,
да, понимаете в чем дело, я потом уже начал ручками менять права на эту папку, дал и пользователю и учетке и всему чему можно полные права, но файл настроек так и не захотела она писать в нее, но как отключаешь uac, то сразу пишет, я теперь не пойму, какого уровня блок идет со стороны оси. |
Цитата:
А сейчас, если эту команду в командной строке от Админа применить, тоже не сохраняет? |
Vanadiy777,
попробовал - все также ((( не поленился, протестил на каждом отключенном ключе в ветке по uac, и скажу, меняешь только один. Код:
;Отключить вот как бы это обойти, если кто-то будет юзать прогу с включенным uac. ps самое крайнее, что приходит в голову, инсталлить ее в корень, но как-то не кошерно уже будет имхо |
|
Цитата:
|
sov44,
Цитата:
https://dropmefiles.com/9jC9U |
Wu-Tang,
На чистой Windows 11, где никакие права не затрагивались. На полностью включенной UAC. Изначально не читает и не пишет... После применения команды: Код:
ICACLS "%SystemDrive%\Program Files\quicksfv" /T /grant "%UserName%":M Как-то так... :) Как еще проверить? |
Vanadiy777,
как так :o я проверял на 4-х системах, двух 10 и двух 7. у вас сохраняется настройка, что просчитать md5, а не sfv по дефолту? ![]() у меня каждый раз там sfv и сохраняет, что нужно md5 только после выключения uac. ps тестовые оси чистые, на виртуалке. ps2 перепроверил еще на одной свежеустановленной 7-ке, не сохраняет. причем icacls отрабатывает Код:
Microsoft Windows [Version 6.1.7601] ![]() а на одной из 10 вообще выдало: Код:
ICACLS "%SystemDrive%\Program Files\quicksfv" /T /grant "%UserName%":M |
ну что есть какие-н мысли у кого насчет этого?
|
Цитата:
Первая) Распакуйте архив в папку пользователя %UserProfile% вместо Program Files. Вторая) Отказаться от SFX архива и юзать как портабелку. Потребуется подкорректировать батники. |
Wu-Tang, попробуйте мою сборку https://disk.yandex.ru/d/r2fUYsiwtDg-Eg
При запуске Total Commander от имени администратора с включенным UAC в контексте хэши делаются по умолчанию в md5. В контексте проводника по прежнему в sfv. Пользователю с помощью SetAcl даны полные права на папку установки программы. При желании способ можно заменить на штатный с помощью ICACLS. Проблему удаления QSFVShll.dll попытался решить без убийства explorer, но 100% гарантии этот способ не даёт. |
sov44,
потестил, ну да, из проводника так и предлагает sfv, вот зараза, почему она не хочет читать ini, где четко прописано md5. то что из тотала работает, это логично, тк он видимо пункт из контекста запускает с повышенными правами. у меня есть мысль, но как реализовать не знаю, а что если в ключи реестра, которые отвечают за запуск из контекста, добавить повышение прав? типа runas. тк задумка ставить ее и юзать полнофункционально не выходит. ps кстати, после удаления вашей сборки, проводник сам не запустился. nibble74, я заметил особенность, что некоторые свежие проги ставятся на 10-ке по дефолту в %appdata/local% - опера, дискорд и тд может это связано как раз с такой петрушкой в плане записи/чтения из program files? |
Wu-Tang, Разработчик не доработал свою прогу. Ведь даже после установки оригинальным установщиком настройки расширения не сохраняются.
Помнится мне очень давно пользовался этой прогой, давал полные разрешения пользователю на INI файл и размещал папку... куда не помню ). Может в корень папки пользователя или в общую папку и тогда настройки начинали сохраняться, даже запоминало последнее выбранное расширение. Что тут скажешь... надо экспериментировать. Цитата:
|
Цитата:
Цитата:
|
nibble74,
да, я тоже думаю, что это косяк в коде, не добавил обход этого блока. может собрать инсталлер, чтобы ставилась в какую-то системную папку, где полные права, я попробовал переписать пути в %localappdata%, поставилась, ini читает, но в контекст не встроилась и анинсталлер не работает, может и я где ошибся, а у program data резанные права, если туда ставить? или, как вы говорите, в %users% вообще, конечно, хотелось бы ее научить из program files работать. sov44, было бы неплохо, если бы вы нашли решение. ps я пока попробую переписать пути на %users% |
Wu-Tang, Пробовали написать разработчику ? Там на сайте два адреса, один для отчетов об ошибках. Может разработчик исправит дело с ini файлом.
|
nibble74,
была такая мысль, но меня терзают смутные сомнения, что он уже не занимается своей программой, но попробовать можно. |
кажется я нашел решение насчет прав доступа, может рано радуюсь, поэтому хочу посоветоваться.
в коде exe и dll есть строка: Код:
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> только не знаю, что попробовать поменять level или uiaccess? |
Цитата:
P.S. Проверять на включенном UAC. |
Vanadiy777,
попробовал, не прокатило :( не пойму, что ей еще надобно ))) какая упертая прога ))) |
Цитата:
раз такое дело, может есть смысл ставить ее в ProgramData, там то она нормально работает? |
Вложений: 1
Vanadiy777,
не знаю пока не могли бы помочь пути переписать ps переписал сам, итог - не але, это клиника... и у меня уже тоже... |
Wu-Tang,
Попробуйте, в остальных файлах только пути не забудьте поменять. Код:
;!@Install@!UTF-8! |
Vanadiy777,
а как в рег файле прописывать allusesprofile, так и прописывать как переменную %allusersprofile%? |
Цитата:
Вместо "Program Files" в рег-файле вставляем "ProgramData". |
Vanadiy777,
не, в program data ей тоже не нравится :laugh: пробую сейчас в корень папки user, все распакоовалось, но в контексте пункты не появляются, может в путях в реестре неправильно так прописывать: Код:
[HKEY_CLASSES_ROOT\CLSID\{906b0e6e-61ce-11d3-8ee2-0060080a7242}\InProcServer32] |
Wu-Tang, Чтобы каждый раз не распаковывать и не менять пути вручную. Кладем оба файла в папку программы (перемещайте папку куда угодно) и запускаем установку.
Установка
Код:
Reg Add "HKCR\.CRC" /ve /t REG_SZ /d "File_Verification_Database" /f Удаление
Код:
Reg Delete "HKCR\.CRC" /f Uninstall в реестре не нужен. |
nibble74,
спасибо. ps все, я поехал в дурку, покидал ее и на рабочий стол и в roaming и в local, не читает, что в конфиге md5 по дефолту и все тут, читает только с отключенным uac, я не знаю, что еще можно сделать, мне, кажется, я перепробовал уже все. |
Цитата:
Похоже, это все-таки косяк с самой программой... |
Vanadiy777,
похоже, что так. но почему даже правка манифеста не помогла... |
Цитата:
Манифест влияет только на запуск программы с разными правами, ИМХО. Остальное внутри программы прописано. Попробуйте разработчику написать. |
Vanadiy777,
попробую, но думается мне тщетно это будет. ps надо же сколько крови попила, я уж надеялся, что из других папок заработает. |
Время: 06:34. |
Время: 06:34.
© OSzone.net 2001-