Войти

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 8]


Страниц : 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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 [87] 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126

Dark_Delphin
08-11-2016, 18:35
Optitron, через библиотеки опшин конекшен

vadjliss
09-11-2016, 18:44
ребята может кто подсказать запуск url сайта через батник

boss911
09-11-2016, 21:23
запуск 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 - не дает закрыть форму

john458
10-11-2016, 11:37
Ребят, подскажите пожалуйста, что именно нужно прописать в скрипте (и где именно), чтобы вот именно этот чекбокс был активным (чтобы стояла галочка) при установке инсталлятора?

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)

ZVSRus
10-11-2016, 12:55
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

john458
11-11-2016, 00:04
Цитата:
[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;

john458
11-11-2016, 02:13
slonick2011
А где его именно нужно прописать? В какой секции? Можно полностью показать на примере моего скрипта? - буду очень благодарен.

slonick2011
11-11-2016, 02:33
john458, В секцию [Code], просто скопируй и вставь

john458
11-11-2016, 02:34
Всё получилось, огромнейшее спасибо, уже дней 5 ищу как это сделать
Прописывать нужно в секции [Code]

[Code]
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpSelectProgramGroup then
WizardForm.NoIconsCheck.Checked := True;
end;

ZVSRus
11-11-2016, 07:42
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)

nik1967
13-11-2016, 12:20
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).

nik1967
22-11-2016, 22:16
Optitron, в шапке темы "Ссылки на примеры скриптов: => Закрытие процесса - пример скрипта для закрытия запущенного процесса, (ссылка на сообщение);"




© OSzone.net 2001-2012