Войти

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


Страниц : 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

serg5
06-07-2022, 12:36
ну так правильно, прописана временная папка. Оттуда уже запускается установщик той программы, которую Вы выбрали для установки.
Или не это было нужно? »

В идеале, запускается установщик далее выбор программы, после выбора программы ,выбор пути установки который может быть разный. Ключи реестра тоже прописать надо.
Т.е. это ещё не готовые собранные программы.
Ваш пример не плох. Но в нём необходим уже собранный софт.
Хотя в любом случае спс.

ZVSRus
06-07-2022, 14:53
Скрипт для двух .exe в одном инсталляторе.
Чтобы можно было выбирать какую программу устанавливать.
Может кто подскажет ?

Что подразумевается под словом Скрипт для двух .exe в одном инсталляторе., установка сразу двух программ одновременно, или же с выбором, установка или первой или второй по отдельности.

serg5
06-07-2022, 15:05
Что подразумевается под словом Скрипт для двух .exe в одном инсталляторе., установка сразу двух программ одновременно, или же с выбором, установка или первой или второй по отдельности. »

В этом случае по отдельности.

ZVSRus
06-07-2022, 15:15
В этом случае по отдельности.



#define MyAppName_1 "Программа 1"
#define MyAppName_2 "Программа 2"

[Setup]
AppName=My Program
AppVerName=My Program v 1.7
DefaultDirName={pf}\Программа 1
OutputDir=.

[Files]
Source: compiler:Examples\MyProg1.exe; DestDir: {app}; Check: IsChecked_1; Flags: ignoreversion;
Source: compiler:Examples\MyProg2.exe; DestDir: {app}; Check: IsChecked_2; Flags: ignoreversion;

[Code__]
var
Check: array [0..1] of TCheckBox;

procedure Check0(Sender: TObject);
begin
if Check[0].Checked then
begin
Check[1].Checked := False;
end;

if (Check[0].Checked = False) and (Check[1].Checked = False) then Check[0].Checked := True;
if Check[0].Checked then WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{pf}')) + '{#MyAppName_1}';
end;

procedure Check1(Sender: TObject);
begin
if Check[1].Checked then
begin
Check[0].Checked := False;
end;

if (Check[0].Checked = False) and (Check[1].Checked = False) then Check[1].Checked := True;
if Check[1].Checked then WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{sd}')) + '{#MyAppName_2}';
end;

//--------------------------------------------------\\
function IsChecked_1: boolean;
begin
Result:= Check[0].Checked;
end;
//--------------------------------------------------\\
function IsChecked_2: boolean;
begin
Result:= Check[1].Checked;
end;
//--------------------------------------------------\\

procedure InitializeWizard();
begin
Check[0] := TCheckBox.Create(WizardForm);
with Check[0] do
begin
Parent := WizardForm.SelectDirPage;
Checked := True;
Top := ScaleY(120);
OnClick := @Check0;
Caption := 'Программа 1';
end;

Check[1] := TCheckBox.Create(WizardForm);
with Check[1] do
begin
Parent := WizardForm.SelectDirPage;
Top := ScaleY(150);
OnClick := @Check1;
Caption := 'Программа 2';
end;
end;

serg5
06-07-2022, 16:04
Пример »

Ошибка.. 166872
Удалил секцию "Files" чтобы посмотреть окна визуально.
Открывается только одно окно инсталлировать не указано что.
Без указания пути.

ZVSRus
06-07-2022, 16:18
serg5,

[Code__] убери черту

serg5
06-07-2022, 16:25
[Code__] убери черту »

Ошибка пропала,но в остальном тоже самое"Открывается только одно окно инсталлировать не указано что.
Без указания пути." 166873

ZVSRus
06-07-2022, 16:35
serg5,
По картинке вижу что версия компилятора 6.
Покажите секцию [Setup]

serg5
06-07-2022, 16:56
По картинке вижу что версия компилятора 6.
Покажите секцию [Setup] »

[Setup]
AppName=My Program
AppVerName=My Program v 1.7
DefaultDirName={pf}\Программа 1
OutputDir=.

Всё с вашего кода.

ZVSRus
06-07-2022, 17:27
http://forum.oszone.net/attachment.php?attachmentid=166874&stc=1&d=1657113738

Настрой свой компилятор, в 6 версиях какие-то страницы отключены по умолчанию.

serg5
06-07-2022, 17:39
Настрой свой компилятор, в 6 версиях какие-то страницы отключены по умолчанию. »

У вас какая версия ?
Попробовал несколько 5-х версий,тоже самое..
В 4-й просто ошибка.

ZVSRus
06-07-2022, 17:49
Расширенная Inno Setup 5.5.1.ee2 Ultra Unicode от китайцев

Добавь в секцию [Setup] это
DisableDirPage=no
DisableWelcomePage=no

Flix
06-07-2022, 18:00
serg5, скопируйте приведенный текст сценария полностью! Вы используете только часть кода. Это видно по ошибке на вашем скрине (http://forum.oszone.net/attachment.php?attachmentid=166872&d=1657112661).

serg5
06-07-2022, 18:20
Расширенная Inno Setup 5.5.1.ee2 Ultra Unicode от китайцев »

В этой версии от китайцев сработало.

Добавь в секцию [Setup] это
DisableDirPage=no
DisableWelcomePage=no »

С этим доп-ем сработало и в 6.х

serg5
07-07-2022, 10:45
Чем можно заменить "{cm:CreateStartMenuIcon} " при создании задания в [Tasks]?
Ошибка вылазит 166878

Name: "startmenuicon"; Description: "{cm:CreateStartMenuIcon}"; GroupDescription: "{cm: AdditionalIcons}"; Check: IsChecked_1

Vanadiy777
07-07-2022, 11:14
Чем можно заменить "{cm:CreateStartMenuIcon} " »
serg5,
Можете стазу свой текст прописать.
А у Вас в секции [CustomMessages] вообще что то прописано?

serg5
07-07-2022, 11:18
Можете стазу свой текст прописать.
А у Вас в секции [CustomMessages] вообще что то прописано? »

Не прописано.
Необходимо чтобы в одной программе создавался ярлык в меню пуск, в другой нет.

Vanadiy777
07-07-2022, 11:29
Необходимо чтобы в одной программе создавался ярлык в меню пуск, в другой нет. »
serg5,
Это ради бога...

Я Вас не об этом спросил...
Вы вставляете константу {cm:CreateStartMenuIcon}, которая ссылается на секцию сценария [CustomMessages],
а там у Вас ничего не прописано, отсюда и ошибка компилятора.
Тоже самое произойдет и с GroupDescription: "{cm: AdditionalIcons}".

Поэтому надо или сразу свой текст прописать вместо константы, или добавить записи в секцию [CustomMessages]

serg5
07-07-2022, 11:37
Вы вставляете константу {cm:CreateStartMenuIcon}, которая ссылается на секцию сценария [CustomMessages],
а там у Вас ничего не прописано, отсюда и ошибка компилятора.
Тоже самое произойдет и с GroupDescription: "{cm: AdditionalIcons}".
Поэтому надо или сразу свой текст прописать, или добавить записи в секцию [CustomMessages] »

С [CustomMessages] нормально, т.е. с появление выбора, создавать ярлык в меню пуск или нет.
А без выбора ,чтобы по-умолчанию?
Так как если оставить для обеих программ создание ярлыков в меню пуск,тогда не спрашивает.

Vanadiy777
07-07-2022, 11:55
serg5,
добавьте в скрипт и попробуйте:
[CustomMessages]
AdditionalIcons=Дополнительные значки:
CreateStartMenuIcon=Создать значок в меню &Пуск


тогда константы можно оставить

И секции [Icons] и [Tasks] покажите полностью.




© OSzone.net 2001-2012