РуПаки и установщики
-
Оффлайн
Автор темы
Звание: Легенда
Админ
Сообщений: 2180
Создано тем: 315
Рейтинг: 10
Репа: (245|245|0)
Баллы: 3410
Был: 2024-07-09 07:18
Лайков: 197
Поделюсь своими наработками для Inno Setup. И хотя я и половины не знаю для работы с этой программой, но кое-что все таки умею. Представляю скрип для установки русификатора. Он собран на двух скриптах от китайского товарища restools. Это интересные эффекты заставки, музыки и капель воды на картинке. Скрипт подойдет для любых русификаторов, закинуть файлы можно в любую директорию. В папку {app} вставьте свои файлы и пропишите вручную в скрипте пути.
Для наглядности я в архив вставил все файлы присутствующие в скрипте, так что запускайте и собирайте установщик сразу. И самое главное, вам нужно установить вот эту весчь - ISPack_5.3.9_Full_Unicode_FULL+Plugs-I-S. Что там находится…
Inno Setup 5.3.9 - Компиллятор.
ISSJoiner v12 - Соединение двух скриптов .ISS. Выделение,ПКМ - "Join scripts".
ISUnpacker Explorer 1.6.9 - Распаковка инсталляторов. ПКМ - "Открыть в ISUnpacker"
ISSkin Builder v13.0 - Создание скинов Inno Setup.
ISTool 5.3.0.1 - Инструменты для создания установочных скриптов Inno Setup.
IS Form Desiner v5.1.8 - Создание страниц инсталлятора.
Converter REG2ISS 0.0.14 (by Serega) - Конвертирование файлов реестре .REG в .ISS ПКМ на .REG файлах
Inno Setup Scripting v5.1 - Справочное пособие по Inno Setup.
Inno Setup HELP & FAQ - Сборник Хелпов и инструкций по Inno Setup.
Inno Setup Example Scripts - Примеры скриптов Inno Setup.
Restools Plugins - 16 Плагинов Restools.
сам скрипт с пояснениями, он есть в архиве; для форума
; www.wylek.ru
[Setup]AppName=ALPlayer
; это имя приложения и папка
AppVerName=русификатор для ALPlayer 2.0.4
; это версия приложения
DefaultDirName={pf}ESTsoft
; это каталог приложения - {pf} это Program Files, путь - (DefaultDirName)Program FilesESTsoft(AppName)ALPlayer
OutputBaseFilename=ALPlayer20_RU
; имя выходного файла
Compression=lzma
LicenseFile=embeddedLicense.rtf
VersionInfoVersion=2.0.4
VersionInfoCompany=WYLEK
WizardSmallImageFile=embedded modern-header.bmp
SetupIconFile=embedded104.ico
; значок установщика
[Files]Source: embeddedlogo.bmp; Flags: dontcopy
; начальная заставка:
Source: embeddedlogo.wav; Flags: dontcopy
; музон
Source: embeddedWizModernImage-Is.bmp; Flags: dontcopy
; картинка слева:
Source: filtersInnoCallback.dll; DestDir: {tmp}; Flags: dontcopy
Source: filterscallnsis.dll; Flags: dontcopy
Source: filtersAdvSplash.dll; Flags: dontcopy
Source: filterswaterctrl.dll; Flags: dontcopy
; эффекты
Source: {app}English.dll; DestDir: {app}language; Flags: ignoreversion
; файл приложения, второй {app} это переменная каталога
Source: {app}DefSkin.ask; DestDir: {app}skinsEnglish; Flags: ignoreversion
; если второй {app} заменить на {commonprogramfiles}, то файл DefSkin.ask полетит в C: Program FilesCommon FilesskinsEnglish
[INI]Filename: {app}wylek.ru.url; Section: InternetShortcut; Key: URL; String: http://www.wylek.ru
; это установится линк на наш сайт
; это коды, тут лазить вообще не надо...
[Code]type
TTimerProc = procedure(h:longword; msg:longword; idevent:longword; dwTime:longword);
// »ШµчєЇКэІОКэёсКЅЙщГч
function WrapTimerProc(callback:TTimerProc; paramcount:integer):longword;
external 'wrapcallback@files:innocallback.dll stdcall';
// К№УГ»ШµчєЇКэµДЦчТЄИлїЪЧЄ»»єЇКэ.
function SetTimer(hWnd: longword; nIDEvent, uElapse: longword; lpTimerFunc: longword): longword;
external 'SetTimer@user32.dll stdcall';
// WinAPI єЇКэ, К±јдС»·єЇКэ, ХвёцєЇКэРиТЄ»ШµчєЇКэ, ·сФтІ»ДЬКµПЦ№¦ДЬ
function enablewater(ParentWnd: HWND; Left, Top: integer; Bmp: HBITMAP;
WaterRadius, WaterHeight: integer): BOOL; external 'enablewater@files:waterctrl.dll stdcall';
//ParentWnd ·ЕЦГМШР§ґ°їЪµДёёґ°їЪѕд±ъЎЈ
//Left ЧуО»ЦГ
//Top ЙПО»ЦГ
//Bmp О»Нјѕд±ъЎЈ
//WaterRadius Л®ОЖ°лѕ¶Ј¬»бБоµЅЛ®ОЖїґЖрАґ·¶О§ёь№гЎЈ
//WaterHeight Л®ОЖёЯ¶ИЈ¬»бБоµЅЛ®ОЖїґЖрАґёьЙоЎЈ
//ЧўТвЈ¬Л®ОЖІејюЧФ¶ЇёщѕЭНјЖ¬АґЙи¶ЁёЯ¶ИєНїн¶ИЈ¬
//БнНвЛ®ОЖµЧНј±ШРлКЗ·ЧЄµДНјЖ¬Ј¬ПФКѕµДК±єт»б·ЧЄНјЖ¬АґПФКѕЎЈ
function waterblob(x, y: integer; radius, height: integer): BOOL; external 'waterblob@files:waterctrl.dll stdcall';
// ФЪ x,y µгІъЙъ°лѕ¶ОЄradius, ёЯ¶ИОЄheight µДЛ®ОЖЎЈ
function flattenwater(): BOOL; external 'flattenwater@files:waterctrl.dll stdcall';
// ЖЅ·ьЛщУРЛ®ОЖЎЈ
function disablewater(): BOOL; external 'disablewater@files:waterctrl.dll stdcall';
//КН·ЕЛ®ОЖІејю
function setwaterparent(ParentWnd: HWND): BOOL; external 'setwaterparent@files:waterctrl.dll stdcall';
//v2 РВФцЈ¬ЙиЦГЛ®ОЖІејюµДёёѕд±ъ
var
bmp: TBitmap;
procedure mytimerproc(h:longword; msg:longword; idevent:longword; dwTime:longword);
begin
waterblob(random(162), random(289), random(5), random(200)); // Лж»ъІъЙъРЎЛ®ОЖ
end;
procedure InitializeWizard1();
var
timercallback: longword;
begin
ExtractTemporaryFile('WizModernImage-Is.bmp');
bmp // File /oname=logo.wav "my_splashshit.wav" # КН·ЕОДјю
// advsplash::show 2800 1400 1200 -1 $TEMPspltmp # µчУГІејю
// Pop $0 # ИЎ·µ»ШЦµЈє ·µ»Ш '1' ±нКѕУГ»§МбЗ°№Ш±ХЙБЖБ, ·µ»Ш '0' ±нКѕЙБЖБХэіЈЅбКш, ·µ»Ш '-1' ±нКѕЙБЖБПФКѕіцґн
// »щ±ѕЙПЈ¬µчУГµД·Ѕ·Ё¶јКЗТ»СщµДЈ¬ЛщТФЦ»ТЄЙФЙФїґїґ NSIS µДІејюАэЧУЈ¬ДгѕНїЙТФФЪ INNO ЦРАыУГТФЙП·Ѕ·ЁЅшРРµчУГ
if val = 1 then
MsgBox('Дгµг»чБЛЙБЖБґ°їЪЈ¬µјЦВЙБЖБМбЗ°№Ш±ХЈЎ', mbConfirmation, MB_OK);
end;
procedure InitializeWizard();
begin
InitializeWizard1();
InitializeWizard2();
end;
procedure CurPageChanged(CurPageID: Integer);
begin
CurPageChanged1(CurPageID);
end;
procedure DeinitializeSetup();
begin
DeinitializeSetup1();
end;
[CustomMessages]Russian.NameAndVersion=%1, версия %2
Russian.AdditionalIcons=Дополнительные значки:
Russian.CreateDesktopIcon=Создать значок на Рабочем столе
Russian.CreateQuickLaunchIcon=Создать значок в Панели быстрого запуска
Russian.ProgramOnTheWeb=Сайт %1 в Интернете
Russian.UninstallProgram=Деинсталлировать %1
Russian.LaunchProgram=Запустить %1
Russian.AssocFileExtension=Связать %1 с файлами, имеющими расширение %2
Russian.AssocingFileExtension=Связывание %1 с файлами %2...
[Languages]; These files are stubs
; To achieve better results after recompilation, use the real language files
Name: Russian; MessagesFile: compiler:LanguagesRussian.isl
[Messages]BeveledLabel=Перевод WYLEK
Вот этой программой будете все скрипты переделывать по своему желанию – ISTool, и собирать ей тоже. Для начала, я думаю, хватит. Обсуждаем и не стесняемся все вместе. Все знают только идиоты или гении, а мы нормальные люди и должны учиться друг у друга.
Качаем все вместе…
http://rghost.ru/522253717 апреля 2011 - 17:14 / #1 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 942
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1661
Был: 2024-07-27 00:32
Лайков: 162
Я никогда с InnoSetup не работал (чуть-чуть с NSIS).
Вопрос: он позволяет создавать патчи (наподобии с программой PatchWise Free)? И еще вопрос по приведенному коду: у меня в браузере некоторые его строки, которые начинаются на //, отображается в таком виде: Л®ОЖ°лѕ¶Ј¬»бБоµЅЛ®ОЖїґЖрАґ·¶О§ёь№гЎЈ
Это так и должно быть или это у меня проблемы? И меня просьба: делать все текстовые файлы (*.txt) в кодировке UTF-8, названия файлов давать латиницей. У меня система немецкая и с кириллицей не дружит. Но, если этого нельзя сделать, по каким-либо причинам, то буду тогда сам решать эти небольшие неувязочки. Проблем, как говорится, нет.17 апреля 2011 - 21:12 / #2 -
Оффлайн
Автор темы
Звание: Легенда
Админ
Сообщений: 2180
Создано тем: 315
Рейтинг: 10
Репа: (245|245|0)
Баллы: 3410
Был: 2024-07-09 07:18
Лайков: 197
Цитата: Lesergу меня в браузере некоторые его строки, которые начинаются на //, отображается в таком виде: Л®ОЖ°лѕ¶Ј¬»бБоµЅЛ®ОЖїґЖрАґ·¶О§ёь№гЎЈ
Это китайский язык, а кавычки в коде это команда конца кода и можно описание за ними делать. Вот создатель кода и написал....только на своем языкеЦитата: LesergИ меня просьба: делать все текстовые файлы (*.txt) в кодировке UTF-8, названия файлов давать латиницей.
Но это само собой. Так в моем примере нет русских имен. А файл wylek.iss открывать нужно прогой ISTool17 апреля 2011 - 21:35 / #3 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 942
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1661
Был: 2024-07-27 00:32
Лайков: 162
Цитата: WYLEKТак в моем примере нет русских имен.
Да, нету. Но вот архив назван по русски - форум.rar. Ну ничего страшного, все в порядке.17 апреля 2011 - 22:30 / #4 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 942
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1661
Был: 2024-07-27 00:32
Лайков: 162
Я тут по InnoSetup чуть порыл. Можно и им делать патчи. Прикручивается к нему DLL, называется VPatch. Только в отличии от PatchWise все ручками писать надо .19 апреля 2011 - 01:05 / #5 -
Оффлайн
Автор темы
Звание: Легенда
Админ
Сообщений: 2180
Создано тем: 315
Рейтинг: 10
Репа: (245|245|0)
Баллы: 3410
Был: 2024-07-09 07:18
Лайков: 197
Цитата: LesergЯ тут по InnoSetup чуть порыл. Можно и им делать патчи. Прикручивается к нему DLL, называется VPatch. Только в отличии от PatchWise все ручками писать надо
Да видел я это, и переделанные на русский язык скрипты(описание) есть у меня. Но живых примеров ноль...
Видать не ахти как работает.19 апреля 2011 - 08:59 / #6 -
Геннадий такой вопрос.
Я распаковал экзешник UniExtract, появилось куево множество папок, я заменил в папках нужные мне файлы, чем и главное как, всё это пиршество собрать назад в инсталлятор?Храни меня Господь от тех, кому я верю. Кому не верю - тех остерегусь я сам.
25 апреля 2011 - 12:35 / #7 -
Оффлайн
Автор темы
Звание: Легенда
Админ
Сообщений: 2180
Создано тем: 315
Рейтинг: 10
Репа: (245|245|0)
Баллы: 3410
Был: 2024-07-09 07:18
Лайков: 197
Цитата: StalevarГеннадий такой вопрос.
Я распаковал экзешник UniExtract, появилось куево множество папок, я заменил в папках нужные мне файлы, чем и главное как, всё это пиршество собрать назад в инсталлятор?
Вот как раз сейчас заливаю картинки с мануала по RuPack-у
Практически все они одинаково настраиваются,25 апреля 2011 - 14:02 / #8 -
25 апреля 2011 - 14:08 / #9
-
Оффлайн
Автор темы
Звание: Легенда
Админ
Сообщений: 2180
Создано тем: 315
Рейтинг: 10
Репа: (245|245|0)
Баллы: 3410
Был: 2024-07-09 07:18
Лайков: 197
Цитата: LesergЯ тут по InnoSetup чуть порыл. Можно и им делать патчи. Прикручивается к нему DLL, называется VPatch. Только в отличии от PatchWise все ручками писать надо
Вообщим, победил я патч на InnoSetup!!!
На примере проги Gold Burn я методом тыка (инфы ноль в сети) и перевода с китайского и сборка патча на NSIS собрал рабочий скрипт и все прибамбасы! А главное - я понял что и как делать...Все пропатчилось, и бэкап есть, только один минус - нет сообщений о работе патча . Чтобы узнать произошло пропатчивание или нет, надо запустить файл, но главного екзешника если не найдет, орет благим матом22 мая 2011 - 16:02 / #10
Статистика форума, пользователей онлайн: 0 (за последние 20 минут)
- Создано тем
- 1183
- Всего сообщений
- 15568
- Пользователей
- 17900
- Новый участник
- mrSigarr