Показать полную графическую версию : [архив] Скрипты Inno Setup. Помощь и советы [часть 2]
Warning Line 57, Column 10:[hint] variable 'Result' never used »
Здесь только предупреждение, что Result никогда не будет использован.
По умолчанию, в любой функции должен стоять Result, т.е. мы тем самым указываем какое значение должо быть на выходе.
Я же писал для примера, т.е. поставьте в конце функции InitializeSetup Result:= True;
у меня даже MsgBox не открылся »
Значит этого файла нет, который вы задаёте в маске. Я вроде в скрипте везде написал коментарии, что и где. Где-то видимо ошиблись, проверьте внимательно скрипт.
svensoft
20-02-2010, 23:59
Подскажите, чем можно посмотреть\распаковать CompiledCode.bin из всрытого инсталлятора. ?.
чем можно посмотреть\распаковать CompiledCode.bin »
Любым Hex редактором, но ничего похожего на скрипт вы там не увидите.
svensoft
21-02-2010, 02:03
Любым Hex редактором, но ничего похожего на скрипт вы там не увидите. »
Получается имеем скрипт install_script.iss в котором есть все, кроме секции Code. Возможно-ли каким-то способом вытащить ее из вскрытого инсталлятора ?..
Возможно-ли каким-то способом вытащить ее из вскрытого инсталлятора ? »
Нет. Можно лишь отследить что делает оригинальный инсталлятор и потом, чего нет в распакованном скрипте, дописывать руками.
Здравствуйте, у меня несколько вопросов:
(Всё отмечено на рисунке)
http://s59.radikal.ru/i166/1002/9d/44b6735aa6a9.jpg (http://www.radikal.ru)
1. У кого-нибудь есть такой music button?
2.У кого-нибудь есть такой скин?
3.Как сделать такую панельку?
Inno Setup Compiler (http://restools.hanzify.org/inno/InnoCompiler100221_English(7zip).zip) 5.3.8 build 100221 (English) by Restools (http://restools.hanzify.org)
svensoft
21-02-2010, 20:01
Serega, Можно лишь отследить что делает оригинальный инсталлятор и потом, чего нет в распакованном скрипте, дописывать руками. »
А под словом отследить вы имели ввиду, что можно как-то прочитать код, т.е выдернуть нельзя, а прочитать можно ? Или говоря отследить , вы имели ввиду, что просто визуально понаблюдать за ходом работы инсталлятора и потом придумав секцию Code руками туда ее заполнить, или может еще чего ?.. До конца про "отследить" не понял.. :unsure:
А под словом отследить вы имели ввиду, что можно как-то прочитать код, т.е выдернуть нельзя, а прочитать можно ? »
Прочитать код конечно можно.
Запускаете в отладчике, допустим OllyDbg, инсталлятор и перемещаетесь по его коду, в поиске нужных вам вещей. Здесь единственная сложность, нужно разбираться в ассемблере.
В своём же сообщении, я имел ввиду, что отследить можно, что конкретно делает инсталлятор в системе пользователя. Т.е. делаем снимки системы с помощью RegShot'а, до установки и после. Затем сравниваем снимки и получаем результат действий инсталлятора в системе.
Ну а по внешнему оформлению, это только – справка + примеры скриптов + опыт.
Jerichoman
22-02-2010, 20:37
Если я делаю антологию, как сделать так, чтобы каждая игра распаковалась в свою папку и была возможность выбора установки каждой игры по отдельности?
Привет всем я навичёк обьясните пожалуста как пользоватся Inno Setup. Можно ли с помошью Inno Setup установить любую программу?
Sotonisto
22-02-2010, 23:48
Floopik, 1. У кого-нибудь есть такой music button?
2. У кого-нибудь есть такой скин?
3. Как сделать такую панельку? »
1. Скачай этот архив (http://rghost.ru/888810).
2. А ты можешь и сам такой скин сделать :) .
3. Эта панелька нарисованная - на каждой странице bmp рисунок. PSD исходник для фотошота можно качнуть отсюда (http://rghost.ru/900775).
Автор оигинального скрипта YURSHAT. По всем вопросам обращайся к нему :)
Привет всем я навичёк обьясните пожалуста как пользоватся Inno Setup. Можно ли с помошью Inno Setup установить любую программу? »
Не та тема :) Тут обсуждение написания скриптов, тебе нужно сюда (http://forum.oszone.net/thread-148707.html).
----
Всем, кто знает как такое cделать.
Есть оригинальный Half-Life c модом Paranoia. Для запуска мода нужно запустить exe фал халфы с такими параметрами -game paranoia -32bpp -gl.
Как сделать что бы во время создания ярлыка на рабочем столе эти параметры "дописывались" к нему. Примерно что б было вот так D:/Half-Life Paranoia/hl.exe -game paranoia -32bpp -gl?
baikalchanen
23-02-2010, 06:25
Я тоже давно искал скрипт как в инстале Resident Evil 4 от YURSHAT,но при запуске даёт такую вот ошибку,как исправить?
http://s003.radikal.ru/i201/1002/57/5fb8b649be45t.jpg (http://radikal.ru/F/s003.radikal.ru/i201/1002/57/5fb8b649be45.jpg.html)
baikalchanen, у тебя нету progress1.bmp если все картинки лежат в папке image то должно быть так
Source: Image\{#PB_ImageFile}; DestDir: "{tmp}"; Flags: recursesubdirs ignoreversion
Sotonisto
23-02-2010, 08:24
baikalchanen, у тебя установлен Preprocessor?
Правильно указал путь к файлу?
baikalchanen
23-02-2010, 16:53
Sotonisto, vint56,
Так эту значит проблему я решил.
Появились новые проблемы!!!Вот они!!!
1. http://s005.radikal.ru/i211/1002/73/bed0d6131926t.jpg (http://radikal.ru/F/s005.radikal.ru/i211/1002/73/bed0d6131926.jpg.html)-это нужно убрать!
2.http://s002.radikal.ru/i197/1002/74/e6a8f3ea1fc0t.jpg (http://radikal.ru/F/s002.radikal.ru/i197/1002/74/e6a8f3ea1fc0.jpg.html)-Языки озвучки тоже нужно убрать!(Под стрелочкой ничего не надо,но на всякий случай ,если не трудно тоже как убрать если DirectX ненужен?(НЕОБЯЗАТЕЛЬНО!!!)
3.http://s002.radikal.ru/i200/1002/73/b0618e303aeft.jpg (http://radikal.ru/F/s002.radikal.ru/i200/1002/73/b0618e303aef.jpg.html)-Вот какая ошибка вылезла при попытке обновления DirectX (Тут конечно видно что написано "Неверно задано имя папки",но я не пойму как исправить?
Скрипт прикрепил ниже!!!
Sotonisto сэнкс за ответ.
Sotonisto
23-02-2010, 19:40
baikalchanen,
1. Проблема в этом Caption:= ExpandConstant('{cm:Welcome1}')+#13+('{#MyAppName}');. Удали у себя +#13+('{#MyAppName}')
2. Удали эту секцию.
//************************************************ [Начало - Язык игры] ***************************************************//
function Lang: Boolean;
begin
Result:= rus;
end;
procedure ImageClick(Sender: TObject);
begin
case TLabel(Sender).Tag of
0: begin
pnl_ru.BevelInner:= bvLowered;
pnl_ru.Top:= ScaleY(381);
pnl_ru.Left:= ScaleX(320);
pnl_ru.Width:= ScaleX(42);
pnl_ru.Height:= ScaleY(30);
pnl_us.BevelInner:= bvSpace;
pnl_us.Top:= ScaleY(381);
pnl_us.Left:= ScaleX(380);
pnl_us.Width:= ScaleX(46);
pnl_us.Height:= ScaleY(33);
LanguageLabel2.Caption:= 'Русский';
rus:= True;
end;
1: begin
pnl_ru.BevelInner:= bvSpace;
pnl_ru.Top:= ScaleY(381);
pnl_ru.Left:= ScaleX(319);
pnl_ru.Width:= ScaleX(46);
pnl_ru.Height:= ScaleY(33);
pnl_us.BevelInner:= bvLowered;
pnl_us.Top:= ScaleY(381);
pnl_us.Left:= ScaleX(381);
pnl_us.Width:= ScaleX(42);
pnl_us.Height:= ScaleY(30);
LanguageLabel2.Caption:= 'Английский';
rus:= False;
end;
end;
end;
procedure InitializeWizard5();
begin
ExtractTemporaryFile('ru.bmp');
ExtractTemporaryFile('us.bmp');
LanguageLabel1 := TLabel.Create(WizardForm);
with LanguageLabel1 do
begin
Parent := WizardForm.SelectDirPage;
Top:= ScaleY(390);
Left:= ScaleX(90);
Width:= ScaleX(50);
Height:= ScaleY(15);
Font.Name:= 'Georgia'
Font.Size:= 8;
Font.Style:= [fsBold, fsItalic];
Transparent:= True;
Caption:= ExpandConstant('{cm:Language}');
end;
LanguageLabel2 := TLabel.Create(WizardForm);
with LanguageLabel2 do
begin
Parent := WizardForm.SelectDirPage;
Top:= ScaleY(390);
Left:= ScaleX(250);
Width:= ScaleX(50);
Height:= ScaleY(15);
Font.Name:= 'Georgia'
Font.Size:= 8;
Font.Style:= [fsBold, fsItalic];
Font.Color:= ClYellow;
Transparent:= True;
Caption:= 'Русский';
end;
pnl_ru:= TPanel.Create(WizardForm);
with pnl_ru do
begin
BevelInner:= bvLowered;
Top:= ScaleY(381);
Left:= ScaleX(320);
Width:= ScaleX(42);
Height:= ScaleY(30);
Parent:= WizardForm.SelectDirPage;
with TBitmapImage.Create(pnl_ru) do
begin
Align:= alClient;
Bitmap.LoadFromFile(ExpandConstant('{tmp}\ru.bmp'));
Stretch:= True;
Parent:= pnl_ru;
end;
with TLabel.Create(pnl_ru) do
begin
Align:= alClient;
Transparent:= True;
OnClick:= @ImageClick;
Parent:= pnl_ru;
Cursor:= crHand;
Tag:= 0;
end;
end;
pnl_us:= TPanel.Create(WizardForm);
with pnl_us do
begin
BevelInner:= bvSpace;
Top:= ScaleY(381);
Left:= ScaleX(380);
Width:= ScaleX(46);
Height:= ScaleY(33);
Parent:= WizardForm.SelectDirPage;
with TBitmapImage.Create(pnl_us) do
begin
Align:= alClient;
Bitmap.LoadFromFile(ExpandConstant('{tmp}\us.bmp'));
Stretch:= True;
Parent:= pnl_us;
end;
with TLabel.Create(pnl_us) do
begin
Align:= alClient;
Transparent:= True;
OnClick:= @ImageClick;
Parent:= pnl_us;
Cursor:= crHand;
Tag:= 1;
end;
end;
rus:= True;
end;
//************************************************ [Конец - Язык игры] ***************************************************//
Во время удаления секции ты удалишь InitializeWizard5(), так что после ее удаления тебе необходимо:
- Найди в скрипте (Ctr+F в помощь) InitializeWizard6 и переименуй его в InitializeWizard5.
- Прямо в конце скрипта есть это:Procedure InitializeWizard();
begin
InitializeWizard1();
InitializeWizard2();
InitializeWizard3();
InitializeWizard4();
InitializeWizard5();
InitializeWizard6();
end;
Удали оттуда InitializeWizard6(). Также не забудь "подправить" [CustomMessages].
3. DirectX должен находится в папке рядом с готовым инсталлом (у меня папка директа была в паке support, поэтому к нему и был такой путь - support\directx\dxsetup.exe).
Так же:
1. Ты не используешь текстуру прогресс-бара. Удали секцию кода за который она отвечает и картинку прогресс-бара.
2. Вниматель посмотри секцию [Icons] - там все для RE4, а не для Rainbow Six :)
P.S.: Подправь скрипт и все будет "пучком" :)
http://s55.radikal.ru/i148/1002/54/4e8f3f3a1de7t.jpg (http://radikal.ru/F/s55.radikal.ru/i148/1002/54/4e8f3f3a1de7.jpg.html) http://s004.radikal.ru/i205/1002/24/6b5b72152e72t.jpg (http://radikal.ru/F/s004.radikal.ru/i205/1002/24/6b5b72152e72.jpg.html) http://s001.radikal.ru/i196/1002/c8/b77d33d2fb2ft.jpg (http://radikal.ru/F/s001.radikal.ru/i196/1002/c8/b77d33d2fb2f.jpg.html) http://i055.radikal.ru/1002/7a/13489fc91211t.jpg (http://radikal.ru/F/i055.radikal.ru/1002/7a/13489fc91211.jpg.html) http://s003.radikal.ru/i203/1002/8b/61b2f59c9c9ft.jpg (http://radikal.ru/F/s003.radikal.ru/i203/1002/8b/61b2f59c9c9f.jpg.html)
baikalchanen
24-02-2010, 08:24
Sotonisto,ОГРОМНЕЙШЕЕ СПАСИБО!!!!
Ты просто афигенно помог,скоро буду править скрипт!!!! :) :yahoo: :applause: :super:
baikalchanen
24-02-2010, 12:02
Sotonisto, Вот так не задача!!!DirectX всё равно никак не хочет обновляться!"Неверно задано имя папки",я уже и положил его в папку к инсталу.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC