Скрипты Inno Setup. Помощь и советы [часть 3]

Ответить
 • Просмотры: 24
Аватара пользователя
El Sanchez

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение El Sanchez »

insombia, блин, тебе привели выдержку из справки, где очень-очень подробно, и, по моему, вполне себе по русски написано, как сделать правильно проценты, при использовании ISdone.dll Или почитать, и то уже лень?
Аватара пользователя
El Sanchez

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение El Sanchez »

Ещё после компиляции когда выбираешь язык установки надо долго ждать пока запустится инсталл.Окно активное,но не идёт установка
Аватара пользователя
VinTagE

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение VinTagE »

ребята все привет.



сегодня познакомился с этим софтом. но есть ряд вопросов. с помощью мастера все понятно как сее работает НО:

как вы понимаете я в этом новичок.



1. хочу завернуть в один инсталлер по мимо папки с рядом файлов еще 3 софта которые надо установить.

пример



1сначало копирования папок в нужную деррикторию - ну это просто (среди них настройка.xml)

2затем запуск файла установки программы "софт для сканера" - в фоновом режиме

3затем запуск файла установки программы "Хфсп Драйве" - в фоновом режиме.

4затем открыть окно где будет возможность ввода параметров которые обновят ранне скопированный файл настройка.xml

вывод значков на раб стол.









помогите. есть скайп, агент. аська.
Аватара пользователя
Jim_Di_Griz

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение Jim_Di_Griz »

Цитата Sollar:



как в поле Name: прописать функцию {code:gets|{#l}}, либо каким образом это можно обойти?
Скрипты Inno Setup. Помощь и советы [часть 3]




Sollar, пардон за {} в имени типов/компонентов, не работает из-за двоеточия. Набросал пример, допустим ваш ini-файл

имеет следующий вид:



Код:

Код: Выделить всё

[org1]
ex1=1
org=ttt1
[org2]
ex2=1
org=ttt2

, лежит рядом со скриптом и называется test.ini, тогда



Код:

Код: Выделить всё

[Types]
#define l
#sub AddDescription
    Name: {#ReadIni(SourcePath + "\test.ini", "org" + Str(l), "org")}; Description: {#ReadIni(SourcePath + "\test.ini", "org" + Str(l), "org")}
#endsub
#for {l = 1; l < 3; l++} AddDescription
[Components]
Name: n1; Description: n1; Types: {#ReadIni(SourcePath + "\test.ini", "org1", "org")}; Check: gets(ExpandConstant('{#ReadIni(SourcePath + "\test.ini", "org1", "ex1")}'))
Name: n2; Description: n2; Types: {#ReadIni(SourcePath + "\test.ini", "org2", "org")}; Check: gets(ExpandConstant('{#ReadIni(SourcePath + "\test.ini", "org2", "ex2")}'))
[code]
function gets(Param: String): Boolean;
begin
    Result := Param = '1';
end;
Аватара пользователя
Habetdin

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение Habetdin »

Jim_Di_Griz, используйте флаг uninsdeletekey:



Код:

Код: Выделить всё

[Registry]
Root: HKLM; SubKey: Software\My Program; Flags: uninsdeletekey
Аватара пользователя
Jim_Di_Griz

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение Jim_Di_Griz »

Всем привет. Изображение Пишу скрипт установки игры, нужно сделать два задания (или больше) - Установка русской озвучки и Установка русского текста и так далее. Подскажите пожалуйста как правильно указать пути. Возможно ли вскрыть уже готовый инсталлятор и посмотреть как он сделан (интересует скрипт)? Заранее благодарю.

Вот по такому примеру -
читать дальше »


Аватара пользователя
Jim_Di_Griz

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение Jim_Di_Griz »

Здравствуйте, помогите решить задачу, нужно заменить при установке в уже имеющемся файле .xml рандомное значение между двумя строками (Ник)

ТутЛюбойНик. Как это можно реализовать. Спасибо.
Аватара пользователя
VaZz9

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение VaZz9 »

Помогите плиз прикрутить распаковку arc к скрипту...

http://rghost.ru/21107801


Пробовал брать скрипт на сайте freearc, использовать IssDone, но везде большие скрипты, и на определённых местах выдаёт ошибки. Замахался с ними. Возможно есть простой скрипт?
Аватара пользователя
andrejshapal

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение andrejshapal »

[Types]

; переменная для цикла

#define l



; итак: пишем подпрограмму, которая будет делать все что нам нужно l раз

#sub AddDescription

Name: {code:gets|{#l}}; Description: {code:gets|{#l}};

#endsub



; создаем цикл с вызовом нашей подпрограммы

#for {l = 1; l < 3; l++} AddDescription



[Components]

Name: n1; Description: gdsgdg; types: {code:gets1};

Name: n2; Description: dsfgsg; types: {code:gets2};





Код:

Код: Выделить всё

var
s1, s2, str : string;
i: integer;
function InitializeSetup(): Boolean;
begin
   for I := 1 to 2 do 
begin
str:='org'+inttostr(i);
 if GetIniString(str, 'ex1', 'Error', 'C:\временная\example.ini') = '1' then
    s1 :=s1 + GetIniString(str, 'org', 'Error', 'C:\временная\example.ini');
 if GetIniString(str, 'ex2', 'Error', 'C:\временная\example.ini') = '1' then
    s2 :=s2 +' ' + GetIniString(str, 'org', 'Error', 'C:\временная\example.ini');
end;
  Result := True;
end;
function Gets1(Param: String): String;
begin
  Result := s1;
end;
function Gets2(Param: String): String;
begin
  Result := s2;
end;
function Gets(Param: String): String;
begin
 str:= 'org'+ param;
 Result := GetIniString(str, 'org', 'fgsegfsdgr', 'C:\временная\example.ini');
end;

Почему при записи типов в компоненты пишет, что не существует такого типа?! что не так? даже если явно значения задавать
Ответить

Вернуться в «Автоматическая установка приложений»