Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 8]
Dark_Delphin
08-11-2016, 18:35
Optitron, через библиотеки опшин конекшен
vadjliss
09-11-2016, 18:44
ребята может кто подсказать запуск url сайта через батник
запуск url сайта через батник »
start http://google.com
или
rundll32.exe shell32 ShellExec_RunDLL http://google.com
[Run]
Filename: {app}\script.cmd; WorkingDir: {app}; Flags: waituntilterminated runhidden
Если я правильно понял ваш вопрос.
slonick2011
09-11-2016, 22:31
Кто знает из-за чего может перестать реагировать на кнопку закрытия и alt+f4 инсталлятор?
WizardForm.CancelButton.Hide - не дает закрыть форму
Ребят, подскажите пожалуйста, что именно нужно прописать в скрипте (и где именно), чтобы вот именно этот чекбокс был активным (чтобы стояла галочка) при установке инсталлятора?
http://i.piccy.info/i9/cfa7c9c9ca6272f606532baf8e0dbef1/1478766823/87777/1082992/Scr1.jpg (http://piccy.info/view3/10500608/1d81da7d52f5587e18a91355a4347ce1/)http://i.piccy.info/a3/2016-11-10-08-33/i9-10500608/513x400-r/i.gif (http://i.piccy.info/a3c/2016-11-10-08-33/i9-10500608/513x400-r)
john458
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
DefaultGroupName=My Application
AllowNoIcons=yes
[Icons]
Name: "{group}\My Application"; Filename: "{app}\My Application.exe"
slonick2011
10-11-2016, 16:58
Можно как-то изменить расстояние между элементами в "TasksList", чтобы их выровнять?
https://pp.vk.me/c837338/v837338558/a163/9nCRL2PwOnw.jpg
Цитата:
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
DefaultGroupName=My Application
AllowNoIcons=yes
[Icons]
Name: "{group}\My Application"; Filename: "{app}\My Application.exe" »
После компиляции скрипта ничего не произошло, то есть, галочка не установлена. Может нужно ещё что-то прописать в скрипте или наоборот удалить?
Вот мой скрипт:
#define MyAppName "Azur & Asmar"
#define MyAppVersion "1.0"
#define MyAppExeName "Azur & Asmar.exe"
[Setup]
AppId={{C063DBD3-E8FB-43EA-A5D2-FD093A33FCFC}
AppName=My Application
AppVersion=1.0
AppVerName={#MyAppName} {#MyAppVersion}
DefaultDirName=C:\Games\My Application
DefaultGroupName=My Application
AllowNoIcons=yes
OutputDir=C:\Users\john458\Desktop\Azur & Asmar
OutputBaseFilename=Azur & Asmar
SetupIconFile=C:\Users\john458\Desktop\Azur & Asmar\icon.ico
Compression=lzma
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}";
[Files]
Source: "C:\Program Files (x86)\Azur & Asmar\Azur & Asmar.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Azur & Asmar\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
[Icons]
Name: "{group}\My Application"; Filename: "{app}\My Application.exe"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[UninstallDelete]
Name: "{app}\*.*"; Type: filesandordirs
Name: (app); Type: dirifempty;
Я порылся в сети и нашёл кое что с этим связанное, только я не знаю как это должно всё правильно прописываться и выглядеть в скрипте.
/NOICONS
Instructs Setup to initially check the Don't create a Start Menu folder check box on the Select Start Menu Folder wizard page.
Pascal Scripting: WizardNoIcons
Prototype:
function WizardNoIcons: Boolean;
Description:
Returns the current setting of the Don't create a Start Menu folder check box on the Select Start Menu Folder page of the wizard.
Query NoIconsCheck checkbox directly:
if not WizardForm.NoIconsCheck.Checked then
slonick2011
11-11-2016, 01:54
john458, Вот, держи
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpSelectProgramGroup then
WizardForm.NoIconsCheck.Checked := True;
end;
slonick2011
А где его именно нужно прописать? В какой секции? Можно полностью показать на примере моего скрипта? - буду очень благодарен.
slonick2011
11-11-2016, 02:33
john458, В секцию [Code], просто скопируй и вставь
Всё получилось, огромнейшее спасибо, уже дней 5 ищу как это сделать
Прописывать нужно в секции [Code]
[Code]
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpSelectProgramGroup then
WizardForm.NoIconsCheck.Checked := True;
end;
john458
Пример от slonick2011 решение правильное. Но есть один вопрос, если это вам нужно лично для себя то это одно, если вы хотите это выкладывать в интернет тогда возникает вопрос надо ли это конечному пользователю?.
Стандартный чекбокс должен выглядеть стандартно (то-есть чекбокс должен быть не отмечен, поставить галочку, это выбор конечного пользователя)
P.S. Если не хотите создавать папку в меню пуск, удалите из секции [Setup], [Icons] все что связано с программной группой.
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
DefaultGroupName=My Application
AllowNoIcons=yes
OutputDir=.
[Icons]
Name: "{group}\My Application"; Filename: "{app}\My Application.exe"
[Code]
procedure InitializeWizard();
begin
with WizardForm.NoIconsCheck do
begin
Checked := True;
State := cbChecked;
end;
end;
habib2302
12-11-2016, 15:54
Доброе время суток. Помогите с параметрами запуска.
[Run]
Filename: netsh.exe; Parameters: """advfirewall firewall add rule name=""ashsnapinst"" dir=in action=block program=""{app}\{#Exe}"" enable=yes"""
Filename: netsh.exe; Parameters: """advfirewall firewall add rule name=""ashsnapinst"" dir=out action=block program=""{app}\{#Exe}"" enable=yes"""
[UninstallRun]
Filename: netsh.exe; Parameters: """advfirewall firewall delete rule name=""ashsnapinst"""
[Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
RC: integer;
begin
if CurStep = ssInstall then
Exec(ExpandConstant('netsh.exe'), ' advfirewall firewall delete rule name="ashsnapinst"', '', SW_HIDE, ewWaitUntilTerminated, RC)
end;
vadjliss
12-11-2016, 18:25
ребята что надо прописать в батнике что бы он при запуске удалил ключи установленной программы
Dodakaedr
13-11-2016, 01:22
habib2302, так пробуйте
[Run]
Filename: netsh.exe; Parameters: "advfirewall firewall add rule name=""ashsnapinst"" dir=in action=block program=""{app}\{#Exe}"" enable=yes"
Filename: netsh.exe; Parameters: "advfirewall firewall add rule name=""ashsnapinst"" dir=out action=block program=""{app}\{#Exe}"" enable=yes"
Filename: netsh.exe; Parameters: "advfirewall firewall delete rule name=""ashsnapinst"""
[Co[u]de]
procedure CurStepChanged(CurStep: TSetupStep);
var
RC: integer;
begin
if CurStep = ssInstall then
Exec('netsh', ' advfirewall firewall delete rule name="ashsnapinst"', '', SW_HIDE, ewWaitUntilTerminated, RC)
end;
что надо прописать в батнике »
перейти в тему батников и там спросить
habib2302
13-11-2016, 10:13
Dodakaedr, так не работает. через код работает, но не определяет путь к программе. хоть с кавычками хоть без них
[code]
procedure CurStepChanged(CurStep: TSetupStep);
var
RC: integer;
begin
if CurStep = ssDone then
Exec('netsh', ' advfirewall firewall add rule name=ashsnapinst dir=in action=block program={app}\{#Exe} enable=yes', '', SW_HIDE, ewWaitUntilTerminated, RC)
Exec('netsh', ' advfirewall firewall add rule name=ashsnapinst dir=out action=block program={app}\{#Exe} enable=yes', '', SW_HIDE, ewWaitUntilTerminated, RC)
end;
http://i4.imageban.ru/out/2016/11/13/656eb7450b6796e5e7a9269fa35d869a.png (http://i4.imageban.ru/out/2016/11/13/b21a657f024f5fe3fec3fe5705e69a3a.png)
habib2302, а так работает :)
#define Exe "ashsnap.exe"
[Setup]
AppName = MyApp
AppVerName = MyApp
DefaultDirname = {pf}\MyApp
OutputDir=.
[Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
RC: integer;
SIn,SOut: String;
begin
if CurStep = ssDone then begin
SIn:= ' advfirewall firewall add rule name=ashsnapinst dir=in action=block program='+ExpandConstant('"{app}\{#Exe}"')+' enable=yes';
SOut:= ' advfirewall firewall add rule name=ashsnapinst dir=out action=block program='+ExpandConstant('"{app}\{#Exe}"')+' enable=yes';
Exec('netsh', SIn, '', SW_HIDE, ewWaitUntilTerminated, RC);
Exec('netsh', SOut, '', SW_HIDE, ewWaitUntilTerminated, RC);
end;
end;
Optitron
22-11-2016, 18:56
Подскажите пожалуйста, что нужно прописать в скрипт, чтобы перед установкой инсталлятор убивал процесс (в моем случае steam.exe).
Optitron, в шапке темы "Ссылки на примеры скриптов: => Закрытие процесса - пример скрипта для закрытия запущенного процесса, (ссылка на сообщение);"
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.