|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив] Inno Setup .:[все вопросы]:. |
|
[архив] Inno Setup .:[все вопросы]:.
|
Новый участник Сообщения: 6 |
Профиль | Отправить PM | Цитировать
Лимит страниц.
Тема закрыта. продолжаем тут: Inno Setup. Обсуждение установщика Скрипты Inno Setup. Помощь и советы Полезные ресурсы: Официальный сайт| Inno Setup 5.2.3 RU Русская справка |Зеракало 1| Зеракало 2 ISTool 5.30 |Русификатор Русификатор ISTool |Зеркало 1|Зеркало 2 Inno Setup Script Generator |Зеркало 1 Unpaker 2.1 от 21.04.2009 - распаковывает инсталляторы, созданные с помощью Inno Setup, начиная с версии 2.0.18 по 5.2.4. InnoUnpaker 2.6b3 [от valeron87]- можнет просмотривать содержание CompiledCode.bin Unpaker 0.23 - расширенная китайская версия 2008-08-08 ( модификация) Unpacker 0.24 | Зеркало 1 | Зеркало 2 - Inno Setup Unpacker (innounp plus) - расширенная версия распаковщика инсталляторов Inno Setup начиная с версии 2.0.8 по 5.3.0 Beta. Поддерживаются версии Unicode. Русифицирована. Последний релиз: 0.24 [23.05.2009] QuickStart Pack - Inno Setup + Preprocessor (последняя версия ispack-5.2.4-dev) "Всё в одном" от unikum111 Полезные мелочи для Inno Setup: - Converter v.0.1.2 - конвертор REG- файлов в формат скриптов Inno от Serega_ -новая версия - Как убрать страницу приветствия (wpWelcome) в мастере установки приложения: - Примеры скриптов на паскале - Inno Setup Addon 0.07 For Total Commander |
|
Отправлено: 21:42, 17-03-2005 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Вопрос решен. Всем спасибо!
Решение |
------- Отправлено: 14:04, 03-07-2009 | #1071 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 109
|
Профиль | Отправить PM | Цитировать Господа в чем проблема? стоит в инсталляторе 9bmp изображений он использует их как слайд шоу, но во время установки он показыват лишь 2 из них это 2 и 3 слайды помогите прошу вас, и как всегда надеюсь на вас!
[code] type TProc = procedure(HandleW, msg, idEvent, TimeSys: LongWord); var WelcomeLabel1,WelcomeLabel2,FinishedHeadingLabel,RunLabel, FinishedLabel,PageNameLabel,PageDescriptionLabel:TLabel; RunMyProg: TCheckBox; TimerID: LongWord; currTime: Integer; SplashImage: TBitmapImage; function WrapTimerProc(callback:TProc; paramcount:integer):longword; external 'wrapcallback@files:InnoCallback.dll stdcall'; function SetTimer(hWnd: LongWord; nIDEvent, uElapse: LongWord; lpTimerFunc: LongWord): LongWord; external 'SetTimer@user32.dll stdcall'; function KillTimer(hWnd: LongWord; nIDEvent: LongWord): LongWord; external 'KillTimer@user32.dll stdcall'; procedure OnTimer(HandleW, msg, idEvent, TimeSys: LongWord); begin currTime := currTime + 1; case currTime of 1*{#TIME_FOR_VIEW}: begin SplashImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\2.bmp')) end; 2*{#TIME_FOR_VIEW}: begin SplashImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\3.bmp')) end; 3*{#TIME_FOR_VIEW}: begin SplashImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\4.bmp')) end; 4*{#TIME_FOR_VIEW}: begin SplashImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\5.bmp')) end; 5*{#TIME_FOR_VIEW}: begin SplashImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\6.bmp')) end; 6*{#TIME_FOR_VIEW}: begin SplashImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\7.bmp')) end; 7*{#TIME_FOR_VIEW}: begin SplashImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\8.bmp')) end; 8*{#TIME_FOR_VIEW}: begin SplashImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\9.bmp')) end; end; if CurrTime = 7*{#TIME_FOR_VIEW} then CurrTime := -1; end; procedure RLabelOnClick(Sender: TObject); begin if RunMyProg.Checked=false then begin RunMyProg.Checked := true; end else RunMyProg.Checked := false; end; // функция для запуска программы если отмечен чебокс procedure CurStepChanged(CurStep: TSetupStep); var ErrorCode: Integer; begin if CurStep = ssDone then begin end; end; procedure InitializeWizard(); begin ExtractTemporaryFile('1.bmp') ExtractTemporaryFile('2.bmp') ExtractTemporaryFile('3.bmp') ExtractTemporaryFile('4.bmp') ExtractTemporaryFile('5.bmp') ExtractTemporaryFile('6.bmp') ExtractTemporaryFile('7.bmp') ExtractTemporaryFile('8.bmp') ExtractTemporaryFile('9.bmp') currTime := 5; WizardForm.WelcomeLabel1.Hide; WizardForm.WelcomeLabel2.Hide; WizardForm.PageNameLabel.Hide; WizardForm.PageDescriptionLabel.Hide; WizardForm.FinishedHeadingLabel.Hide; WizardForm.FinishedLabel.Hide; // низнаю почему, но Hide не действует. Поэтому просто уменьшил размер WizardForm.RunList.Height := 0; WizardForm.RunList.Width := 0; WizardForm.FilenameLabel.Hide; WizardForm.StatusLabel.Parent := WizardForm; WizardForm.StatusLabel.Top := ScaleY(315); WizardForm.StatusLabel.Left := ScaleX(10); WizardForm.StatusLabel.Width := ScaleX(200); WizardForm.StatusLabel.Hide; WizardForm.ProgressGauge.Parent := WizardForm; WizardForm.ProgressGauge.Top := ScaleY(330); WizardForm.ProgressGauge.Left := ScaleX(10); WizardForm.ProgressGauge.Width := ScaleX(380); WizardForm.ProgressGauge.Height := ScaleX(18); WizardForm.ProgressGauge.Hide; SplashImage := TBitmapImage.Create(WizardForm); SplashImage.Top := 0; SplashImage.Left := 0; SplashImage.Width := WizardForm.MainPanel.Width; SplashImage.Height := WizardForm.Bevel.Top; SplashImage.Parent := WizardForm.InnerPage; SplashImage.Stretch := True; SplashImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp')); SplashImage.Hide; WizardForm.WizardBitmapImage.Align:=true; WizardForm.WizardBitmapImage2.Align:=true; WizardForm.WizardSmallBitmapImage.Align:=true; WelcomeLabel1:=TLabel.Create(WizardForm); WelcomeLabel1.Left:=ScaleX(255); WelcomeLabel1.Top := ScaleY(15); WelcomeLabel1.Width := ScaleX(250); WelcomeLabel1.Height := ScaleY(95); WelcomeLabel1.AutoSize := False; WelcomeLabel1.WordWrap := true; WelcomeLabel1.Font.Color := clgreen; // здесь можно поиграть шрифтом WelcomeLabel1.Font.Style := [fsBold]; WelcomeLabel1.Font.Name:='MS Sans Serif'; WelcomeLabel1.Font.Size := 13; WelcomeLabel1.Transparent := True; WelcomeLabel1.Parent := WizardForm.WelcomePage; WelcomeLabel2:=TLabel.Create(WizardForm); WelcomeLabel2.Left := ScaleX(150); WelcomeLabel2.Top := ScaleY(90); WelcomeLabel2.Width := ScaleX(320); WelcomeLabel2.Height := ScaleY(200); WelcomeLabel2.AutoSize := False; WelcomeLabel2.WordWrap := True; WelcomeLabel2.Font.Color := clBlack; WelcomeLabel2.Font.Size := 8; WelcomeLabel2.Transparent := True; //WelcomeLabel2.Parent := WizardForm.WelcomePage; PageNameLabel := TLabel.Create(WizardForm); PageNameLabel.Left := ScaleX(25); PageNameLabel.Top := ScaleY(10); PageNameLabel.Width := ScaleX(300); PageNameLabel.Height := ScaleY(14); PageNameLabel.AutoSize := False; PageNameLabel.WordWrap := True; PageNameLabel.Font.Color := clBlack; PageNameLabel.Font.Style := [fsBold]; PageNameLabel.Transparent := True; //PageNameLabel.Parent := WizardForm.MainPanel; PageDescriptionLabel := TLabel.Create(WizardForm); PageDescriptionLabel.Left := ScaleX(40); PageDescriptionLabel.Top := ScaleY(25); PageDescriptionLabel.Width := ScaleX(475); PageDescriptionLabel.Height := ScaleY(30); PageDescriptionLabel.AutoSize := False; PageDescriptionLabel.WordWrap := True; PageDescriptionLabel.Font.Color := clBlack; PageDescriptionLabel.Transparent := True; //PageDescriptionLabel.Parent := WizardForm.MainPanel; FinishedHeadingLabel:=TLabel.Create(WizardForm); FinishedHeadingLabel.Left:=ScaleX(275); FinishedHeadingLabel.Top := ScaleY(15); FinishedHeadingLabel.Width := ScaleX(250); FinishedHeadingLabel.Height := ScaleY(95);; FinishedHeadingLabel.AutoSize := False; FinishedHeadingLabel.WordWrap := True; FinishedHeadingLabel.Font.Color := clgreen; // здесь тоже можно поиграть шрифтом FinishedHeadingLabel.Font.Style := [fsBold]; FinishedHeadingLabel.Font.Name:='MS Sans Serif'; FinishedHeadingLabel.Font.Size := 13; FinishedHeadingLabel.Transparent := True; FinishedHeadingLabel.Parent := WizardForm.FinishedPage; FinishedLabel:=TLabel.Create(WizardForm); FinishedLabel.Left := ScaleX(225); FinishedLabel.Top := ScaleY(15); FinishedLabel.Width := ScaleX(250); FinishedLabel.Height := ScaleY(95); FinishedLabel.AutoSize := False; FinishedLabel.WordWrap := True; FinishedLabel.Font.Color := clBlack; FinishedLabel.Font.Size := 13; FinishedLabel.Transparent := True; //FinishedLabel.Parent := WizardForm.FinishedPage; end; procedure CurPageChanged(CurPageID: Integer); var pfunc: LongWord; begin WelcomeLabel1.Caption := WizardForm.WelcomeLabel1.Caption; WelcomeLabel2.Caption := WizardForm.WelcomeLabel2.Caption; PageNameLabel.Caption := WizardForm.PageNameLabel.Caption; PageDescriptionLabel.Caption := WizardForm.PageDescriptionLabel.Caption; FinishedHeadingLabel.Caption := WizardForm.FinishedHeadingLabel.Caption; FinishedLabel.Caption := WizardForm.FinishedLabel.Caption; // здесь придётся вручную вводить требуемый текст //RunLabel.Caption := 'Запустить программу'; if (CurPageID = wpInstalling) then begin pfunc := WrapTimerProc(@OnTimer, 4); TimerID := SetTimer(0, 0, 1000, pfunc); WizardForm.InnerNotebook.Hide; WizardForm.Bevel1.Hide; WizardForm.MainPanel.Hide; WizardForm.PageNameLabel.Hide; WizardForm.PageDescriptionLabel.Hide; WizardForm.ProgressGauge.Show; WizardForm.StatusLabel.Show; SplashImage.Show; end else begin WizardForm.ProgressGauge.Hide; WizardForm.StatusLabel.Hide; SplashImage.Hide; if (CurPageID > wpInstalling) and (CurPageID < wpFinished) then begin WizardForm.InnerNotebook.Show; WizardForm.Bevel1.Show; WizardForm.MainPanel.Show; WizardForm.PageNameLabel.Show; WizardForm.PageDescriptionLabel.Show; end; end; end; procedure DeinitializeSetup(); begin KillTimer(0, TimerID); end; |
Последний раз редактировалось Tukash, 03-07-2009 в 21:16. Отправлено: 18:17, 03-07-2009 | #1072 |
Старожил Сообщения: 398
|
Профиль | Отправить PM | Цитировать 1. Ктонить может сделать скрипт, чтоб в папке, которую выбрал юзер, для установки игры, проверялось наличие файлов "Install.exe" и "StarCraft.mpq", если хоть один файл найден, то никаких сообщений об ошибке выводиться не должно, если же не найдено ни одного, то выводилось сообщение "Install.exe не найден в папке назначения, скопируйте его с лицензионного диска StarCraft, в папку, для начала инсталляции". Но этот скрипт должен работать только если выбран компонент "Game\Lokal".
2. Возможно ли сделать чтоб в этом слайд-шоу, слайды менялись не по порядку, а рандомно? |
Последний раз редактировалось Raf-9600, 03-07-2009 в 19:23. Отправлено: 18:57, 03-07-2009 | #1073 |
Пользователь Сообщения: 129
|
Профиль | Отправить PM | Цитировать МИШАНЧИК
Цитата МИШАНЧИК:
Цитата МИШАНЧИК:
Raf-9600 Цитата Raf-9600:
проверяй … function NextButtonClick(CurPageID: Integer): Boolean; begin Result := True; if CurPageID = wpReady then begin if IsComponentSelected('Game\Lokal') then if (FileSearch('Install.exe', ExpandConstant('{app}')) = '') then if (FileSearch('StarCraft.mpq', ExpandConstant('{app}')) = '') then begin SuppressibleMsgBox('"Install.exe не найден в папке назначения, скопируйте его с лицензионного диска StarCraft, в папку, для начала инсталляции".', mbCriticalError, MB_OK, MB_OK); Result := False; end else Result := True; end; end; |
|||
Последний раз редактировалось serg aka lain, 03-07-2009 в 21:33. Отправлено: 20:56, 03-07-2009 | #1074 |
Пользователь Сообщения: 66
|
Профиль | Отправить PM | Цитировать Цитата МИШАНЧИК:
[_Code] procedure CurStepChanged(CurStep: TSetupStep); begin if CurStep = ssPostInstall then RenameFile(ExpandConstant('{app}\unins000.exe'), ExpandConstant('{app}\uninstall.exe')) RenameFile(ExpandConstant('{app}\unins000.dat'), ExpandConstant('{app}\uninstall.dat')) RegWriteStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\Моя Прога_is1','UninstallString', ExpandConstant('{app}\uninstall.exe')) RegWriteStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\Моя Прога_is1','QuietUninstallString', ExpandConstant('{app}\uninstall.exe /SILENT')) end; |
|
Отправлено: 21:19, 03-07-2009 | #1075 |
Пользователь Сообщения: 109
|
Профиль | Отправить PM | Цитировать прошу прощение за беспокойства, разобрался сам, надо было всего-то в #define TIME_FOR_VIEW 1 изменить на цифру больше!!!
|
Отправлено: 21:43, 03-07-2009 | #1076 |
Пользователь Сообщения: 129
|
Профиль | Отправить PM | Цитировать BlackSelf
И чего толку от переименования? При повторной установке реестр перезапишется как нужно, а в папке будет создан ещё один unins000.exe и unins000.dat. Ну, если только целью этого действия является лишь бы получить эти uninstall любой ценой, то пойдёт. ИМХО Думаю, спрашивали как заставить инсталлятор создавать деинсталлятор uninstall.exe изначально. |
Отправлено: 21:51, 03-07-2009 | #1077 |
Ветеран Сообщения: 1133
|
Профиль | Отправить PM | Цитировать Цитата serg aka lain:
|
|
------- Отправлено: 22:02, 03-07-2009 | #1078 |
Пользователь Сообщения: 129
|
Профиль | Отправить PM | Цитировать Цитата Serega:
|
|
Отправлено: 22:11, 03-07-2009 | #1079 |
Старожил Сообщения: 398
|
Профиль | Отправить PM | Цитировать Цитата serg aka lain:
|
|
Отправлено: 23:21, 03-07-2009 | #1080 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Inno Setup. Прочие вопросы | El Sanchez | Автоматическая установка приложений | 653 | 09-01-2023 20:13 | |
Утилиты - [addon] Inno Setup | CrOsP | Наборы обновлений для Windows XP/2003/Windows 7 | 33 | 11-05-2011 16:03 | |
Inno Setup 5.3.6 | OSZone Software | Новости программного обеспечения | 0 | 15-11-2009 17:30 | |
[Архив] Твики реестра .: [все вопросы] :. | Vadikan | Автоматическая установка Windows 2000/XP/2003 | 1431 | 26-01-2008 08:51 | |
Inno Setup | tradeukraine | Вебмастеру | 3 | 13-06-2006 20:39 |
|