PDA

Показать полную графическую версию : Скрипты 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

Vanadiy777
06-01-2023, 15:52
Вот какие строчки надо добавить, чтобы установщик, ссылаясь к выбранным компонентам, распаковывал соответствующие архивы, находящиеся в одной папке с setup.exe. »
vetal_the_great@vk,
тогда не понятна суть вопроса.

vetal_the_great@vk
06-01-2023, 16:43
тогда не понятна суть вопроса. »

Ладно, попробую еще раз.

Есть 5 архивов .bin. Они лежат в папке с setup.exe (см. картинку).

Вот мне нужно, чтобы data.bin установился однозначно, так как там основные файлы.

Архивы data 1.bin и data 2.bin содержат данные интерфейса, противоречащие друг другу. Поэтому нужно установить какой-то один из них, но на выбор: кого-то больше устроит data 1.bin, кого-то data 2.bin.

Архивы data 3.bin и data 4.bin содержат дополнительные файлы, которые можно установить все, или любой из них, или ни одного вообще.

Как это сделать в компонентах я примерно понимаю.

[Components]
Name: Interface; Description: Интерфейс; Types: full; Flags: exclusive
Name: Interface\data 1.bin; Description: Стандартный дизайн интерфейса; Flags: exclusive; ExtraDiskSpaceRequired: 200000000
Name: Interface\data 2.bin; Description: Новый дизайн интерфейса; Flags: exclusive; ExtraDiskSpaceRequired: 100000000

Name: adfiles; Description: Дополнительные файлы; Types: full; Flags: dontinheritcheck
Name: adfiles\data 3.bin; Description: доп файл 1; Flags: checkablealone; ExtraDiskSpaceRequired: 500000000
Name: adfiles\data 4.bin; Description: доп файл 2; Flags: checkablealone; ExtraDiskSpaceRequired: 600000000
#endif

[Files]
Source: output\data 1.bin; DestDir: {app}; Components: adfiles\data 3.bin;
Source: output\data 2.bin; DestDir: {app}; Components: adfiles\data 4.bin;
Source: output\data 3.bin; DestDir: {app}; Components: Interface\data 1.bin;
Source: output\data 3.bin; DestDir: {app}; Components: Interface\data 2.bin;

Но тогда все эти файлы загрузятся внутрь setup.exe и этот файл будет весить более 300мб, а сейчас он весит четь больше 1 мб.
Я хочу, чтобы никакие архивы не добавлялись внутрь setup.exe. При запуске exe и после выбора пользователем нужных компонентов, setup.exe распаковывал только те архивы, которые были указаны, а остальные не трогал. То есть если юзер выбрал data 1.bin, то data 2.bin просто пропускается.

Где я уже только не лазил, ответ не нахожу. Это мой первый скрипт, и я сразу решил морочить себе голову :).

Vanadiy777
06-01-2023, 17:22
Где я уже только не лазил, ответ не нахожу. Это мой первый скрипт, и я сразу решил морочить себе голову »
vetal_the_great@vk,
Скрипт дайте полностью (можете в личку, если здесь светить не хотите...) :wink:

DA-Bro
23-01-2023, 13:25
Здравствуйте! Помогите пожалуйста со скриптом как у NSIS.
Может есть получше варианты, пока не видел.

ZVSRus
24-01-2023, 09:02
Здравствуйте! Помогите пожалуйста со скриптом.
Нужен скрипт установки вот с таким окном и с теми же вариантами установки:


С чьих репаков сделаны скрины я понял, только где вы их взяли, там ещё 3 автора, со своими разновидностями.
Ну да ладно, Так пойдёт (предварительный вариант)
(https://www.upload.ee/files/14863546/setup.exe.html)

Vanadiy777
24-01-2023, 09:45
Ну да ладно, Так пойдёт (предварительный вариант) »
ZVSRus,
мне очень пойдет.
Буду очень признателен, если со мной тоже поделитесь.
Заранее спасибо.

DA-Bro
24-01-2023, 13:17
ZVSRus, Здравствуйте! Ещё как пойдёт.

Vanadiy777
24-01-2023, 16:18
Ещё как пойдёт. Давайте пожалуйста. »
ZVSRus,
и мне давайте пожалуйста, даже в таком варианте подойдет. :)

ZVSRus
24-01-2023, 16:57
Второй вариант скрипта. Тестируйте на предмет ошибок, а то уже глаз за мылился. Как отшлифую так и выложу.
(https://www.upload.ee/files/14865067/AIDA64_6.85.6323.exe.html)

DA-Bro
24-01-2023, 17:14
ZVSRus, да визуально всё нормально.

Я смотрю при выборе распаковки отключаются языки. В некоторых случаях будет нужно чтобы при распаковке был выбор языков как при обычной установке. Просто скрипт не вижу и не понимаю как там включать отключать нужные или ненужные чекбоксы.
Вы пожалуйста не торопитесь, подожду сколько потребуется.

ZVSRus
24-01-2023, 17:38
да визуально всё нормально


Я имел ввиду те ошибки, ну скажем соответствуют ли надписи при выборе разных переключателей.
Опишите все хотелки сразу, чтобы по несколько раз не лазить, и прикручивать то одно, то другое.
На данный момент в скрипте уже 1200 строк.

DA-Bro
24-01-2023, 18:03
ZVSRus, да так всё пощелкал, посмотрел, всё совпадает.

При выборе английского языка установщика надписи на русском. Но это в принципе сам тогда доделаю.

Ещё хотел тут по тихим ключам установки.


Обычный вариант установки, понятно, /verysilent. Как бы вопросов нет.

Но вот с портативным режимом нужно, чтобы был ключ /p и /P, чтобы срабатывали и нижний и верхний регистры.

То есть так:

/verysilent - обычная тихая установка
/VERYSILENT - обычная тихая установка

/verysilent /p - распаковка портативной версии
/VERYSILENT /P - распаковка портативной версии

Ну или даже так срабатывало

/verysilent /P и /VERYSILENT /p

А, вот еще, скорее наверное вопрос:

А можно вообще при установке обычной версии AppId было выбранной редакции.
AIDA64 Business, AIDA64 Extreme...
Или для всего оставить AIDA64 и не заморачиваться.

ZVSRus
24-01-2023, 18:54
Ещё хотел тут по тихим ключам установки.


Прикручу, придётся подождать.


А можно вообще при установке обычной версии AppId было выбранной редакции.

Вот поэтому и написал, чтобы все хотелки сразу.
В данном скрипте есть функция AppID, для каждой редакции свой AppID

function GetAppID(const Value: string): string;
var
AppID: string;

DA-Bro
24-01-2023, 19:03
ZVSRus, да конечно подожду сколько нужно, не горит. С AppID понял. Спасибо большое!

При завершении установки не знаю у Вас появляется окно: установка или распаковка завершена, запустить программу сейчас.

Vanadiy777
24-01-2023, 19:35
ZVSRus, DA-Bro,
Парни, ну скрип то дайте пожалуйста... Хоть какой-нибудь промежуточный... :)
А, то у вас междусобойчик, а я здесь как сирота... :o

ZVSRus
24-01-2023, 19:37
https://www.upload.ee/image/14865488/2023-01-24.png

DA-Bro
24-01-2023, 19:40
Vanadiy777, так он его допиливает, у меня его тоже нет.
ps я в прошлый раз со скриптом разобрался. У меня там косяк похоже был из-за скина. Похоже скин такой что при наведении на кнопку Далее она не подсвечивается, а только тогда когда нажмёшь на кнопку. Без скина попробовал, всё нормально с кнопкой. Аномалия) Так что спасибо за помощь! Потом уж со скином придётся разобираться.

Vanadiy777
24-01-2023, 19:51
У меня там косяк похоже был из-за скина. »
DA-Bro,
от использования скинов давно отказался...
Во первых, лишний вес, во вторых, гораздо большее срабатывание сканеров на VirusTotal...

DA-Bro
24-01-2023, 19:52
ZVSRus, такое вот хотелось бы окно:

Только в первой строчке: Установка / Распаковка завершена. В зависимости от установки или распаковки.
https://i.imgur.com/0gj5Yxb.png

И ещё, можно чтобы файл в окне "Информация" InfoBeforeRu.rtf некликабельным был и выделить там текст нельзя было. Только прокручивать.

Vanadiy777
24-01-2023, 20:16
можно чтобы файл в окне "Информация" InfoBeforeRu.rtf некликабельным был и выделить там текст нельзя было. Только прокручивать. »
DA-Bro,
Я, конечно, не профессор в этом деле, но, если мне не изменяет память, то нет в Inno Setup такой функции...




© OSzone.net 2001-2012