Скрипты Inno Setup. Помощь и советы [часть 3]
-
El Sanchez
Re: Скрипты Inno Setup. Помощь и советы [часть 3]
insombia, блин, тебе привели выдержку из справки, где очень-очень подробно, и, по моему, вполне себе по русски написано, как сделать правильно проценты, при использовании ISdone.dll Или почитать, и то уже лень?
-
El Sanchez
Re: Скрипты Inno Setup. Помощь и советы [часть 3]
Ещё после компиляции когда выбираешь язык установки надо долго ждать пока запустится инсталл.Окно активное,но не идёт установка
-
VinTagE
Re: Скрипты Inno Setup. Помощь и советы [часть 3]
ребята все привет.
сегодня познакомился с этим софтом. но есть ряд вопросов. с помощью мастера все понятно как сее работает НО:
как вы понимаете я в этом новичок.
1. хочу завернуть в один инсталлер по мимо папки с рядом файлов еще 3 софта которые надо установить.
пример
1сначало копирования папок в нужную деррикторию - ну это просто (среди них настройка.xml)
2затем запуск файла установки программы "софт для сканера" - в фоновом режиме
3затем запуск файла установки программы "Хфсп Драйве" - в фоновом режиме.
4затем открыть окно где будет возможность ввода параметров которые обновят ранне скопированный файл настройка.xml
вывод значков на раб стол.
помогите. есть скайп, агент. аська.
сегодня познакомился с этим софтом. но есть ряд вопросов. с помощью мастера все понятно как сее работает НО:
как вы понимаете я в этом новичок.
1. хочу завернуть в один инсталлер по мимо папки с рядом файлов еще 3 софта которые надо установить.
пример
1сначало копирования папок в нужную деррикторию - ну это просто (среди них настройка.xml)
2затем запуск файла установки программы "софт для сканера" - в фоновом режиме
3затем запуск файла установки программы "Хфсп Драйве" - в фоновом режиме.
4затем открыть окно где будет возможность ввода параметров которые обновят ранне скопированный файл настройка.xml
вывод значков на раб стол.
помогите. есть скайп, агент. аська.
-
Jim_Di_Griz
Re: Скрипты Inno Setup. Помощь и советы [часть 3]
Цитата Sollar:
как в поле Name: прописать функцию {code:gets|{#l}}, либо каким образом это можно обойти?
Sollar, пардон за {} в имени типов/компонентов, не работает из-за двоеточия. Набросал пример, допустим ваш ini-файл
имеет следующий вид:
Код:
, лежит рядом со скриптом и называется test.ini, тогда
Код:
как в поле 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]
Jim_Di_Griz, используйте флаг uninsdeletekey:
Код:
Код:
Код: Выделить всё
[Registry]
Root: HKLM; SubKey: Software\My Program; Flags: uninsdeletekey-
Jim_Di_Griz
Re: Скрипты Inno Setup. Помощь и советы [часть 3]
Всем привет.
Пишу скрипт установки игры, нужно сделать два задания (или больше) - Установка русской озвучки и Установка русского текста и так далее. Подскажите пожалуйста как правильно указать пути. Возможно ли вскрыть уже готовый инсталлятор и посмотреть как он сделан (интересует скрипт)? Заранее благодарю.
Вот по такому примеру -
Пишу скрипт установки игры, нужно сделать два задания (или больше) - Установка русской озвучки и Установка русского текста и так далее. Подскажите пожалуйста как правильно указать пути. Возможно ли вскрыть уже готовый инсталлятор и посмотреть как он сделан (интересует скрипт)? Заранее благодарю.Вот по такому примеру -
читать дальше »
-
Jim_Di_Griz
Re: Скрипты Inno Setup. Помощь и советы [часть 3]
Здравствуйте, помогите решить задачу, нужно заменить при установке в уже имеющемся файле .xml рандомное значение между двумя строками (Ник)
ТутЛюбойНик. Как это можно реализовать. Спасибо.
ТутЛюбойНик. Как это можно реализовать. Спасибо.
-
VaZz9
Re: Скрипты Inno Setup. Помощь и советы [часть 3]
Помогите плиз прикрутить распаковку arc к скрипту...
Пробовал брать скрипт на сайте freearc, использовать IssDone, но везде большие скрипты, и на определённых местах выдаёт ошибки. Замахался с ними. Возможно есть простой скрипт?
http://rghost.ru/21107801
Пробовал брать скрипт на сайте freearc, использовать IssDone, но везде большие скрипты, и на определённых местах выдаёт ошибки. Замахался с ними. Возможно есть простой скрипт?
-
andrejshapal
Re: Скрипты Inno Setup. Помощь и советы [часть 3]
[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};
Код:
Почему при записи типов в компоненты пишет, что не существует такого типа?! что не так? даже если явно значения задавать
; переменная для цикла
#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;Почему при записи типов в компоненты пишет, что не существует такого типа?! что не так? даже если явно значения задавать
