PDA

Показать полную графическую версию : [архив] Скрипты Inno Setup. Помощь и советы [часть 2]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 [67] 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Serega
20-02-2010, 22:38
Warning Line 57, Column 10:[hint] variable 'Result' never used »
Здесь только предупреждение, что Result никогда не будет использован.
По умолчанию, в любой функции должен стоять Result, т.е. мы тем самым указываем какое значение должо быть на выходе.
Я же писал для примера, т.е. поставьте в конце функции InitializeSetup Result:= True;
у меня даже MsgBox не открылся »
Значит этого файла нет, который вы задаёте в маске. Я вроде в скрипте везде написал коментарии, что и где. Где-то видимо ошиблись, проверьте внимательно скрипт.

svensoft
20-02-2010, 23:59
Подскажите, чем можно посмотреть\распаковать CompiledCode.bin из всрытого инсталлятора. ?.

Serega
21-02-2010, 00:52
чем можно посмотреть\распаковать CompiledCode.bin »
Любым Hex редактором, но ничего похожего на скрипт вы там не увидите.

svensoft
21-02-2010, 02:03
Любым Hex редактором, но ничего похожего на скрипт вы там не увидите. »
Получается имеем скрипт install_script.iss в котором есть все, кроме секции Code. Возможно-ли каким-то способом вытащить ее из вскрытого инсталлятора ?..

Serega
21-02-2010, 02:28
Возможно-ли каким-то способом вытащить ее из вскрытого инсталлятора ? »
Нет. Можно лишь отследить что делает оригинальный инсталлятор и потом, чего нет в распакованном скрипте, дописывать руками.

Floopik
21-02-2010, 09:54
Здравствуйте, у меня несколько вопросов:
(Всё отмечено на рисунке)



http://s59.radikal.ru/i166/1002/9d/44b6735aa6a9.jpg (http://www.radikal.ru)





1. У кого-нибудь есть такой music button?
2.У кого-нибудь есть такой скин?
3.Как сделать такую панельку?

A1EXXX
21-02-2010, 16:54
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:

Serega
21-02-2010, 22:45
А под словом отследить вы имели ввиду, что можно как-то прочитать код, т.е выдернуть нельзя, а прочитать можно ? »
Прочитать код конечно можно.
Запускаете в отладчике, допустим OllyDbg, инсталлятор и перемещаетесь по его коду, в поиске нужных вам вещей. Здесь единственная сложность, нужно разбираться в ассемблере.
В своём же сообщении, я имел ввиду, что отследить можно, что конкретно делает инсталлятор в системе пользователя. Т.е. делаем снимки системы с помощью RegShot'а, до установки и после. Затем сравниваем снимки и получаем результат действий инсталлятора в системе.
Ну а по внешнему оформлению, это только – справка + примеры скриптов + опыт.

Jerichoman
22-02-2010, 20:37
Если я делаю антологию, как сделать так, чтобы каждая игра распаковалась в свою папку и была возможность выбора установки каждой игры по отдельности?

tiylar
22-02-2010, 23:18
Привет всем я навичёк обьясните пожалуста как пользоватся 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)

vint56
23-02-2010, 07:09
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 (Тут конечно видно что написано "Неверно задано имя папки",но я не пойму как исправить?
Скрипт прикрепил ниже!!!

Floopik
23-02-2010, 19:06
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