Показать полную графическую версию : [архив] Скрипты Inno Setup. Помощь и советы [часть 2]
R.i.m.s.k.y.
27-07-2010, 11:35
После первой procedure InitializeWizard() »
Их не должно быть две, в крайнем случае вторую InitializeWizard переменуйте например в IW и из первой InitializeWizard сделайте вызов второй. Но это способ через гланды. Правильнее их объединить.
А куда именно вставлять строку WizardForm.TypesCombo.Hide »
в InitializeWizard в любое место, хоть перед end
svoboda_serega
27-07-2010, 12:52
Плз дайте скрипт на установку Convision, видел тут, но что тоне найду.
Зы буду оч благодарен
mariolast
29-07-2010, 14:05
Подскажите как сделать. Нужно чтобы на странице выбора компонентов (выбор из ниспадающего списка) при выборе "Сетевая версия" становилось активным поле с вводом текста (cbEdit) а если выбрано "Локальная версия", то чтобы это поле было недоступным.
Мой код
[Types]
Name: local; Description: Локальная версия
Name: network; Description: Сетевая версия
[Components]
Name: local; Description: Локальная версия; Types: local; Flags: exclusive
Name: network; Description: Клиент по сети; Types: network; Flags: exclusive checkablealone
[Code]
Var
cbEdit : TEdit;
procedure OnClickCheck(Sender: TObject);
begin
if WizardForm.ComponentsList.Checked[1] then cbEdit.Visible:=false;
if WizardForm.ComponentsList.Checked[2] then cbEdit.Visible:=true;
end;
procedure InitializeWizard();
begin
cbEdit:= TEdit.Create(WizardForm.SelectComponentsPage);
cbEdit.Parent := WizardForm.SelectComponentsPage;
cbEdit.Text := IPServer('1');
cbEdit.Left := ScaleX(16);
cbEdit.Top := ScaleY(68);
cbEdit.Width := ScaleX(165);
cbEdit.Height := ScaleY(124);
cbEdit.Text := IPServer('1');
cbEdit.Font.Color := -16777208;
cbEdit.Font.Height := ScaleY(-13);
cbEdit.Font.Name := 'Tahoma';
WizardForm.ComponentsList.OnClickCheck:=@OnClick
end;
Некоторые приложения *.msi не запускаются из секции [Run], при выполнении скрипта появляется окно с описанием ошибки:
“Невозможно выполнить файл…
CreateProcess: сбой; код 193.
%1 не является приложением Win32”
Из секции [Сode] тоже не запускаются.
В то же время они нормально выполняются двойным кликом или из командной строки.
Как прописать запуск из скрипта?
R.i.m.s.k.y.
29-07-2010, 17:35
Как прописать запуск из скрипта »
А если попробовать флаг ShellExec или попробовать почитать справку про cmd (cmd /c или cmd /k)
Filename: cmd.exe; Parameters: " /c msi.msi"; StatusMsg: попробуем MSI
Habetdin
29-07-2010, 19:22
ChVL, [Run]
Filename: msiexec; Parameters: "/i ""{src}\example15.msi"" /qn"; StatusMsg: Установка Example v1.5...
R.i.m.s.k.y.,
Действительно, для моего файла достаточно Flags: ShellExec.
Habetdin,
Ваш классический вариант тоже, естественно, работает.
Diesel123denpda
30-07-2010, 10:59
Мне нужно, чтобы инсталлятор искал в реестре ключ, копировал оттуда значение пути, а потом просто устанавливал этот путь как "корневой" для установочных файлов или DefaultDirName={code:FunctionRegPath|{pf}\Vmd}
где FunctionRegPath - это имя функции, возвращающей то, что надо - как прописать FunctionRegPath, подкиньте пример. Заранее спасибо!
R.i.m.s.k.y.
30-07-2010, 14:56
как прописать FunctionRegPath, подкиньте пример. »
попробуй так к примеру {reg:HKLM\SOFTWARE\AviSynth,plugindir2_5}\DirName
Habetdin
30-07-2010, 16:00
Diesel123denpda, DefaultDirName={reg:HKLM\Software\My Company\My Program,InstallPath|{pf}\My Company\My Program}
Люди, как мне сделать что то подобное:
http://s004.radikal.ru/i207/1007/a8/a7d390e8ff50.jpg
Кнопки я сделал, а вот изображение растянуть....
-----------------------------------
Спасибо уже не надо :)
Как определить Win7 ? Что-то типа мажор-минор версии? Как покажите подробно?
Мне нужно наподобе Check: IsWin64; только в данном случае надо узнать Win7/Win6 или XP
Причём я в обозначении версий Windows в InnoSetup не разбираюсь.
Habetdin
01-08-2010, 16:17
semiono, OnlyBelowVersion и MinVersion: 0,6.1:
[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {app}; Flags: ignoreversion; OnlyBelowVersion: 0,6.1
; все, что "старее" Windows 7[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {app}; Flags: ignoreversion; MinVersion: 0,6.1
; Windows 7 и выше
Подскажите, какие флаги нужно использовать, чтобы файл (dll) копировался по-любому, а потом регистрация его через Tasks по выбору.
Source: {app}\ts.dll; DestDir: {app}; Flags: regserver; Tasks: "codec" - так сейчас не работает.
Т.е если снять Tasks(в установке), то файл не копируется, а должен.
Можно выполнить через CMD, но хочется стандартным способом.
Люди, столкнулся с проблемой что при замене стандартных button на свои возникают жуткие торможения программы при каждом нажатии на кнопку "Далее" так как всё время извлекаться button.bmp
Выход с данной ситуации мне помог найти хороший человек под ником ZEUStiger
procedure InitializeWizard();
begin
ExtractTemporaryFile('button.bmp')
end;
Для таких ламеров как я думаю сообщение будет полезно =)
alex2010
02-08-2010, 12:33
del
R.i.m.s.k.y.
02-08-2010, 13:58
Source: {app}\ts.dll; DestDir: {app}; Flags: regserver; Tasks: "codec" - так сейчас не работает.
Т.е если снять Tasks(в установке), то файл не копируется, а должен »
Я думаю двумя строчками - одна копирует, вторая регит.
Ну это не совсем то, что я хотел, но за неимением другого: подойдёт.
Друзья, какой скрипт мне может помочь реализовать это:
http://imagepost.ru/thumbs/184/P1nQjjEweBwp.PNG (http://imagepost.ru/?v=184/P1nQjjEweBwp.PNG)
http://imagepost.ru/thumbs/184/n1yuwfTY5UCs2.PNG (http://imagepost.ru/?v=184/n1yuwfTY5UCs2.PNG)
http://imagepost.ru/thumbs/184/0KSfb2QsLLy6.PNG (http://imagepost.ru/?v=184/0KSfb2QsLLy6.PNG)
Надоело заморачиваться, потом если только серьезно взяться))
R.i.m.s.k.y.
03-08-2010, 08:29
Камрады, в шапке темы есть Ultimate test
На старой винде/инно (вин7-32/5,3,7) этот скрипт работал, теперь же переставил винду (вин7-64) и инно (5,3,10) - этот скрипт ругается на каждую вторую строчку. ISPP тоже ставил. Русификаторы не ставил. Дистры брал отсюда: http://forum.ru-board.com/topic.cgi?forum=5&topic=34344. Скажите, чего я не доставил?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.