|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Старожил Сообщения: 322
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
|
|
------- Отправлено: 10:22, 06-04-2011 | #1031 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата XCV:
Возьмите Visual Studio или Delphi и сварганьте конвертер, если не лень конечно... |
|
------- Последний раз редактировалось kotkovets, 06-04-2011 в 12:37. Отправлено: 12:23, 06-04-2011 | #1032 |
Старожил Сообщения: 322
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
ЗЫ: инсталятор то тоже можно самому написать |
|
------- Отправлено: 18:51, 06-04-2011 | #1033 |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать Доброго вечера, уважаемые.
Прошу помощи в следующем вопросе: имеются файлы с расширениями .tmp.patchFile и файл VPatch.dll как реализовать функцию патченья при помощи данных файлов средствами zip2exe в классической оболочке с автоматическим поиском папки назначения? За помощь буду очень благодарен и признателен. Заранее спасибо. |
Отправлено: 23:22, 06-04-2011 | #1034 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Уважаемый kotkovets, подскажите почему не компилируется такая строка?
WriteRegBin HKEY_CLASSES_ROOT ".bmp\OpenWithProgids" "Paint.Picture" Получена с помощью конвертера рег-файлов..... |
------- Отправлено: 09:21, 07-04-2011 | #1035 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
а запись бинарных данных записывается так: WriteRegBin [root_key] [subkey] [key_name] [valuedata] т.е так выходит: WriteRegBin HKLM "Software\My Company\My Software" "Binary Value" DEADBEEF01223211151 и к тому же записи такого типа полно в реестре, несложно посмотреь, но редактор бывает их сохраняет строковые значения как бинарные, утилитка это видит и делает по своему, как хозяин прописал... В вашем случае. как то так: WriteRegStr HKCR ".bmp" "OpenWithProgids" "Paint.Picture" Цитата a--e:
пример |
||
------- Отправлено: 10:05, 07-04-2011 | #1036 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать И у меня вопрос по поводу записи бинарных значений в реестр.
Запись в реестр значения этого рабочего reg-файла : [HKEY_CURRENT_USER\Software\ACD Systems\ACDSee Pro\40\en\Settings\Browser\BCGPDockManager--1] "DockingCBAndSliders"=hex:00,00,00,00,0b,00,00,00,00,00,00,00,00,20,00,00,00,\ 00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,00,00,00,00,04,00,00,00,04,00,\ 00,00,00,00,00,00,01,00,00,00,04,00,00,00,01,00,00,00,00,00,00,00,00,00,00,\ 00,88,56,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,\ 88,56,00,00,01,00,00,00,88,56,00,00,00,00,00,00,00,80,00,00,00,00,00,00,ff,\ ff,ff,ff,ff,ff,ff,ff,00,00,00,00,00,00,00,00,04,00,00,00,04,00,00,00,00,00,\ 00,00,01,00,00,00,04,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,d8,07,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,d8,07,00,00,\ 01,00,00,00,d8,07,00,00,00,00,00,00,00,40,00,00,00,00,00,00,ff,ff,ff,ff,ff,\ ff,ff,ff,b2,03,00,00,37,00,00,00,b6,03,00,00,b1,03,00,00,00,00,00,00,02,00,\ 00,10,04,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,ff,ff,ff,ff,04,00,00,\ 00,d2,07,00,00,cf,07,00,00,d3,07,00,00,d7,07,00,00,ff,ff,02,00,14,00,43,41,\ 43,44,54,61,62,62,65,64,43,6f,6e,74,72,6f,6c,42,61,72,00,40,00,00,00,00,00,\ 00,bb,03,00,00,56,00,00,00,05,05,00,00,cd,03,00,00,b6,03,00,00,37,00,00,00,\ 00,05,00,00,b1,03,00,00,00,00,00,00,01,00,00,00,40,41,00,46,04,00,00,00,ff,\ fe,ff,08,4f,00,72,00,67,00,61,00,6e,00,69,00,7a,00,65,00,00,00,00,00,d2,07,\ 00,00,01,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,fe,ff,09,54,00,61,00,73,00,6b,\ 00,20,00,50,00,61,00,6e,00,65,00,00,00,00,00,cf,07,00,00,01,00,00,00,ff,ff,\ ff,ff,ff,ff,ff,ff,ff,fe,ff,0a,50,00,72,00,6f,00,70,00,65,00,72,00,74,00,69,\ 00,65,00,73,00,00,00,00,00,d3,07,00,00,01,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,\ ff,fe,ff,06,53,00,65,00,61,00,72,00,63,00,68,00,00,00,00,00,d7,07,00,00,01,\ 00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,01,00,00,00,ff,ff,ff,ff,d2,07,00,00,01,00,00,\ 00,ff,ff,ff,ff,d2,07,00,00,00,00,00,00,00,10,00,00,01,00,00,00,ff,ff,ff,ff,\ ff,ff,ff,ff,e2,00,00,00,37,00,00,00,e6,00,00,00,ae,03,00,00,01,00,00,00,02,\ 00,00,10,04,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,01,00,00,00,ff,ff,ff,ff,04,00,00,00,d1,07,00,00,d5,07,00,\ 00,cd,07,00,00,ce,07,00,00,01,80,00,10,00,00,01,00,00,00,05,00,00,00,56,00,\ 00,00,e7,00,00,00,12,02,00,00,00,00,00,00,37,00,00,00,e2,00,00,00,f3,01,00,\ 00,00,00,00,00,01,00,00,00,40,14,00,56,04,00,00,00,ff,fe,ff,07,46,00,6f,00,\ 6c,00,64,00,65,00,72,00,73,00,01,00,00,00,d1,07,00,00,01,00,00,00,ff,ff,ff,\ ff,ff,ff,ff,ff,ff,fe,ff,08,43,00,61,00,6c,00,65,00,6e,00,64,00,61,00,72,00,\ 01,00,00,00,d5,07,00,00,01,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,fe,ff,09,46,\ 00,61,00,76,00,6f,00,72,00,69,00,74,00,65,00,73,00,01,00,00,00,cd,07,00,00,\ 01,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,fe,ff,0e,50,00,72,00,69,00,76,00,61,\ 00,74,00,65,00,20,00,46,00,6f,00,6c,00,64,00,65,00,72,00,00,00,00,00,ce,07,\ 00,00,01,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,00,00,00,00,d6,07,00,\ 00,01,00,00,00,00,00,00,00,01,00,00,00,01,00,00,00,ff,ff,ff,ff,00,00,00,00,\ f3,01,00,00,e2,00,00,00,f7,01,00,00,01,00,00,00,01,00,00,10,04,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,00,\ 00,00,ff,ff,ff,ff,d1,07,00,00,d6,07,00,00,01,00,00,00,d6,07,00,00,01,00,00,\ 00,ff,ff,ff,ff,d1,07,00,00,00,00,00,00,00,80,00,00,00,00,00,00,ff,ff,ff,ff,\ ff,ff,ff,ff,00,00,00,00,02,00,00,00,04,00,00,00,06,00,00,00,00,00,00,00,01,\ 00,00,00,04,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,d0,07,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,d0,07,00,00,01,00,00,\ 00,d0,07,00,00,00,00,00,00,00,00,00,00,00,00,00,00 Классический способ записи WriteRegBin [root_key] [subkey] [key_name] [valuedata] - почему то не срабатывает... Может значение слишком велико по объёму ? Пробую Registry плагин : Name "Bin" OutFile testbin.exe !include "Registry.nsh" Section ${registry::StrToHex} "00,00,00,00,0b,00,00,00,00,00,00,00,00,20,00,00,00,\ 00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,00,00,00,00,04,00,00,00,04,00,\ 00,00,00,00,00,00,01,00,00,00,04,00,00,00,01,00,00,00,00,00,00,00,00,00,00,\ 00,88,56,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,\ 88,56,00,00,01,00,00,00,88,56,00,00,00,00,00,00,00,80,00,00,00,00,00,00,ff,\ ff,ff,ff,ff,ff,ff,ff,00,00,00,00,00,00,00,00,04,00,00,00,04,00,00,00,00,00,\ 00,00,01,00,00,00,04,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,d8,07,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,d8,07,00,00,\ 01,00,00,00,d8,07,00,00,00,00,00,00,00,40,00,00,00,00,00,00,ff,ff,ff,ff,ff,\ ff,ff,ff,b2,03,00,00,37,00,00,00,b6,03,00,00,b1,03,00,00,00,00,00,00,02,00,\ 00,10,04,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,ff,ff,ff,ff,04,00,00,\ 00,d2,07,00,00,cf,07,00,00,d3,07,00,00,d7,07,00,00,ff,ff,02,00,14,00,43,41,\ 43,44,54,61,62,62,65,64,43,6f,6e,74,72,6f,6c,42,61,72,00,40,00,00,00,00,00,\ 00,bb,03,00,00,56,00,00,00,05,05,00,00,cd,03,00,00,b6,03,00,00,37,00,00,00,\ 00,05,00,00,b1,03,00,00,00,00,00,00,01,00,00,00,40,41,00,46,04,00,00,00,ff,\ fe,ff,08,4f,00,72,00,67,00,61,00,6e,00,69,00,7a,00,65,00,00,00,00,00,d2,07,\ 00,00,01,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,fe,ff,09,54,00,61,00,73,00,6b,\ 00,20,00,50,00,61,00,6e,00,65,00,00,00,00,00,cf,07,00,00,01,00,00,00,ff,ff,\ ff,ff,ff,ff,ff,ff,ff,fe,ff,0a,50,00,72,00,6f,00,70,00,65,00,72,00,74,00,69,\ 00,65,00,73,00,00,00,00,00,d3,07,00,00,01,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,\ ff,fe,ff,06,53,00,65,00,61,00,72,00,63,00,68,00,00,00,00,00,d7,07,00,00,01,\ 00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,01,00,00,00,ff,ff,ff,ff,d2,07,00,00,01,00,00,\ 00,ff,ff,ff,ff,d2,07,00,00,00,00,00,00,00,10,00,00,01,00,00,00,ff,ff,ff,ff,\ ff,ff,ff,ff,e2,00,00,00,37,00,00,00,e6,00,00,00,ae,03,00,00,01,00,00,00,02,\ 00,00,10,04,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,01,00,00,00,ff,ff,ff,ff,04,00,00,00,d1,07,00,00,d5,07,00,\ 00,cd,07,00,00,ce,07,00,00,01,80,00,10,00,00,01,00,00,00,05,00,00,00,56,00,\ 00,00,e7,00,00,00,12,02,00,00,00,00,00,00,37,00,00,00,e2,00,00,00,f3,01,00,\ 00,00,00,00,00,01,00,00,00,40,14,00,56,04,00,00,00,ff,fe,ff,07,46,00,6f,00,\ 6c,00,64,00,65,00,72,00,73,00,01,00,00,00,d1,07,00,00,01,00,00,00,ff,ff,ff,\ ff,ff,ff,ff,ff,ff,fe,ff,08,43,00,61,00,6c,00,65,00,6e,00,64,00,61,00,72,00,\ 01,00,00,00,d5,07,00,00,01,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,fe,ff,09,46,\ 00,61,00,76,00,6f,00,72,00,69,00,74,00,65,00,73,00,01,00,00,00,cd,07,00,00,\ 01,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,fe,ff,0e,50,00,72,00,69,00,76,00,61,\ 00,74,00,65,00,20,00,46,00,6f,00,6c,00,64,00,65,00,72,00,00,00,00,00,ce,07,\ 00,00,01,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,00,00,00,00,d6,07,00,\ 00,01,00,00,00,00,00,00,00,01,00,00,00,01,00,00,00,ff,ff,ff,ff,00,00,00,00,\ f3,01,00,00,e2,00,00,00,f7,01,00,00,01,00,00,00,01,00,00,10,04,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,00,\ 00,00,ff,ff,ff,ff,d1,07,00,00,d6,07,00,00,01,00,00,00,d6,07,00,00,01,00,00,\ 00,ff,ff,ff,ff,d1,07,00,00,00,00,00,00,00,80,00,00,00,00,00,00,ff,ff,ff,ff,\ ff,ff,ff,ff,00,00,00,00,02,00,00,00,04,00,00,00,06,00,00,00,00,00,00,00,01,\ 00,00,00,04,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,d0,07,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,d0,07,00,00,01,00,00,\ 00,d0,07,00,00,00,00,00,00,00,00,00,00,00,00,00,00" $0 ${registry::Write} "HKCU\Software\ACD Systems\ACDSee Pro\40\en\Settings\Browser\BCGPDockManager--1" "DockingCBAndSliders" "$0" "REG_BINARY" $R0 MessageBox MB_OK "registry::StrToHex$\n$\n\ К сожалению, при данном варианте скрипта, в реестр записалось значение, $\n$\n\ не соответствующее значению исходного REG-файла..." SectionEnd ps Проверяю, экспортируя из реестра, ключ записанный посредством NSIS. Значение в нём другое, отличное от исходного рабочего reg-файла... Что за чертовщина ?! |
Последний раз редактировалось MKN, 07-04-2011 в 10:56. Отправлено: 10:44, 07-04-2011 | #1037 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать MKN, дело в стандартном NSIS у которого размер передачи и хранения данных ограничен 1024 байтами, поэтому обрезается значение до этой длины, скачай специальную версию NSIS Large strings , где размер увеличен до 8192 байта, замени все файлы из скачанного архива.Сейчас проверил, работает как нужно, сравнил значения до и после - индетичны.
|
------- Отправлено: 11:21, 07-04-2011 | #1038 |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать kotkovets, это конечно хорошо и спасибо за оперативную помощь, но к сожаленю в nsis я полнейший профан.
В вашем примере есть 2 различных файла, а в моём случае есть оригинальный файл и файл (надеюсь правильно выразиться) разницы с расширением tmp.patchfile который не является модифицированным, а лишь содержит информацию о модификации. Я пробовал: сначала применить патч, затем утилитами извлечь повторно эту информацию (GenPat.exe, nsisPatchGen.exe, VPatchGUI) но в итогде потерпел с ними фиаско. Первые две файл *.pat вообще не создавали. Проверяли файлы (долго и упорно), проверили и все. VpatchGUI справлялся, но полученный на выходе файл ехе, dll и pat никоим образом в скрипт NSISa не прикрутился. ( возможно косяк в размере файлов. Всего должно пропатчиться 15 файлов среди которых 1 весит примерно 900мб. Цитата:
|
|
Отправлено: 12:03, 07-04-2011 | #1039 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать a--e, я стандартным в поставке nsis пользуюсь,без глюков работает и для каждого файла нужен свой патчик,
прежде, чем патчить файл, плагин сверяет сумму файла, который нужно патчить по алгоритму MD5 должны быть: оригинал файла и патченный вариант оригинального файла - патченный файл создаете любыми средствами. GenPat.exe - генерит файл изменений на основе сравнения оригинального файла и патченного. Предварительная подготовка, создаем батник: GenPat.exe "путь\оригинальный файл" "путь\патченный файл" "Path.pat" т.е на выходе получается Path.pat - файл изменений относительно оригинала и патченного файла. Далее в скрипте прописываем: OutFile "test.exe" InstDir "C:\Test" Section SetOutPath "$INSTDIR" File "путь к оригинальному файлу\file" ;засовываем файл в установщик InitPluginsDir File /oname=$PLUGINSDIR\path.pat "путь к path.pat" ;засовываем файл path.pat в установщик vpatch::vpatchfile "$PLUGINSDIR\path.pat" "путь к оригинальному файлу\file" "путь сохранения измененого оригинального файла\file_path" Delete "путь к оригинальному файлу\file" ;удаляем оригинальный файл Rename "путь сохранения измененного оригинального файла\file_path" "путь сохранения измененого оригинального файла\file" ;переименовываем патченый файл в оригинальное имя файла SectionEnd Цитата a--e:
|
|
------- Отправлено: 13:21, 07-04-2011 | #1040 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - WinAmp .:[ обсуждение всех версий ]:. | ssaram | Программное обеспечение Windows | 406 | 12-02-2022 19:45 | |
WinstyleMonitor .:[все вопросы]:. | Mr dUSHA | Проект WinStyle | 331 | 12-02-2014 13:15 | |
Delphi - Delphi .: [все вопросы] :. | Serega | Программирование и базы данных | 94 | 04-05-2013 18:45 | |
Доступ - Никак не удаляются файлы (AVI и все остальные форматы) .:[все вопросы]:. | Microsoft Windows 2000/XP | 105 | 30-06-2010 11:58 | ||
Вопросы по создателю инсталляций NSIS | MaxDELETE | Программное обеспечение Windows | 14 | 04-07-2007 10:01 |
|