|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 8] |
|
Скрипты Inno Setup. Помощь и советы [часть 8]
|
Ветеран Сообщения: 1264 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] Скрипты Inno Setup. Помощь и советы [часть 7] |
|
Отправлено: 08:52, 02-02-2015 |
Ветеран Сообщения: 857
|
Профиль | Отправить PM | Цитировать Цитата Hantunyaha:
|
|
------- Отправлено: 14:11, 16-02-2016 | #1331 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Цитата Dodakaedr:
Что избавиться от этого компонента: AllowCancelDuringInstall нужно сделать свою кнопку отмена Скрытый текст
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "My Program" #define MyAppVersion "1.5" #define MyAppPublisher "My Company, Inc." #define MyAppURL "http://www.example.com/" #define MyAppExeName "MyProg.exe" [Setup] ; NOTE: The value of AppId uniquely identifies this application. ; Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppId={{FC9B3E48-8A0B-49FA-B161-675874D96F13} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={pf}\{#MyAppName} DisableProgramGroupPage=yes OutputBaseFilename=setup Compression=lzma SolidCompression=yes DisableWelcomePage=no AllowCancelDuringInstall=no [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon [code] const MF_BYCOMMAND = 0; MF_ENABLED = 0; MF_GRAYED = 1; MF_DISABLED = 2; SC_CLOSE = 61536; GCL_STYLE = -26; CS_NOCLOSE = $200; function GetSystemMenu(hWnd: HWND; bRevert: BOOL): LongWord; external 'GetSystemMenu@user32.dll stdcall'; function EnableMenuItem(hMenu: THandle; uIDEnableItem: Longword; uEnable: Longword): Boolean; external 'EnableMenuItem@user32.dll stdcall'; function GetClassLong(Wnd: HWnd; Index: Integer): Longint; external 'GetClassLongA@user32.dll stdcall'; function SetClassLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint; external 'SetClassLongA@user32.dll stdcall'; procedure CurPageChanged(CurPageID: Integer); begin //if (CurPageID = wpInstalling) then //begin EnableMenuItem(GetSystemMenu(WizardForm.Handle, false), SC_CLOSE, MF_DISABLED or MF_BYCOMMAND); SetClassLong(WizardForm.Handle, GCL_STYLE, GetClassLong(WizardForm.Handle, GCL_STYLE) or CS_NOCLOSE); //end; end; Как сделать кнопку ? |
|
Последний раз редактировалось Hantunyaha, 16-02-2016 в 14:56. Отправлено: 14:49, 16-02-2016 | #1332 |
Ветеран Сообщения: 517
|
Профиль | Отправить PM | Цитировать Цитата Hantunyaha:
Вот так
; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "My Program" #define MyAppVersion "1.5" #define MyAppPublisher "My Company, Inc." #define MyAppURL "http://www.example.com/" #define MyAppExeName "MyProg.exe" [Setup] ; NOTE: The value of AppId uniquely identifies this application. ; Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppId={{FC9B3E48-8A0B-49FA-B161-675874D96F13} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={pf}\{#MyAppName} DisableProgramGroupPage=yes OutputBaseFilename=setup Compression=lzma SolidCompression=yes DisableWelcomePage=no //AllowCancelDuringInstall=no [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "C:\Windows\fonts\*"; DestDir: "{app}"; Flags: ignoreversion external; ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon [code] #define A = (Defined UNICODE) ? "W" : "A" const MF_BYCOMMAND = 0; MF_ENABLED = 0; MF_GRAYED = 1; MF_DISABLED = 2; SC_CLOSE = 61536; GCL_STYLE = -26; CS_NOCLOSE = $200; function GetSystemMenu( hWnd: HWND; bRevert: BOOL ): LongWord; external 'GetSystemMenu@user32.dll stdcall'; function EnableMenuItem( hMenu: THandle; uIDEnableItem: Longword; uEnable: Longword ): Boolean; external 'EnableMenuItem@user32.dll stdcall'; function GetClassLong( Wnd: HWnd; Index: Integer ): Longint; external 'GetClassLong{#A}@user32.dll stdcall'; function SetClassLong( Wnd: HWnd; Index: Integer; NewLong: Longint ): Longint; external 'SetClassLong{#A}@user32.dll stdcall'; var { Declared global variables } _tBtnCancel: TButton; procedure _CancelClick ( const Sender: TObject ); begin WizardForm.CancelButton.Click; end; procedure InitializeWizard(); begin EnableMenuItem( GetSystemMenu( WizardForm.Handle, false ), SC_CLOSE, MF_DISABLED or MF_BYCOMMAND ); SetClassLong( WizardForm.Handle, GCL_STYLE, GetClassLong( WizardForm.Handle, GCL_STYLE ) or CS_NOCLOSE ); with WizardForm do begin { Create custom button } _tBtnCancel := TButton.Create( nil ); { Init global variable } with _tBtnCancel do begin Parent := WizardForm; SetBounds( ScaleX( WizardForm.CancelButton.Left ), ScaleY( WizardForm.CancelButton.Top ), ScaleX( WizardForm.CancelButton.Width ), ScaleY( WizardForm.CancelButton.Height ) ); Caption := SetupMessage( msgButtonCancel ); BringToFront; OnClick := @_CancelClick; end; end; end; procedure CurPageChanged(CurPageID: Integer); begin case CurPageID of wpFinished: _tBtnCancel.Hide; end; end; Только, в чем смысл заменять родную кнопку кастомной с идентичным событием? |
|
Последний раз редактировалось saurn, 17-02-2016 в 07:09. Отправлено: 22:00, 16-02-2016 | #1333 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать
Ошибка при компиляции
И часть кода перестала работать |
||||
Отправлено: 12:24, 17-02-2016 | #1334 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:24, 17-02-2016 | #1335 |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать Hantunyaha,
Используйте расширенную версию компилятора, и ошибки не будет. |
Отправлено: 13:15, 17-02-2016 | #1336 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Цитата TryRooM:
|
|
Отправлено: 13:27, 17-02-2016 | #1337 |
Старожил Сообщения: 212
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 13:40, 17-02-2016 | #1338 |
SHVtYW4= Сообщения: 3451
|
Профиль | Отправить PM | Цитировать Цитата Hantunyaha:
В стандартной версии не работает. В расширенной версии работает. Используйте расширенную версию. Цитата Hantunyaha:
|
||
Последний раз редактировалось Nordek, 17-02-2016 в 14:20. Отправлено: 14:10, 17-02-2016 | #1339 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Как записать ключ в реестр ?
Нужно записать этот ключ: AAAAA-AAAAA-AAAAA-AAAAA |
Отправлено: 17:48, 17-02-2016 | #1340 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты 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 |
|