• Добро пожаловать на WYLEK.ru. Пожалуйста, войдите или зарегистрируйтесь.
 
106 гостей, 4 пользователей

avatar_WYLEK

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

Автор WYLEK, 14 июня 2011, 22:55:38

« предыдущая - следующая »

WYLEKАвтор темы

Тема создана 14 июня 2011, 22:55:38 Последнее редактирование: 02 августа 2018, 22:05:13 от WYLEK
Делаем патч в 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 мб

Вот такой прикол...

Leserg

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

WYLEKАвтор темы

Ответ #2 : 15 июня 2011, 15:20:59 #2 Последнее редактирование: 03 августа 2018, 09:08:23 от WYLEK
Цитата: LesergТеперь для полной картины осталось еще сделать деинсталлятор русификатора (удаление файлов русификации и восстановление оригинальных файлов программы)
Сценарий есть такой. Правда здесь патчинг не проходит, а вот функции бэкапа и восстановления оригинальных файлов (любых расширений) после удаления русификатора работают на УРА! Вечером рабочий материал закину на сайт. Запрос на выбор действия тоже нет. Но зачем он нужен при удалении русификатора? Запустил удаление и все вернулось на круги своя...

Leserg

Ответ #3 : 15 июня 2011, 21:03:16 #3 Последнее редактирование: 03 августа 2018, 09:08:58 от WYLEK
Цитата: WYLEKЗапрос на выбор действия тоже нет. Но зачем он нужен при удалении русификатора?
Та то я для примера привел, чтоб вспомнили, а кто не знал, будет знать, что есть инсталляторы, которые выполняют действия деинсталлятора, плюс, попутно, могут выполнить переустановку приложения. Понятное дело, в наших русификаторах функция переустановки не нужна. Всего лишь два действия: установка и удаление.
Кто ищет, тот всегда найдет!

WYLEKАвтор темы

Ответ #4 : 15 июня 2011, 21:50:47 #4 Последнее редактирование: 03 августа 2018, 09:09:36 от WYLEK
Цитата: LesergТа то я для примера привел, чтоб вспомнили, а кто не знал, будет знать, что есть инсталляторы, которые выполняют действия деинсталлятора

 Послал тебе файлы.
 Может для других напишу мануальчик хотя там все понятно и так.
 Протестируй и напиши что и как.

Leserg

Ответ #5 : 16 июня 2011, 03:59:52 #5 Последнее редактирование: 03 августа 2018, 09:12:16 от WYLEK
Цитата: WYLEKПротестируй и напиши что и как.
Тестировал на виртуалке: Windows XP SP3
 --------------------------------------------------------
 Делал все с теми файлами, которые ты дал. Поставил программу образец. Открыл сценарий в Inno (Unicode) и скомпилировал инсталлятор.
Извините, вам запрещён просмотр содержимого спойлеров.
Кто ищет, тот всегда найдет!

WYLEKАвтор темы

Ответ #6 : 16 июня 2011, 15:11:01 #6 Последнее редактирование: 02 августа 2018, 22:08:53 от WYLEK
Цитата: Lesergи нажал далее. Выбор папки установки, путь показывает правильно

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

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

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

Извините, вам запрещён просмотр содержимого спойлеров.


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

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

Извините, вам запрещён просмотр содержимого спойлеров.



Цитата: Leserg1) Для картинки 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}

TEKTON

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

WYLEKАвтор темы

Ответ #8 : 30 июня 2011, 12:53:34 #8 Последнее редактирование: 03 августа 2018, 09:13:30 от WYLEK
Цитата: TEKTONНу тут просто выкидывание файлов описано  
 Хотелось бы увидеть как определённые байты патчутся

 Переведи...

TEKTON

Ответ #9 : 01 июля 2011, 11:00:46 #9 Последнее редактирование: 03 августа 2018, 09:15:04 от WYLEK
Цитата: TEKTONПереведи...
Видел патч одного товарисча, который в Inno делает патчи, кейгены и кряки
 Вот интересно бы увидеть код который в секцию CODE пишется.
 Как известно, в Inno можно вытворять что хочешь Хоть программировать
 Но для этого надо знать Pascal.

WYLEKАвтор темы

Ответ #10 : 01 июля 2011, 11:05:05 #10 Последнее редактирование: 03 августа 2018, 09:15:45 от WYLEK
Цитата: TEKTONВот интересно бы увидеть код который в секцию CODE пишется.

 Так скачай архив в шапке - там полный скрипт. Файл перезалил.

Gnom

Ответ #11 : 09 декабря 2011, 21:59:20 #11 Последнее редактирование: 03 августа 2018, 09:16:25 от WYLEK
Цитата: WYLEKПолный пакет для патча - Войдите на сайт для перехода по ссылке
Ссылка померла - хотел поковырять скрипт.

Metabolic

WYLEK - можеш перезалить файлы необходимые для данного "Урока"?

WYLEKАвтор темы

Ответ #13 : 05 апреля 2012, 21:47:49 #13 Последнее редактирование: 03 августа 2018, 09:17:04 от WYLEK
Цитата: MetabolicWYLEK - можеш перезалить файлы необходимые для данного "Урока"?

Перезалил, архив в шапке

Metabolic

А возможно с помощью "InnoSetup" на основе данного примера сделать инсталятор как в "PatchWise Free" стиля "Simple"?
чтобы инсталятор состоял из одного диолового окна с двумя кнопками - обновить и закрыть.

* Ваши права на сайте

    TinyPortal

  • Вы не можете создавать статьи.
  • Вы не можете изменять свои статьи.
  • Вы не можете писать комментарии.
  • Вы не можете управлять статьями.
  • Вы не можете загружать файлы в TPdownloads.
  • Вы не можете управлять TPlistimages.

    Simple Machines

  • Вы не можете удалять темы.
  • Вы не можете создавать темы.
  • Вы не можете отвечать на сообщения.
  • Вы не можете прикреплять файлы.
  • Вы не можете изменять свои сообщения.
  • Вы не можете удалять свои сообщения.

 аталог@MAIL.RU - каталог ресурсов интернет Яндекс.Метрика