|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 9] |
|
Скрипты Inno Setup. Помощь и советы [часть 9]
|
Ветеран Сообщения: 1270 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов!
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы [часть 6] | Скрипты Inno Setup. Помощь и советы [часть 6].7z Скрипты Inno Setup. Помощь и советы [часть 7] | Скрипты Inno Setup. Помощь и советы [часть 7].7z Скрипты Inno Setup. Помощь и советы [часть 8] | Скрипты Inno Setup. Помощь и советы [часть 8].7z |
|
Отправлено: 16:09, 04-04-2018 |
Забанен Сообщения: 34
|
Всем спс.
|
Отправлено: 17:10, 07-07-2022 | #811 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2186
|
Профиль | Отправить PM | Цитировать Коллеги, подскажите пожалуйста...
Не могу понять, как надо прописать... Паскаль не знаю от слова - абсолютно... Надо запустить regedit с параметрами: Exec(ExpandConstant('{win}\regedit.exe'), ' /S ''{app}\MyRegOff.reg''', '', SW_HIDE, ewWaitUntilTerminated, LResultCode); Как правильно параметры прописать? Пните, пожалуйста, в нужном направлении |
------- Отправлено: 20:57, 10-07-2022 | #812 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать |
Отправлено: 22:00, 10-07-2022 | #813 |
Ветеран Сообщения: 2186
|
Профиль | Отправить PM | Цитировать Цитата iglezz:
Так тоже пробовал - не работает... Может тоже "ExpandConstant" в путях нужна до рег-файла? Но как прописать не могу понять - пишет "ошибка синтаксиса"... |
|
------- Отправлено: 22:13, 10-07-2022 | #814 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать |
Отправлено: 22:41, 10-07-2022 | #815 |
Забанен Сообщения: 34
|
Может у кого-то было ,при прописке создания иконки в меню пуск, предлагает (Default),вместо имени при инсталляции.
Name: "{group}\{#MyAppDisplayName}"; Filename: "{app}\{#MyAppExeName}"; MinVersion: 0.0,5.0; Check: PuskIconCheck and InstallerCheck; Name: "{group}\Удалить {#MyAppDisplayName}"; Filename: "{uninstallexe}"; MinVersion: 0.0,5.0; Check: PuskIconCheck and InstallerCheck; Name: "{commondesktop}\{#MyAppDisplayName}"; Filename: "{app}\{#MyAppExeName}"; MinVersion: 0.0,5.0; Check: DesktopIconCheck and InstallerCheck; Весь код: #define MyAppName "Моя стационарная программа" #define MyAppNamePortable "Моя программа Portable" #define MyAppExeName "MyProg1.exe" #define MyAppDisplayName "MyProg1" #define MyAppDirName "Моя стационарная программа" #define MyAppConstantName "{pf}" [Setup] AppName={#MyAppName} AppVerName=1.7 DefaultDirName={code:GetInstallDir|{#MyAppConstantName}\{#MyAppDirName}} OutputDir=. Uninstallable=not PortableCheck DisableDirPage=no DisableWelcomePage=no UsePreviousAppDir=no [Icons] Name: "{group}\{#MyAppDisplayName}"; Filename: "{app}\{#MyAppExeName}"; MinVersion: 0.0,5.0; Check: PuskIconCheck and InstallerCheck; Name: "{group}\Удалить {#MyAppDisplayName}"; Filename: "{uninstallexe}"; MinVersion: 0.0,5.0; Check: PuskIconCheck and InstallerCheck; Name: "{commondesktop}\{#MyAppDisplayName}"; Filename: "{app}\{#MyAppExeName}"; MinVersion: 0.0,5.0; Check: DesktopIconCheck and InstallerCheck; [Files] Source: compiler:Examples\MyProg1.exe; DestDir: {app}; Check: InstallerCheck; Flags: ignoreversion; Source: compiler:Examples\MyProg2.exe; DestDir: {app}; Check: PortableCheck; Flags: ignoreversion; [Code ] var ComponentPage: TWizardPage; InstallerGroupBox: TNewGroupBox; Installer: TNewRadioButton; Portable: TNewRadioButton; IconGroupBox: TNewGroupBox; PuskIcon: TNewCheckBox; DesktopIcon: TNewCheckBox; PanelZadash: TNewCheckBox; function CheckParam(s: string): boolean; var i: integer; begin for i := 0 to ParamCount do begin Result := ParamStr(i) = s; if Result then Break; end; end; //--------------------------------------------------------// function GetInstallDir(S: String): String; begin if CheckParam('/P') then Result:= ExpandConstant('{src}\{#MyAppNamePortable}') else Result:= ExpandConstant(S); end; function InstallerCheck: Boolean; begin Result := Installer.Checked or CheckParam('/I'); end; //--------------------------------------------------------// function PortableCheck: Boolean; begin Result := Portable.Checked or CheckParam('/P'); end; function DesktopIconCheck: Boolean; begin Result:= DesktopIcon.Checked; end; //--------------------------------------------------------// function PuskIconCheck: Boolean; begin Result:= PuskIcon.Checked; end; //--------------------------------------------------------// function PanelZadashCheck: Boolean; begin Result:= PanelZadash.Checked; end; procedure CompClick(Sender: TObject); begin case TNewRadioButton(Sender) of Portable: begin //--------------------------------------------------------// DesktopIcon.Checked := False; DesktopIcon.Enabled := DesktopIcon.Checked; PuskIcon.Checked := False; PuskIcon.Enabled := PuskIcon.Checked; PanelZadash.Checked := False; PanelZadash.Enabled := PanelZadash.Checked; //--------------------------------------------------------// WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + '{#MyAppNamePortable}'; WizardForm.Caption := FmtMessage(ExpandConstant('Распаковка — %1'), [ExpandConstant('Моя программа Portable')]); end; Installer: begin //--------------------------------------------------------// DesktopIcon.Checked := True; DesktopIcon.Enabled := DesktopIcon.Checked; PuskIcon.Checked := True; PuskIcon.Enabled := PuskIcon.Checked; PanelZadash.Checked := False; PanelZadash.Enabled := True; //--------------------------------------------------------// WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{#MyAppConstantName}')) + '{#MyAppDirName}'; WizardForm.Caption := FmtMessage(SetupMessage(msgSetupWindowTitle), [ExpandConstant('{#SetupSetting("AppName")}')]); end; end; end; procedure InitializeWizard(); begin ComponentPage := CreateCustomPage(wpUserInfo, 'Выбор типа установки', '. . .'); WizardForm.DirEdit.Text:= ExpandConstant('{code:GetInstallDir|{#MyAppConstantName}\{#MyAppDirName}}'); InstallerGroupBox := TNewGroupBox.Create(WizardForm); with InstallerGroupBox do begin Parent := ComponentPage.Surface; Left := ScaleX(0); Top := ScaleY(10); Width := ScaleX(210); Height := ScaleY(60); Caption := 'Тип установки:'; end; Portable := TNewRadioButton.Create(WizardForm); with Portable do begin Parent := InstallerGroupBox; Left := ScaleX(10); Top := ScaleY(35); Width := ScaleX(210); Height := ScaleY(17); Caption := 'Распаковка портативной версии'; Checked := CheckParam('/P'); OnClick := @CompClick; end; IconGroupBox := TNewGroupBox.Create(WizardForm); with IconGroupBox do begin Parent := ComponentPage.Surface; Left := ScaleX(0); Top := ScaleY(80); Width := ScaleX(210); Height := ScaleY(80); Caption := 'Ярлыки программы:'; end; PuskIcon := TNewCheckBox.Create(WizardForm); with PuskIcon do begin Parent := IconGroupBox; Left := ScaleX(10); Top := ScaleY(15); Width := ScaleX(210); Height := ScaleY(17); Caption := 'Ярлык(и) в меню «Пуск»'; Checked := True; State := cbChecked; end; DesktopIcon := TNewCheckBox.Create(WizardForm); with DesktopIcon do begin Parent := IconGroupBox; Left := ScaleX(10); Top := ScaleY(35); Width := ScaleX(210); Height := ScaleY(17); Caption := 'Ярлык(и) на «Рабочем столе»'; Checked := True; State := cbChecked; end; PanelZadash := TNewCheckBox.Create(WizardForm); with PanelZadash do begin Parent := IconGroupBox; Left := ScaleX(10); Top := ScaleY(55); Width := ScaleX(210); Height := ScaleY(17); Caption := 'Закрепить ярлык в «Панели задач»'; end; Installer := TNewRadioButton.Create(WizardForm); with Installer do begin Parent := InstallerGroupBox; Left := ScaleX(10); Top := ScaleY(15); Width := ScaleX(210); Height := ScaleY(17); Caption := 'Установка стационарной версии'; Checked := not CheckParam('/P'); OnClick := @CompClick; end; end; В чём может быть причина.. |
Последний раз редактировалось serg5, 19-07-2022 в 16:52. Отправлено: 16:39, 19-07-2022 | #816 |
Старожил Сообщения: 291
|
Профиль | Отправить PM | Цитировать [Setup]
DefaultGroupName={#MyAppName} |
------- Отправлено: 17:15, 19-07-2022 | #817 |
Забанен Сообщения: 34
|
Цитата ZVSRus:
только при выборе распаковки портабл версии всё также предлагает иконку в меню пуск... как её оттуда убрать.. Может надо как-то Check по другому указывать? Или в таком случае аргумента какого-то не хватает? |
|
Последний раз редактировалось serg5, 19-07-2022 в 17:51. Отправлено: 17:20, 19-07-2022 | #818 |
Старожил Сообщения: 291
|
Профиль | Отправить PM | Цитировать serg5,
У вас в секции [Setup] включена страница DefaultGroupName={#MyAppName} (страница программной группы), если для вас показ этой страницы не принципиально то можно эту страницу пропустить. function ShouldSkipPage(PageID: Integer): Boolean; begin if (PageID = 8) then Result:= True; end; Тогда страница программной группы показываться не будет, ни при выборе портативной версии, ни при стационарной версии. Если же хотите при выборе стационарной версии хотите показывать эту страницу, тогда надо химичить, все компоненты программной группы перенести на страницу SelectDirPage, пример в справке есть. На странице SelectDirPage создаёте панельку и все компоненты с странице SelectProgramGroupPage переносите на эту панельку SelectDirPage, а в процедуре procedure CurPageChanged(CurPageID: Integer); при включеном Portable: скрываете, а при Installer: показываете. |
------- Последний раз редактировалось ZVSRus, 19-07-2022 в 19:14. Отправлено: 19:04, 19-07-2022 | #819 |
Забанен Сообщения: 34
|
Цитата ZVSRus:
Только в portable её не должно быть вообще. Так как там не нужны ярлыки. А она пытается и в portable ярлык повесить... Здесь что-то..?. Потому я писал выше может быть с Check что-не так? Или ещё какой-то задачи не хватает? |
|
Отправлено: 19:17, 19-07-2022 | #820 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 7] | El Sanchez | Автоматическая установка приложений | 2499 | 02-02-2015 08:59 | |
Скрипты Inno Setup. Помощь и советы [часть 6] | El Sanchez | Автоматическая установка приложений | 2494 | 10-03-2014 11:51 | |
Скрипты Inno Setup. Помощь и советы [часть 5] | El Sanchez | Автоматическая установка приложений | 1999 | 28-03-2013 19:09 | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 |
|