|
Компьютерный форум 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 |
Старожил Сообщения: 284
|
Профиль | Отправить PM | Цитировать saurn, На страницах 128, 129 Вы помогли мне разобраться с кнопкой Сброс.
Если есть время помогите разобраться еще с одной кнопкой Сброс. Нужно кнопку Сброс прикрутить к программной группе. Скрипт скинул в личку. |
Отправлено: 21:10, 10-02-2016 | #1311 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 857
|
Профиль | Отправить PM | Цитировать Цитата dracosha:
Скрытый текст
[Setup] AppName=My Program AppVersion=1.5 DefaultDirName={pf}\My Program OutputDir=. [Components] Name: "arch"; Description: "1.7z\2.7z"; [Files] Source: "7za.exe"; Flags: dontcopy deleteafterinstall Source: "1.7z"; DestDir: "{app}\Icons"; AfterInstall: "Extract()"; Components: arch; Source: "2.7z"; DestDir: "{app}"; AfterInstall: "Extract()"; Components: arch; [Code] procedure Extract(); var rs: integer; strFile: String; begin strFile := ExpandConstant(CurrentFileName); if not FileExists(ExpandConstant('{tmp}\7za.exe')) then ExtractTemporaryFile('7za.exe'); Exec(ExpandConstant('{tmp}\7za.exe'), ' x '+'"'+strFile+'" -y -o'+'"'+ExtractFilePath(strFile)+'"', '', SW_Hide, ewWaitUntilTerminated, rs); DeleteFile(strFile); end; |
|
------- Отправлено: 22:53, 10-02-2016 | #1312 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать
Как изменить заголовок MessageBox ?
С поддержкой юникода (c переводом строк из ANSI в UNICODE) Скрытый текст
[code] #ifdef UNICODE #define A "W" #else #define A "A" #endif const FR_PRIVATE = $10; procedure InitializeWizard(); begin WizardForm.Caption:= ('Установка {#MyAppName}'); end; procedure InitializeUninstallProgressForm(); begin UninstallProgressForm.Caption:= ('Удаление {#MyAppName}'); end; |
||||
Последний раз редактировалось Aviromathe, 11-02-2016 в 15:01. Отправлено: 14:37, 11-02-2016 | #1313 |
Старожил Сообщения: 284
|
Профиль | Отправить PM | Цитировать |
Отправлено: 21:18, 11-02-2016 | #1314 |
Пользователь Сообщения: 87
|
Профиль | Отправить PM | Цитировать Всем привет. Возникла такая проблема. Переустановила виндовс. После переустановки заново установила inno setup, качала с оф. сайта, то есть отсюда http://www.jrsoftware.org/isdl.php (это же оф. сайт?). Но как то теперь инно сетап работает не так. Компилирует все нормально, но при установке скомпилированной программы исчезло первое окошко приветствия (то есть там, где говорится "вас приветствует мастер установки программы, вы установите версию такую то.... и т.д.). То есть появляется сразу окошко с выбором места установки. И это не только с вновь созданными скриптами, то же самое происходит, если компилировать те скрипты, которые создавала ранее, до переустановки. Подскажите пожалуйста, в чем может быть проблема? Спасибо.
|
Отправлено: 12:20, 12-02-2016 | #1315 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Цитата Irenis:
Скрытый текст
В последних версиях окно приветствия отключено
Если хотите его включить добавьте эту строку в скрипт [code] DisableWelcomePage=no Оффициальный сайт http://www.jrsoftware.org/ |
|
Последний раз редактировалось Aviromathe, 12-02-2016 в 13:42. Отправлено: 13:36, 12-02-2016 | #1316 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать
Помогите пожалуйста,отключить кнопку "Отмена" во время установки
Если что смотрите картинку что за кнопка! Скрытый текст
; 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={{558D0D03-8238-4111-9709-EF358E0F2101} 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 [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_GRAYED = $1; MF_BYCOMMAND = $0; SC_CLOSE = $F060; MF_BYPOSITION = $00000400; type HMENU = THandle; function GetSystemMenu(hWnd: THandle; bRevert: Boolean): THandle; external 'GetSystemMenu@user32.dll stdcall'; function EnableMenuItem(hMenu: UINT; uIDEnableItem, uEnable: UINT): Boolean; external 'EnableMenuItem@user32.dll stdcall'; function DeleteMenu(hMenu: HMENU; uPosition, uFlags: UINT): BOOL; external 'DeleteMenu@user32.dll stdcall'; function GetMenuItemCount(hMenu: HMENU): Integer; external 'GetMenuItemCount@user32.dll stdcall'; procedure CurPageChanged(CurPageID: Integer); var Menu: THandle; begin Menu := GetSystemMenu(WizardForm.Handle, False); EnableMenuItem(Menu, SC_CLOSE, MF_BYCOMMAND or MF_GRAYED); if (CurPageID = wpSelectDir) or (CurPageID = wpReady) then WizardForm.NextButton.Caption := SetupMessage(msgButtonInstall) else if (CurPageID = wpFinished) then WizardForm.NextButton.Caption := SetupMessage(msgButtonFinish) else WizardForm.NextButton.Caption := SetupMessage(msgButtonNext); end; procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean); begin Cancel:= true; Confirm:= false; end; procedure InitializeWizard; var SystemMenu: HMENU; begin SystemMenu := GetSystemMenu(WizardForm.Handle, False); DeleteMenu(SystemMenu, 9999, MF_BYCOMMAND); DeleteMenu(SystemMenu, GetMenuItemCount(SystemMenu)-1, MF_BYPOSITION); end; |
||||
Последний раз редактировалось Venelana, 13-02-2016 в 14:04. Отправлено: 13:57, 13-02-2016 | #1317 |
Старожил Сообщения: 284
|
Профиль | Отправить PM | Цитировать |
Последний раз редактировалось ZVSRus, 13-02-2016 в 17:00. Отправлено: 16:50, 13-02-2016 | #1318 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Как можно по другому отменить закрытие при помощи Alt + F4 ?
Скрытый текст
[Setup]
AppName=MyApp AppverName=MyApp DefaultDirName={pf}\MyApp OutputDir=. [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; |
Отправлено: 17:29, 13-02-2016 | #1319 |
Ветеран Сообщения: 517
|
Профиль | Отправить PM | Цитировать Цитата Venelana:
procedure CurPageChanged( const CurPageID: Integer ); begin case CurPageID of wpInstalling: WizardForm.CancelButton.Enabled := False; end; end; Думаю, если уж лишать пользователя возможности отменить установку, то следует, также, отключить кнопку закрытия на бордюре окна. Хотя, в таскбаре окно все равно можно будет закрыть. #define A = (Defined UNICODE) ? "W" : "A" const GCL_STYLE = - 26; CS_NOCLOSE = $0200; function SetClassLong( hWnd: HWND; nIndex: Integer; dwNewLong: Longint ): DWORD; external 'SetClassLong{#A}@user32.dll stdcall'; function GetClassLong( hWnd: HWND; nIndex: Integer ): DWORD; external 'GetClassLong{#A}@user32.dll stdcall'; procedure CurPageChanged( const CurPageID: Integer ); begin case CurPageID of wpInstalling: begin WizardForm.CancelButton.Enabled := False; SetClassLong( WizardForm.Handle, GCL_STYLE, ( GetClassLong( WizardForm.Handle, GCL_STYLE ) or CS_NOCLOSE ) ); end; end; end; |
|
Отправлено: 02:18, 14-02-2016 | #1320 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты 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 |
|