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

CSKA_fan_n.1
19-07-2010, 23:15
Ребята, помогите связать вот эти скрипты.
Я не понимаю, почему вылезают ошибки, сначала "....че то там FilenameLabel...", потом разные другие!
Я новичок в этом деле...

Alexx73
20-07-2010, 03:00
Цитата Alexx73:
как сделать »
в том же сообщении прочитайте P.S., т.е. всё писать руками... »
Я новичек в этом деле, написать сложно...
Может напишешь? пожалуйста :) Мне нужно только для страничек перед установкой и после данные для которых берутся из .txt

WizardForm.DirEdit.Font.Color »
за это большое спасибо

МИШАНЧИК
20-07-2010, 08:31
Подскажите пожалуйста как правильно записать.
Есть компоненты:
[Components]
Name: "patch_1"; Description: "{cm:ххх}"; Flags: exclusive
Name: "patch_2"; Description: "{cm:ххх}"; Flags: exclusive
[Files]
Source: Game_1\*; DestDir: {app}; Components: patch_1; Flags: ignoreversion recursesubdirs createallsubdirs
Source: Game_2\*; DestDir: {app}; Components: patch_2; Flags: ignoreversion recursesubdirs createallsubdirs

А как сделать чтоб при выборе компонента "patch_2" сначала установились файлы относящиеся к "patch_1", а потом, поверх файлы отвечающие за "patch_2"?
Поясню. Сначала ставятся основные файлы игры, затем если выбран "patch_1" ставятся оф.патчи, а если выбран "patch_2" сначала ставятся оф.патчи, а поверху неофициальный патч.

R.i.m.s.k.y.
20-07-2010, 08:36
А как сделать чтоб при выборе компонента "patch_2" сначала установились файлы относящиеся к "patch_1", »
Source: Game_1\*; DestDir: {app}; Components: patch_1 or patch_2; Flags: ignoreversion recursesubdirs createallsubdirs

CSKA_fan_n.1
20-07-2010, 09:39
ээммм.... мне то кто нибудь поможет?

SkarM
20-07-2010, 18:03
Я новичек в в работе с Inno Setup, и вот столкнулся с проблемой:
Вот исходный код:

[Components]
name: one1; Description:component 1;types:compact; Flags: checkablealone exclusive
name: one2; Description:component 2;types:compact;Flags: dontinheritcheck
name: one3; Description:component 3;types:compact;Flags: dontinheritcheck

name:two; Description:component 4;types:full; Flags: checkablealone exclusive
name:two1; Description:component 5;types: full;Flags: dontinheritcheck
name:two2; Description:component 6;types: full;Flags: dontinheritcheck
name:two3; Description:component 7;types: full;Flags: dontinheritcheck

В результате элементы one1 и two автоматически выбраны без возможности снять выбор с них. Я хочу чтоб выбирался только один из них вручную. И по возможности чтоб можно было выбрать компоненты one2, one3 только если выбран компонент one1, и соответственно с компонентом two можно было по желанию выбрать компоненты two1, two2, two3.

И каким образом можно прочитать версию ранее установленого приложения, если она указываеться в простом текстовом файле, который лежит в определенной папке?

Помогите пожалуйста).

SeDmY
21-07-2010, 01:59
У кого есть скрипт распаковки архивов 7z? Чисто этих архивов!

МИШАНЧИК
21-07-2010, 02:02
R.i.m.s.k.y., спасибо.
А Source: Game_1\*; DestDir: {app}; Components: patch_1 or patch_2; »
подразумевает что файлы из папки Game_1 будут копироваться при выборе компонента patch_2, но перед копированием файлов из папки Game_2?

R.i.m.s.k.y.
21-07-2010, 08:47
подразумевает что файлы из папки Game_1 будут копироваться при выборе компонента patch_2, но перед копированием файлов из папки Game_2 »
Инно работает в секциях в порядке строк - будет строчка первая - первой и скопирует.

У кого есть скрипт распаковки архивов 7z? Чисто этих архивов! »
Можно воспользоваться бесплатной утилиткой UnRAR, входящей в WinRAR. Она консольная и WinRAR давно поддерживает распаковку из 7zip

SeDmY
21-07-2010, 08:48
Цитата SeDmY:
У кого есть скрипт распаковки архивов 7z? Чисто этих архивов! »
Можно воспользоваться бесплатной утилиткой UnRAR, входящей в WinRAR. Она консольная и WinRAR давно поддерживает распаковку из 7zip »

А в Inno Setup как это реализовать!?

R.i.m.s.k.y.
21-07-2010, 09:54
А в Inno Setup как это реализовать »

Тащим с собой в инно Unrar
[Files]
Source: Unrar.exe; DestDir: {tmp}; Flags: ignoreversion
Source: arc.7zip; DestDir: {tmp}; Flags: ignoreversion
[Run]
Filename: {tmp}\unrar.exe; Parameters: x {tmp}\arc.7zip {app}\; StatusMsg: Распаковываем, немножко терпения; Flags: runhidden waituntilterminated


По идее так, но я не проверял

А вот пример из сборника скриптов (в шапке темы)

[Setup]
AppName=Need for Speed - Carbon
AppVerName=Need for Speed - Carbon v1.3
DefaultDirName={sd}\Games\NFSCarbon

[Components]
Name: eng; Description: Английская версия; Flags: exclusive
Name: rus; Description: Русская версия; Flags: exclusive

[Types]
Name: custom; Description: Выборочная установка; Flags: iscustom

[Files]
;Source: D:\NFSCarbon\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs

[Run]
Filename: {src}\Rus\NFSC_RUS.exe; Components: rus; WorkingDir: {src}\Rus; Parameters: "-y -o""{app}"""; StatusMsg: Установка русификации...; Flags: waituntilterminated

[_Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
res:Integer;
app, arc, dest:string;
begin
If CurStep=ssPostInstall
then
begin
app:=ExpandConstant('{src}')+'\7za.exe';
arc:=ExpandConstant('{src}')+'\ARC.7z';
dest:=ExpandConstant('{app}');
Exec(app, 'x "'+ arc + '" -y -o"'+ dest + '"', '', SW_SHOWNORMAL, ewWaitUntilTerminated, res);
end;
end;

SeDmY
21-07-2010, 10:37
R.i.m.s.k.y. »

Спасибо)))) проверим-с)))

R.i.m.s.k.y.
21-07-2010, 10:46
Спасибо)))) проверим-с))) »
За спасибо давим кнопочку "полезное сообщение" на сообщении, которое принесло Вам пользу :-)

CSKA_fan_n.1
21-07-2010, 11:33
Блин, вы мне то ответьте, поможете или нет?

Devils0411
21-07-2010, 11:38
Serega, Включите в шапку данную программу, она ничуть не хуже других Inno Setup Unpacker (http://sourceforge.net/projects/innounp/files/innounp/innounp%200.33/innounp033.rar/download)

R.i.m.s.k.y.
21-07-2010, 11:50
Блин, вы мне то ответьте, поможете или нет »
Поиск рулит.
От себя могу намекнуть. FilenameLabel может не поддерживать метод Hide. Если надо спрятать метки файлов, делается это так:

procedure InitializeWizard();
WizardForm.FileNameLabel.Visible:= False;

bas32un
21-07-2010, 16:16
Для удобства хоту задать путь к файлам (их много) в [files] Source: "C:\ляляляля\My.exe" с помощью переменной или константы или чего-нибудь подобного.
Почитал хелпы и сделал:
[code]
function MySourcePath(): String;
begin
Result := 'C:\ляляляляляля';
end;
Теперь пытаюсь Source: "{code:MySourcePath}\My.exe", но выдает ошибку неизвестный файлнейм префик {code
Как же сделать правильно?

и еще
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssDone then
MsgBox('Программа ' + '{#SetupSetting("AppName")}' + ' установлена!', mbInformation, MB_OK);
end;
-- {#SetupSetting("AppName")} так и выводится почему то, а не имя программмы....

CSKA_fan_n.1
21-07-2010, 16:56
R.i.m.s.k.y., спасибо тебе! Но теперь у меня на этот код Инно ругается...

SkarM
21-07-2010, 17:03
Так а по моему вопросу ктот поможет?...

R.i.m.s.k.y.
21-07-2010, 17:12
Так а по моему вопросу ктот поможет »
читаем справку


[Components]
name: one; Description:...; ; Flags: exclusive
name: one\one1; Description:component 1;types:compact; Flags: dontinheritcheck
name: one\one2; Description:component 2;types:compact;Flags: dontinheritcheck
name: one\one3; Description:component 3;types:compact;Flags: dontinheritcheck

name:two; Description:component 4;types:full; Flags: exclusive
name:two\two1; Description:component 5;types: full;Flags: dontinheritcheck
name:two\two2; Description:component 6;types: full;Flags: dontinheritcheck
name:two\two3; Description:component 7;types: full;Flags: dontinheritcheck


checkablealone - можно выбрать компоненту без "дочек"
dontinheritcheck- компонента не отммечается даже при выборе "дочки"

Поэкспериментируйте с ними - увидите как меняется

exclusive - можно выбрать только один компонент из всех с данным флагом

Или поставьте IsTool и русификацию к нему (ссылки в шапке темы) - там все эти флаги можно по ПКМ выбирать.

Но теперь у меня на этот код Инно ругается »
Знаете форумную присказку - "Здесь телепатов нет". Какая ошибка? скрин. У меня Инно 5,3,7 - такой код не понимает.
И вообще откуда этот код. Судя по всему от новой версии Инно или какого-то препроцессора. У кого скачали там и спросите на чем его компилили.




© OSzone.net 2001-2012