Делаем патч в Inno как на PatchWise Free…

Делаем патч в Inno как на PatchWise Free…От меня: я не создаю скрипты для Inno,
  1. Оффлайн

    Автор темы

    WYLEK

    Звание: Легенда

    Админ

    Сообщений: 2195

    Создано тем: 317

    Рейтинг: 10

    Репа: (245|245|0)

    Баллы: 3580

    Был: 2024-11-18 08:59

    Лайков: 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 мб

    Вот такой прикол…
    Сообщение отредактировал 25 января 2023 - 16:13

    14 июня 2011 - 22:55 / #1
  2. Оффлайн

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 945

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1676

    Был: 2024-07-28 22:59

    Лайков: 167

    Классный материал! Теперь для полной картины осталось еще сделать деинсталлятор русификатора (удаление файлов русификации и восстановление оригинальных файлов программы) biggrin
    Также функцию деинсталляции может выполнять и сам установщик. Наверняка вы сталкивались с такими программами, когда она у вас уже установлена, но при запуске файла инсталляции Мастер показывает окно с выбором действий: 1) Восстановить установку, 2) Изменить установку, 3) Удалить программу.
    Например, я такой прием опробовал в своем русификаторе для программы "QSetup". Правда для его создания использовал патчер "IndigoRose Visual Patch".
    А вот подружиться с Inno, у меня пока не получается sad

    Кто ищет, тот всегда найдет!

    15 июня 2011 - 03:15 / #2
  3. Оффлайн

    Автор темы

    WYLEK

    Звание: Легенда

    Админ

    Сообщений: 2195

    Создано тем: 317

    Рейтинг: 10

    Репа: (245|245|0)

    Баллы: 3580

    Был: 2024-11-18 08:59

    Лайков: 202

    Цитата: Leserg
    Теперь для полной картины осталось еще сделать деинсталлятор русификатора (удаление файлов русификации и восстановление оригинальных файлов программы)


    Сценарий есть такой. Правда здесь патчинг не проходит, а вот функции бэкапа и восстановления оригинальных файлов (любых расширений) после удаления русификатора работают на УРА! Вечером рабочий материал закину на сайт. Запрос на выбор действия тоже нет. Но зачем он нужен при удалении русификатора? Запустил удаление и все вернулось на круги своя...
    Сообщение отредактировал 3 августа 2018 - 09:08

    15 июня 2011 - 15:20 / #3
  4. Оффлайн

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 945

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1676

    Был: 2024-07-28 22:59

    Лайков: 167

    Цитата: WYLEK
    Запрос на выбор действия тоже нет. Но зачем он нужен при удалении русификатора?


    Та то я для примера привел, чтоб вспомнили, а кто не знал, будет знать, что есть инсталляторы, которые выполняют действия деинсталлятора, плюс, попутно, могут выполнить переустановку приложения. Понятное дело, в наших русификаторах функция переустановки не нужна. Всего лишь два действия: установка и удаление. smile
    Сообщение отредактировал 3 августа 2018 - 09:08

    Кто ищет, тот всегда найдет!

    15 июня 2011 - 21:03 / #4
  5. Оффлайн

    Автор темы

    WYLEK

    Звание: Легенда

    Админ

    Сообщений: 2195

    Создано тем: 317

    Рейтинг: 10

    Репа: (245|245|0)

    Баллы: 3580

    Был: 2024-11-18 08:59

    Лайков: 202

    Цитата: Leserg
    Та то я для примера привел, чтоб вспомнили, а кто не знал, будет знать, что есть инсталляторы, которые выполняют действия деинсталлятора



    Послал тебе файлы.
    Может для других напишу мануальчик biggrin хотя там все понятно и так.
    Протестируй и напиши что и как.
    Сообщение отредактировал 3 августа 2018 - 09:09

    15 июня 2011 - 21:50 / #5
  6. Оффлайн

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 945

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1676

    Был: 2024-07-28 22:59

    Лайков: 167

    Цитата: WYLEK
    Протестируй и напиши что и как.


    Тестировал на виртуалке: Windows XP SP3
    --------------------------------------------------------
    Делал все с теми файлами, которые ты дал. Поставил программу образец. Открыл сценарий в Inno (Unicode) и скомпилировал инсталлятор.
    Сообщение отредактировал 3 августа 2018 - 09:12

    Кто ищет, тот всегда найдет!

    16 июня 2011 - 03:59 / #6
  7. Оффлайн

    Автор темы

    WYLEK

    Звание: Легенда

    Админ

    Сообщений: 2195

    Создано тем: 317

    Рейтинг: 10

    Репа: (245|245|0)

    Баллы: 3580

    Был: 2024-11-18 08:59

    Лайков: 202

    Цитата: Leserg
    и нажал далее. Выбор папки установки, путь показывает правильно



    Для выбора пути справа находится кнопка Обзор

    Цитата: Leserg
    Далее... В меню "ПУСК" ->> "Программы" ярлыка на удаление русика не нашел.



    В настройках ISTool выстави так.



    Вот и ярлычки нарисовались ura

    Для создания ярлыков есть раздел слева 
    Цитата: Leserg
    и нажал далее. Выбор папки установки, путь показывает правильно



    Для выбора пути справа находится кнопка Обзор

    Цитата: Leserg
    Далее... В меню "ПУСК" ->> "Программы" ярлыка на удаление русика не нашел.



    В настройках ISTool выстави так.



    Вот и ярлычки нарисовались ura

    Для создания ярлыков есть раздел слева biggrin зайди и создай ярлыки.




    Цитата: Leserg
    1) Для картинки Wizard"а ты использовал изображение WizModernImage-Is.bmp размерами 500х1084 пкс, при этом размер файла равен 1,54 Мб! Зачем такой огромный размер картинки? Там же достаточно 164х314 пкс. Плюс, из-за этого на 1 Мб увеличился размер самого инсталлятора. Открой файл изображения в PaintNet, в меню "Изображение" выбери пункт "Изменить размер". В открывшемся окне сними галочку с параметра "Сохранять пропорции" и укажи "Ширина" = 164 пкс, в "Высота" = 314 пкс. Нажми "ОК" и сохрани получившееся изображение. В итоге размер файла получится всего лишь 150 кб.



    Отвечаю твоими словами biggrin

    Открой файл изображения в PaintNet, в меню "Изображение" выбери пункт "Изменить размер". В открывшемся окне сними галочку с параметра "Сохранять пропорции" и укажи "Ширина" = 164 пкс, в "Высота" = 314 пкс. Нажми "ОК" и сохрани получившееся изображение. В итоге размер файла получится всего лишь 150 кб. chao

    И напоследок вот тебе готовый кусок скрипта - замени вот это у себя. Будут и значки и сообщения лишние исчезнут.


    
    [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:


    Для создания ярлыков есть раздел слева biggrin  зайди и создай ярлыки.




    Цитата: Leserg
    1) Для картинки Wizard"а ты использовал изображение WizModernImage-Is.bmp размерами 500х1084 пкс, при этом размер файла равен 1,54 Мб! Зачем такой огромный размер картинки? Там же достаточно 164х314 пкс. Плюс, из-за этого на 1 Мб увеличился размер самого инсталлятора. Открой файл изображения в PaintNet, в меню "Изображение" выбери пункт "Изменить размер". В открывшемся окне сними галочку с параметра "Сохранять пропорции" и укажи "Ширина" = 164 пкс, в "Высота" = 314 пкс. Нажми "ОК" и сохрани получившееся изображение. В итоге размер файла получится всего лишь 150 кб.



    Отвечаю твоими словами biggrin

    Открой файл изображения в PaintNet, в меню "Изображение" выбери пункт "Изменить размер". В открывшемся окне сними галочку с параметра "Сохранять пропорции" и укажи "Ширина" = 164 пкс, в "Высота" = 314 пкс. Нажми "ОК" и сохрани получившееся изображение. В итоге размер файла получится всего лишь 150 кб. chao

    И напоследок вот тебе готовый кусок скрипта - замени вот это у себя. Будут и значки и сообщения лишние исчезнут.


    
    [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:


    Для создания ярлыков есть раздел слева  biggrin зайди и создай ярлыки.




    Цитата: Leserg
    1) Для картинки Wizard"а ты использовал изображение WizModernImage-Is.bmp размерами 500х1084 пкс, при этом размер файла равен 1,54 Мб! Зачем такой огромный размер картинки? Там же достаточно 164х314 пкс. Плюс, из-за этого на 1 Мб увеличился размер самого инсталлятора. Открой файл изображения в PaintNet, в меню "Изображение" выбери пункт "Изменить размер". В открывшемся окне сними галочку с параметра "Сохранять пропорции" и укажи "Ширина" = 164 пкс, в "Высота" = 314 пкс. Нажми "ОК" и сохрани получившееся изображение. В итоге размер файла получится всего лишь 150 кб.



    Отвечаю твоими словами biggrin

    Открой файл изображения в PaintNet, в меню "Изображение" выбери пункт "Изменить размер". В открывшемся окне сними галочку с параметра "Сохранять пропорции" и укажи "Ширина" = 164 пкс, в "Высота" = 314 пкс. Нажми "ОК" и сохрани получившееся изображение. В итоге размер файла получится всего лишь 150 кб. chao

    И напоследок вот тебе готовый кусок скрипта - замени вот это у себя. Будут и значки и сообщения лишние исчезнут.


    
    [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}
    
    Сообщение отредактировал 25 января 2023 - 16:33

    16 июня 2011 - 15:11 / #7
  8. Оффлайн

    TEKTON

    Звание: Прибывший

    Участники

    Сообщений: 2

    Создано тем: 0

    Рейтинг: 1

    Репа: (1|1|0)

    Баллы: 51

    Страна: не указана!

    Был: 2017-06-09 22:58

    Ну тут просто выкидывание файлов описано biggrin
    Хотелось бы увидеть как определённые байты патчутся biggrin
    30 июня 2011 - 01:22 / #8
  9. Оффлайн

    Автор темы

    WYLEK

    Звание: Легенда

    Админ

    Сообщений: 2195

    Создано тем: 317

    Рейтинг: 10

    Репа: (245|245|0)

    Баллы: 3580

    Был: 2024-11-18 08:59

    Лайков: 202

    Цитата: TEKTON
    Ну тут просто выкидывание файлов описано
    Хотелось бы увидеть как определённые байты патчутся



    Переведи... biggrin
    Сообщение отредактировал 3 августа 2018 - 09:13

    30 июня 2011 - 12:53 / #9
  10. Оффлайн

    TEKTON

    Звание: Прибывший

    Участники

    Сообщений: 2

    Создано тем: 0

    Рейтинг: 1

    Репа: (1|1|0)

    Баллы: 51

    Страна: не указана!

    Был: 2017-06-09 22:58

    Цитата: TEKTON
    Переведи... biggrin


    Видел патч одного товарисча, который в Inno делает патчи, кейгены и кряки biggrin
    Вот интересно бы увидеть код который в секцию CODE пишется.
    Как известно, в Inno можно вытворять что хочешь biggrin Хоть программировать biggrin
    Но для этого надо знать Pascal.
    Сообщение отредактировал 3 августа 2018 - 09:15
    1 июля 2011 - 11:00 / #10

Статистика форума, пользователей онлайн: 2 (за последние 20 минут)

Создано тем
1197
Всего сообщений
15762
Пользователей
18014
Новый участник
Markhabayev