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

ImAge
02-05-2010, 22:24
GrizzlyMK,
Спасибо за помощь,но я уже сдвинул сам текст в нижнюю левую часть хода выполнения

ChVL
04-05-2010, 08:26
Для автозапуска программы из секции [Сode] прописываю:
RegWriteStringValue(HKCU, 'Software\Microsoft\Windows\CurrentVersion\Run', 'MyProg', '{src}\MyProg.exe');
Ключ создаётся, но значение ключа прямо в таком виде и остаётся, т. е. константа {src} не раскрывается: (C:\Program Files\...) и запуск, естественно, не происходит. Где ошибка?
Из секции [Registry] всё прописывается и работает нормально, но мне надо из секции [Сode].

nik1967
04-05-2010, 10:31
del

R.i.m.s.k.y.
04-05-2010, 14:06
Доброе время суток!

Есть несколько компонентов, А, Б, С, для С трэба компонент А, но для А не нужен С, А - самодостаточен, как сделать так, чтобы при выборе С автоматом ставилась галочка в окне выбора компонентов на А.

Что бы вместе с С ставился А - не вопрос, просто пишем в [Files/Registry] Components A or/and C, как сделать такой фокус в окне выбора компонентов?

Заранее спасибо!

R.i.m.s.k.y.
04-05-2010, 15:05
Где ошибка »
Используйте функцию ExpandConstant('{src}\MyProg.exe')
RegWriteStringValue(HKCU, 'Software\Microsoft\Windows\CurrentVersion\Run', 'MyProg', ExpandConstant('{src}\MyProg.exe'));

lmiol
04-05-2010, 18:40
не подскажите какая последняя русская версия работает с windows 7? (ну будет работать с путями для файлов)

nik1967
04-05-2010, 19:48
lmiol,
Inno Setup. Прочие вопросы. (http://forum.oszone.net/showthread.php?p=1201499#post1201499)
Русификатор (http://vadimsva.ucoz.org/Inno_Setup_5_rus.7z) версии 5.3.9 от vadimsva .
Установлена ось: Windows 7 64-bit Ultimate, Отлично работает сборка 5.3.9 ANSI (правда все пути английские).

lmiol
04-05-2010, 20:12
lmiol,
Inno Setup. Прочие вопросы. (http://www.oszone.net/go.php?url=http://forum.oszone.net/showthread.php?p=1201499#post1201499)
Русификатор (http://www.oszone.net/go.php?url=http://vadimsva.ucoz.org/Inno_Setup_5_rus.7z) версии 5.3.9 от vadimsva .
Установлена ось: Windows 7 64-bit Ultimate, Отлично работает сборка 5.3.9 ANSI (правда все пути английские). »
спс, но я имел ввиду другое


как не старался отыскать но гугл мало выдает)))
Путь к Application Data
вообщем из того что точно знаю и никто не жалуется:
C:\Documents and Settings\имя юзверя\Application Data Windows XP
C:\Users\имя юзверя\AppData\LocalLow\ Windows Vista
не уверен, может кто подскажет как правильно:
C:\Users\имя юзверя\AppData\Roaming Windows 7

ChVL
04-05-2010, 20:22
R.i.m.s.k.y.,
Спасибо, работает.

nik1967
04-05-2010, 20:56
lmiol,
Нашёл в инете: Application Data = c:\Users\Вы\AppData\Roaming\
и Аналог "Application Data" в windows 7 это "AppData\Roaming"

Habetdin
04-05-2010, 23:38
lmiol, используйте {userappdata}, {localappdata} и {commonappdata}

R.i.m.s.k.y.
05-05-2010, 08:50
ChVL, lmiol
Во встроенной справке Inno есть много ответов в т.ч. на ваши вопросы, я вот только на свой вопрос ответа не нашел, а ведь видел где-то пример скрипта к моему вопросу, настолько просто, что удалил не задумываясь

Напоминаю вопрос: как сделать в списке выбора компонентов компоненты взаимозависимыми - при выборе одного выбирался автоматом другой, именно в окне выбора компонентов, в секциях Files/Registry просто надо Components A and B;

Поиском пользовался - не нашел, ткните носом если несложно.

nik1967
05-05-2010, 13:12
R.i.m.s.k.y., может как то так: [Setup]
AppName=My Program
AppVerName=My Program 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[Languages]
Name: "default"; MessagesFile: "compiler:Default.isl"

[code]
var
Check1, Check2, Check3: TCheckBox;
CheckLabel1, CheckLabel2, CheckLabel3: TLabel;

procedure Check1Click(Sender: TObject);
begin
Check2.Checked:= Check1.Checked; //Подставляем значение
Check3.Checked:= Check1.Checked;
Check2.Enabled:= Check1.Checked;
Check3.Enabled:= Check1.Checked;
end;

procedure InitializeWizard;
begin
Check1:= TCheckBox.Create(WizardForm);
Check1.SetBounds(20, 100, 16, 16);
Check1.Checked:=True;
Check1.OnClick:=@Check1Click
Check1.Parent:=WizardForm.SelectDirPage;

CheckLabel1:= TLabel.Create(WizardForm)
CheckLabel1.SetBounds(37, 100, 100, 20);
CheckLabel1.Transparent:=True;
CheckLabel1.Caption:='Доп. програмное обеспечение';
CheckLabel1.Parent:=WizardForm.SelectDirPage;

Check2:= TCheckBox.Create(WizardForm);
Check2.SetBounds(40, 130, 16, 16);
Check2.Checked:=True;
Check2.Parent:=WizardForm.SelectDirPage;

CheckLabel2:= TLabel.Create(WizardForm)
CheckLabel2.SetBounds(57, 130, 100, 20);
CheckLabel2.Transparent:=True;
CheckLabel2.Caption:='Обновить DirectX';
CheckLabel2.Parent:=WizardForm.SelectDirPage;

Check3:= TCheckBox.Create(WizardForm);
Check3.SetBounds(40, 160, 16, 16);
Check3.Checked:=True;
Check3.Parent:=WizardForm.SelectDirPage;

CheckLabel3:= TLabel.Create(WizardForm)
CheckLabel3.SetBounds(57, 160, 100, 20);
CheckLabel3.Transparent:=True;
CheckLabel3.Caption:='Еще что-нибудь';
CheckLabel3.Parent:=WizardForm.SelectDirPage;

end;

R.i.m.s.k.y.
05-05-2010, 13:27
может как то так »
Там было очень просто что-то вроде components a and b или Name a and b, но не в секциях Registry/Files

nik1967
05-05-2010, 14:20
R.i.m.s.k.y.,
Помимо списка, можно использовать логические выражения в качестве параметров Components и Tasks. Поддерживаемые операторы: not, and и or. Например:

[Components]

Name: a; Description: a

Name: b; Description: b

[Tasks]

Name: p; Description: a or b; Components: a or b

Name: q; Description: a and b; Components: a and b

Name: r; Description: not a or b; Components: not a or b

Name: s; Description: not (a or b); Components: not (a or b)

Name: t; Description: a or b - old style; Components: a b

R.i.m.s.k.y.
05-05-2010, 14:22
Это?
Помимо списка, можно использовать логические выражения в качестве параметров Components и Tasks. Поддерживаемые операторы: not, and и or. Например »
Похоже но...

В общем для Б нужен А, если выбираем Б - автоматом ставится галочка на А.

K900
05-05-2010, 19:12
YURSHAT, как к твоему скрипту для NFS Undercover прикрутить фриарк? У меня пока что не получается с прогрессбаром =)

R.i.m.s.k.y.
06-05-2010, 10:18
Есть функция IsComponentSelected(const Components: String): Boolean; - возвращает True если выбран компонент, а есть ли обратная - присваивает компоненте "выбранность"?
По номеру компоненты не годится - они постоянно "гуляют" и номера сбиваются.
Можно работать в коде не с номерами (WizardForm.ComponentsList.Checked[2]), а с именами?

ImAge
06-05-2010, 23:26
Назрел такой вопрос.Не могу создать ярлык мода,для информации BattleField 2 Special Forces.Exe файла в папке с модом нет но в исходнике установленной игры в ярлыке использовался данный путь "D:\Games\Battlefield 2\BF2.exe" +menu 1 +fullscreen 1 +modPath mods/xpack +ignoreAsserts 1 Подскажите что сделать.Пользуюсь скриптом от YURSHAT

alex2010
07-05-2010, 16:42
ImAge,

[Icons]
Name: {group}\Играть; Filename: {app}\BF2.exe; Parameters: "+menu 1 +fullscreen 1 +modPath mods/xpack +ignoreAsserts 1"




© OSzone.net 2001-2012