Делаем патч в Inno как на PatchWise Free…
-
Оффлайн
Автор темы
Звание: Легенда
Админ
Сообщений: 2195
Создано тем: 317
Рейтинг: 10
Репа: (245|245|0)
Баллы: 3580
Был: 2024-12-02 08:50
Лайков: 202
Делаем патч в Inno как на PatchWise Free…
От меня: я не создаю скрипты для Inno, я ими пользуюсь!
При создании установщика была поставлена задача в контейнер запхнуть три установщика. И чтобы они по очереди запускались. Извращения эти делались во благо конечного пользователя, потому что Photoshop(х86) и Photoshop(х64) устанавливается куда попало в разных выпусках. А для уменьшения размера надо было сделать патч в PatchWise Free. Я себе установил 64 битную версию оси, и каково же было у меня удивление, что PatchWise Free не понимает пути Program Files (x86)?! Но наработки рабочие уже были у меня, вдобавок прошерстил инет и собрал скрип для Inno. Что он может – патчить файлы как PatchWise Free, искать файл оригинала, проверять хеш-суммы файла и делать бэкап файлов!!! Инфа эта давняя, но общего рабочего скрипта и самой процедуры патчинга вы нигде не найдете – видать, червям лучше скормить свои знания, чем поделиться с народом. Я предоставляю на общее пользование полный комплект файлов для сборки установщика как PatchWise Free.
Поплакали, и хватит, теперь подробное описание сборки патча.
Чё надо:
Кролик – Можно свою локализованную программу
Полный пакет для патча –
Пакет для этих целей - ISPack_5.3.9_Full_Unicode_FULL+Pls- I-S
Скачайте и распакуйте архив в корень диска С. Разложите файлы по папкам : в Modified Files вставьте переведенный файл а в Original Files конечно исходный файл (не переведенный). В моем примере установите программу ThemesCreator-v4.16.2.6_RuPack и скопируйте файл ThemesCreator.exe в папку Modified Files. В этой же директории в папке PatchWise.bak скопируйте файл ThemesCreator.exe в папку Original Files.
Открываем файл WYLEK.bat - правый клик и выберите Изменить.
Сотрите лишнюю строку – здесь можно добавлять файлы, сколько вам надо.
Зайдите в папку Modified Files и скопируйте полное имя файла - ThemesCreator.exe и вставьте как на картинке.
Теперь сохраните изменения и запускайте батник на выполнение.
Выскочит окошко с процедурой выполнения и создаст файл MyPatch.dat, расположенный в папке PatchSetup. И я Вас прошу – не меняйте расположение и названия папок!!!
Зайдите в папку PatchSetup и откройте файл сценария Themes Creatorl.iss в Inno Setup Compiler.
Все что светится зеленым цветом это подсказка и на работу скрипта не влияет. Написано на русском и обязательно к прочтению перед изменением сценария!!!
Найдите это место и вставьте полное имя файла - ThemesCreator.exe вместо исходного. Вставлять надо аккуратно без лишних пробелов и символов!
Теперь замените на этом месте также вместо исходного файла на ThemesCreator.exe.
Сейчас у каждого виндоуса есть калькулятор подсчета хеша. Сделайте настройки как на скрине и вставьте MD5 исходного файла ThemesCreator.exe в строку выше.
Еще поменяйте полное имя здесь на ThemesCreator.exe в самом конце сценария. Это процедура патча и бэкапа файла.
Сколько у вас файлов для патчинга, столько надо прописать этих процедур. У нас одна и больше писать ничего не надо.
Вот для примера пропатчено три файла и количество процедур надо прописать три.
Делайте сохранение скрипта, желательно под другим именем, и запускайте компилирование. Если ничего не натворили, то все будет удачно и установщик будет создан в папке Output. Заходите туда и запускайте на исполнение. Не забудьте перед запуском установщика в директории Sony EricssonThemes Creator заменить файл ThemesCreator.exe на исходный!!! Все должно установиться без проблем.
Теперь повторно запустите и вы должны будете увидеть такую картину.
Я думаю, вы знаете, почему выскочило это предупреждение. Если нет, то вам поможет только Господь Бог. Кстати вы можете сделать эксперимент с папкой расположения. Тоже программа облает ваши руки. А тем парням кто русский язык не желает использовать, в директории программы создастся папка PatchBackup с исходным файлом. Нужно просто заменить в основной папке русифицированный и усЁ. Вот в принципе и вся процедура создания бэкапа – легко, просто и не принужденно…
Кстати патч созданный на эту программу в PatchWise Free весит 9.67 мб
Патч созданный на эту программу в Inno Setup весит 1.18 мб
Вот такой прикол…14 июня 2011 - 22:55 / #1 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 945
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1676
Был: 2024-07-28 22:59
Лайков: 167
Классный материал! Теперь для полной картины осталось еще сделать деинсталлятор русификатора (удаление файлов русификации и восстановление оригинальных файлов программы)
Также функцию деинсталляции может выполнять и сам установщик. Наверняка вы сталкивались с такими программами, когда она у вас уже установлена, но при запуске файла инсталляции Мастер показывает окно с выбором действий: 1) Восстановить установку, 2) Изменить установку, 3) Удалить программу.
Например, я такой прием опробовал в своем русификаторе для программы "QSetup". Правда для его создания использовал патчер "IndigoRose Visual Patch".
А вот подружиться с Inno, у меня пока не получается15 июня 2011 - 03:15 / #2 -
Оффлайн
Автор темы
Звание: Легенда
Админ
Сообщений: 2195
Создано тем: 317
Рейтинг: 10
Репа: (245|245|0)
Баллы: 3580
Был: 2024-12-02 08:50
Лайков: 202
Цитата: LesergТеперь для полной картины осталось еще сделать деинсталлятор русификатора (удаление файлов русификации и восстановление оригинальных файлов программы)
Сценарий есть такой. Правда здесь патчинг не проходит, а вот функции бэкапа и восстановления оригинальных файлов (любых расширений) после удаления русификатора работают на УРА! Вечером рабочий материал закину на сайт. Запрос на выбор действия тоже нет. Но зачем он нужен при удалении русификатора? Запустил удаление и все вернулось на круги своя...15 июня 2011 - 15:20 / #3 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 945
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1676
Был: 2024-07-28 22:59
Лайков: 167
Цитата: WYLEKЗапрос на выбор действия тоже нет. Но зачем он нужен при удалении русификатора?
Та то я для примера привел, чтоб вспомнили, а кто не знал, будет знать, что есть инсталляторы, которые выполняют действия деинсталлятора, плюс, попутно, могут выполнить переустановку приложения. Понятное дело, в наших русификаторах функция переустановки не нужна. Всего лишь два действия: установка и удаление.15 июня 2011 - 21:03 / #4 -
Оффлайн
Автор темы
Звание: Легенда
Админ
Сообщений: 2195
Создано тем: 317
Рейтинг: 10
Репа: (245|245|0)
Баллы: 3580
Был: 2024-12-02 08:50
Лайков: 202
Цитата: LesergТа то я для примера привел, чтоб вспомнили, а кто не знал, будет знать, что есть инсталляторы, которые выполняют действия деинсталлятора
Послал тебе файлы.
Может для других напишу мануальчик хотя там все понятно и так.
Протестируй и напиши что и как.15 июня 2011 - 21:50 / #5 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 945
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1676
Был: 2024-07-28 22:59
Лайков: 167
Цитата: WYLEKПротестируй и напиши что и как.
Тестировал на виртуалке: Windows XP SP3
--------------------------------------------------------
Делал все с теми файлами, которые ты дал. Поставил программу образец. Открыл сценарий в Inno (Unicode) и скомпилировал инсталлятор.16 июня 2011 - 03:59 / #6 -
Оффлайн
Автор темы
Звание: Легенда
Админ
Сообщений: 2195
Создано тем: 317
Рейтинг: 10
Репа: (245|245|0)
Баллы: 3580
Был: 2024-12-02 08:50
Лайков: 202
Цитата: Lesergи нажал далее. Выбор папки установки, путь показывает правильно
Для выбора пути справа находится кнопка ОбзорЦитата: LesergДалее... В меню "ПУСК" ->> "Программы" ярлыка на удаление русика не нашел.
В настройках ISTool выстави так.
Вот и ярлычки нарисовались
Для создания ярлыков есть раздел слеваЦитата: Lesergи нажал далее. Выбор папки установки, путь показывает правильно
Для выбора пути справа находится кнопка ОбзорЦитата: LesergДалее... В меню "ПУСК" ->> "Программы" ярлыка на удаление русика не нашел.
В настройках ISTool выстави так.
Вот и ярлычки нарисовались
Для создания ярлыков есть раздел слева зайди и создай ярлыки.
Цитата: Leserg1) Для картинки Wizard"а ты использовал изображение WizModernImage-Is.bmp размерами 500х1084 пкс, при этом размер файла равен 1,54 Мб! Зачем такой огромный размер картинки? Там же достаточно 164х314 пкс. Плюс, из-за этого на 1 Мб увеличился размер самого инсталлятора. Открой файл изображения в PaintNet, в меню "Изображение" выбери пункт "Изменить размер". В открывшемся окне сними галочку с параметра "Сохранять пропорции" и укажи "Ширина" = 164 пкс, в "Высота" = 314 пкс. Нажми "ОК" и сохрани получившееся изображение. В итоге размер файла получится всего лишь 150 кб.
Отвечаю твоими словами
Открой файл изображения в PaintNet, в меню "Изображение" выбери пункт "Изменить размер". В открывшемся окне сними галочку с параметра "Сохранять пропорции" и укажи "Ширина" = 164 пкс, в "Высота" = 314 пкс. Нажми "ОК" и сохрани получившееся изображение. В итоге размер файла получится всего лишь 150 кб.
И напоследок вот тебе готовый кусок скрипта - замени вот это у себя. Будут и значки и сообщения лишние исчезнут.[Setup] AppName=Русификатор к My Program AppVerName=My Program_RUS 1.5 DefaultDirName={pf}My Program AppVersion=My Program_RUS OutputBaseFilename=My Program_RU Compression=bzip LicenseFile=embeddedLicense.rtf WizardImageFile=embeddedWizModernImage-Is.bmp WizardSmallImageFile=embedde dWizardSmallImage.bmp SetupIconFile=embeddedWXICON.ico DirExistsWarning=no DefaultGroupName=My Program AllowNoIcons=true [Files] Source:
Для создания ярлыков есть раздел слева зайди и создай ярлыки.
Цитата: Leserg1) Для картинки Wizard"а ты использовал изображение WizModernImage-Is.bmp размерами 500х1084 пкс, при этом размер файла равен 1,54 Мб! Зачем такой огромный размер картинки? Там же достаточно 164х314 пкс. Плюс, из-за этого на 1 Мб увеличился размер самого инсталлятора. Открой файл изображения в PaintNet, в меню "Изображение" выбери пункт "Изменить размер". В открывшемся окне сними галочку с параметра "Сохранять пропорции" и укажи "Ширина" = 164 пкс, в "Высота" = 314 пкс. Нажми "ОК" и сохрани получившееся изображение. В итоге размер файла получится всего лишь 150 кб.
Отвечаю твоими словами
Открой файл изображения в PaintNet, в меню "Изображение" выбери пункт "Изменить размер". В открывшемся окне сними галочку с параметра "Сохранять пропорции" и укажи "Ширина" = 164 пкс, в "Высота" = 314 пкс. Нажми "ОК" и сохрани получившееся изображение. В итоге размер файла получится всего лишь 150 кб.
И напоследок вот тебе готовый кусок скрипта - замени вот это у себя. Будут и значки и сообщения лишние исчезнут.[Setup] AppName=Русификатор к My Program AppVerName=My Program_RUS 1.5 DefaultDirName={pf}My Program AppVersion=My Program_RUS OutputBaseFilename=My Program_RU Compression=bzip LicenseFile=embeddedLicense.rtf WizardImageFile=embeddedWizModernImage-Is.bmp WizardSmallImageFile=embedde dWizardSmallImage.bmp SetupIconFile=embeddedWXICON.ico DirExistsWarning=no DefaultGroupName=My Program AllowNoIcons=true [Files] Source:
Для создания ярлыков есть раздел слева зайди и создай ярлыки.
Цитата: Leserg1) Для картинки Wizard"а ты использовал изображение WizModernImage-Is.bmp размерами 500х1084 пкс, при этом размер файла равен 1,54 Мб! Зачем такой огромный размер картинки? Там же достаточно 164х314 пкс. Плюс, из-за этого на 1 Мб увеличился размер самого инсталлятора. Открой файл изображения в PaintNet, в меню "Изображение" выбери пункт "Изменить размер". В открывшемся окне сними галочку с параметра "Сохранять пропорции" и укажи "Ширина" = 164 пкс, в "Высота" = 314 пкс. Нажми "ОК" и сохрани получившееся изображение. В итоге размер файла получится всего лишь 150 кб.
Отвечаю твоими словами
Открой файл изображения в PaintNet, в меню "Изображение" выбери пункт "Изменить размер". В открывшемся окне сними галочку с параметра "Сохранять пропорции" и укажи "Ширина" = 164 пкс, в "Высота" = 314 пкс. Нажми "ОК" и сохрани получившееся изображение. В итоге размер файла получится всего лишь 150 кб.
И напоследок вот тебе готовый кусок скрипта - замени вот это у себя. Будут и значки и сообщения лишние исчезнут.[Setup] AppName=Русификатор к My Program AppVerName=My Program_RUS 1.5 DefaultDirName={pf}My Program AppVersion=My Program_RUS OutputBaseFilename=My Program_RU Compression=bzip LicenseFile=embeddedLicense.rtf WizardImageFile=embeddedWizModernImage-Is.bmp WizardSmallImageFile=embedde dWizardSmallImage.bmp SetupIconFile=embeddedWXICON.ico DirExistsWarning=no DefaultGroupName=My Program AllowNoIcons=true [Files] Source:{app}MyProg_RUS.exe; DestDir: {app}; DestName: MyProg.exe; Flags: ignoreversion recursesubdirs; BeforeInstall: CreateBackup Source: {app}R_RUS.txt; DestDir: {app}; DestName: R.txt; Flags: recursesubdirs ignoreversion; BeforeInstall: CreateBackup [Run] Filename: {app}MyProg.exe; Description: Запустить русскую версию; Flags: waituntilidle postinstall [Icons] Name: {group}My Program; Filename: {app}MyProg.exe Name: {group}Uninstall MyProg; Filename: {uninstallexe}; WorkingDir: {app} Filename: {app}INFO.exe; WorkingDir: {app}
16 июня 2011 - 15:11 / #7 -
Ну тут просто выкидывание файлов описано
Хотелось бы увидеть как определённые байты патчутся30 июня 2011 - 01:22 / #8 -
Оффлайн
Автор темы
Звание: Легенда
Админ
Сообщений: 2195
Создано тем: 317
Рейтинг: 10
Репа: (245|245|0)
Баллы: 3580
Был: 2024-12-02 08:50
Лайков: 202
Цитата: TEKTONНу тут просто выкидывание файлов описано
Хотелось бы увидеть как определённые байты патчутся
Переведи...30 июня 2011 - 12:53 / #9 -
Цитата: TEKTONПереведи...
Видел патч одного товарисча, который в Inno делает патчи, кейгены и кряки
Вот интересно бы увидеть код который в секцию CODE пишется.
Как известно, в Inno можно вытворять что хочешь Хоть программировать
Но для этого надо знать Pascal.1 июля 2011 - 11:00 / #10
Статистика форума, пользователей онлайн: 0 (за последние 20 минут)
- Создано тем
- 1197
- Всего сообщений
- 15772
- Пользователей
- 18032
- Новый участник
- VOVABOBR