![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 8] |
|
Скрипты Inno Setup. Помощь и советы [часть 8]
|
Ветеран Сообщения: 1274 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] Скрипты Inno Setup. Помощь и советы [часть 7] |
|
Отправлено: 08:52, 02-02-2015 |
Пользователь Сообщения: 50
|
Профиль | Отправить PM | Цитировать З
![]() Сам код: Скрытый текст
[code] function NextButtonClick(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: if not FileExists(ExpandConstant('{app}\steam.exe')) then begin MsgBox('Ошибка! Вы должны указать путь к папке Steam.', mbError, MB_OK); Result := False; end; end; end; procedure SomeProc; begin end; var DelTmp: TNewCheckBox; function DelTmpCheck(): boolean; begin result := DelTmp.Checked; end; procedure InitializeWizard(); begin WizardForm.RunList.Height := ScaleY(WizardForm.RunList.Height-100); DelTmp := TNewCheckBox.Create(WizardForm); DelTmp.Parent := WizardForm.FinishedPage; DelTmp.Caption := ' Очистить временные файлы игры (рекомендуется)'; DelTmp.Left := ScaleX(180); DelTmp.Top := ScaleY(170); DelTmp.Width := ScaleX(300); DelTmp.Height := ScaleY(15); DelTmp.Checked := true; end; procedure CurStepChanged(CurStep: TSetupStep); begin case CurStep of ssDone: begin if DelTmpCheck then begin DelTree(ExpandConstant('{app}\steamapps\common\Counter-Strike Global Offensive\directx_installer\*'), false, true, true); DelTree(ExpandConstant('{app}\steamapps\common\Counter-Strike Global Offensive\csgo_lv\streams\*'), false, true, true); DelTree(ExpandConstant('{app}\steamapps\common\Counter-Strike Global Offensive\EmptySteamDepot'), True, true, true); DelTree(ExpandConstant('{app}\steamapps\common\Counter-Strike Global Offensive\thirdpartylegalnotices.doc'), false, true, true); DelTree(ExpandConstant('{app}\steamapps\common\Counter-Strike Global Offensive\installscript.vdf'), false, true, true); DelTree(ExpandConstant('{app}\steamapps\common\Counter-Strike Global Offensive\images'), True, true, true); DelTree(ExpandConstant('{app}\steamapps\common\Counter-Strike Global Offensive\maps'), True, true, true); DelTree(ExpandConstant('{app}\steamapps\common\Counter-Strike Global Offensive\scripts'), True, true, true); DelTree(ExpandConstant('{userdocs}\images'), True, true, true); DelTree(ExpandConstant('{userdocs}\maps'), True, true, true); DelTree(ExpandConstant('{userdocs}\scripts'), True, true, true); end; end; end; end; var ImagePanel: TPanel; ComponentsInfoImage: TBitmapImage; procedure ComponentsListClickCheck(Sender: TObject); begin If IsComponentSelected('LEON\DE_DUST2') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_dust2.bmp')) else If IsComponentSelected('LEON\DE_INFERNO') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_inferno.bmp')) else If IsComponentSelected('LEON\DE_MIRAGE') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_mirage.bmp')) else If IsComponentSelected('LEON\DE_CACHE') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_cache.bmp')) else If IsComponentSelected('LEON\DE_CBBLE') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_cbble.bmp')) else If IsComponentSelected('LEON\DE_OVERPASS') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_overpass.bmp')) else If IsComponentSelected('LEON\CS_ITALY') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_italy.bmp')) else If IsComponentSelected('LEON\DE_TRAIN') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_train.bmp')) else If IsComponentSelected('LEON\DE_NUKE') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_nuke.bmp')) else If IsComponentSelected('FROOSH\DE_DUST2') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\froosh_dust2.bmp')) else If IsComponentSelected('FROOSH\DE_INFERNO') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\froosh_inferno.bmp')) else If IsComponentSelected('FROOSH\DE_MIRAGE') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\froosh_mirage.bmp')) else If IsComponentSelected('FROOSH\DE_CACHE') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\froosh_cache.bmp')) else If IsComponentSelected('FROOSH\DE_CBBLE') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\froosh_cbble.bmp')) else If IsComponentSelected('FROOSH\DE_OVERPASS') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\froosh_overpass.bmp')) else If IsComponentSelected('FROOSH\DE_SEASON') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\froosh_season.bmp')); end; procedure InitializeWizard(); begin WizardForm.TYPESCOMBO.Visible:= false; WizardForm.ComponentsList.Visible := True; WizardForm.ComponentsList.Height := ScaleX(100); WizardForm.ComponentsList.Top := ScaleX(47); WizardForm.ComponentsList.Width := ScaleX(232); WizardForm.ComponentsDiskSpaceLabel.Visible := False; ImagePanel := TPanel.Create(WizardForm); ImagePanel.Parent := WizardForm.SelectComponentsPage; ImagePanel.Caption := ''; ImagePanel.Top := ScaleX(47); ImagePanel.Left := ScaleX(240); ImagePanel.Width := ScaleX(177); ImagePanel.Height := ScaleX(101); ImagePanel.BevelInner := bvRaised; ImagePanel.BevelOuter := bvLowered; ExtractTemporaryFile('leon_dust2.bmp'); ExtractTemporaryFile('leon_inferno.bmp'); ExtractTemporaryFile('leon_mirage.bmp'); ExtractTemporaryFile('leon_cache.bmp'); ExtractTemporaryFile('leon_cbble.bmp'); ExtractTemporaryFile('leon_overpass.bmp'); ExtractTemporaryFile('leon_italy.bmp'); ExtractTemporaryFile('leon_train.bmp'); ExtractTemporaryFile('leon_nuke.bmp'); ExtractTemporaryFile('froosh_dust2.bmp'); ExtractTemporaryFile('froosh_inferno.bmp'); ExtractTemporaryFile('froosh_mirage.bmp'); ExtractTemporaryFile('froosh_cache.bmp'); ExtractTemporaryFile('froosh_cbble.bmp'); ExtractTemporaryFile('froosh_overpass.bmp'); ExtractTemporaryFile('froosh_season.bmp'); WizardForm.ComponentsList.OnClickCheck:= @ComponentsListClickCheck; ComponentsInfoImage:= TBitmapImage.Create(WizardForm); ComponentsInfoImage.Parent:= ImagePanel; ComponentsInfoImage.Top:= ScaleY(4); ComponentsInfoImage.Left:= ScaleX(4); ComponentsInfoImage.Width:= ScaleX(168); ComponentsInfoImage.Height:= ScaleY(92); ComponentsInfoImage.Stretch:= True; ComponentsInfoImage.BringToFront; end; procedure CurPageChanged(CurPageID: Integer); begin case CurPageID of wpSelectComponents: ComponentsListClickCheck(nil); end; end; |
Последний раз редактировалось TheLeon, 03-09-2017 в 14:47. Отправлено: 13:49, 03-09-2017 | #2061 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата TheLeon:
|
|
Отправлено: 14:13, 03-09-2017 | #2062 |
SHVtYW4= Сообщения: 3451
|
Профиль | Отправить PM | Цитировать TheLeon, Исправил:
[Code] function NextButtonClick(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: if not FileExists(ExpandConstant('{app}\steam.exe')) then begin MsgBox('Ошибка! Вы должны указать путь к папке Steam.', mbError, MB_OK); Result := False; end; end; end; procedure SomeProc; begin end; var DelTmp: TNewCheckBox; function DelTmpCheck(): boolean; begin result := DelTmp.Checked; end; procedure CurStepChanged(CurStep: TSetupStep); begin case CurStep of ssDone: begin if DelTmpCheck then begin DelTree(ExpandConstant('{app}\steamapps\common\Counter-Strike Global Offensive\directx_installer\*'), false, true, true); DelTree(ExpandConstant('{app}\steamapps\common\Counter-Strike Global Offensive\csgo_lv\streams\*'), false, true, true); DelTree(ExpandConstant('{app}\steamapps\common\Counter-Strike Global Offensive\EmptySteamDepot'), True, true, true); DelTree(ExpandConstant('{app}\steamapps\common\Counter-Strike Global Offensive\thirdpartylegalnotices.doc'), false, true, true); DelTree(ExpandConstant('{app}\steamapps\common\Counter-Strike Global Offensive\installscript.vdf'), false, true, true); DelTree(ExpandConstant('{app}\steamapps\common\Counter-Strike Global Offensive\images'), True, true, true); DelTree(ExpandConstant('{app}\steamapps\common\Counter-Strike Global Offensive\maps'), True, true, true); DelTree(ExpandConstant('{app}\steamapps\common\Counter-Strike Global Offensive\scripts'), True, true, true); DelTree(ExpandConstant('{userdocs}\images'), True, true, true); DelTree(ExpandConstant('{userdocs}\maps'), True, true, true); DelTree(ExpandConstant('{userdocs}\scripts'), True, true, true); end; end; end; end; //////////////////////////////////////////////////////////////////////////////////////////////// var ImagePanel: TPanel; ComponentsInfoImage: TBitmapImage; procedure ComponentsListClickCheck(Sender: TObject); begin If IsComponentSelected('LEON\DE_DUST2') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_dust2.bmp')) else If IsComponentSelected('LEON\DE_INFERNO') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_inferno.bmp')) else If IsComponentSelected('LEON\DE_MIRAGE') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_mirage.bmp')) else If IsComponentSelected('LEON\DE_CACHE') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_cache.bmp')) else If IsComponentSelected('LEON\DE_CBBLE') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_cbble.bmp')) else If IsComponentSelected('LEON\DE_OVERPASS') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_overpass.bmp')) else If IsComponentSelected('LEON\CS_ITALY') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_italy.bmp')) else If IsComponentSelected('LEON\DE_TRAIN') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_train.bmp')) else If IsComponentSelected('LEON\DE_NUKE') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\leon_nuke.bmp')) else If IsComponentSelected('FROOSH\DE_DUST2') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\froosh_dust2.bmp')) else If IsComponentSelected('FROOSH\DE_INFERNO') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\froosh_inferno.bmp')) else If IsComponentSelected('FROOSH\DE_MIRAGE') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\froosh_mirage.bmp')) else If IsComponentSelected('FROOSH\DE_CACHE') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\froosh_cache.bmp')) else If IsComponentSelected('FROOSH\DE_CBBLE') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\froosh_cbble.bmp')) else If IsComponentSelected('FROOSH\DE_OVERPASS') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\froosh_overpass.bmp')) else If IsComponentSelected('FROOSH\DE_SEASON') then ComponentsInfoImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\froosh_season.bmp')); end; procedure InitializeWizard(); begin WizardForm.TYPESCOMBO.Visible:= false; WizardForm.ComponentsList.Visible := True; WizardForm.ComponentsList.Height := ScaleX(100); WizardForm.ComponentsList.Top := ScaleX(47); WizardForm.ComponentsList.Width := ScaleX(232); WizardForm.ComponentsDiskSpaceLabel.Visible := False; ImagePanel := TPanel.Create(WizardForm); ImagePanel.Parent := WizardForm.SelectComponentsPage; ImagePanel.Caption := ''; ImagePanel.Top := ScaleX(47); ImagePanel.Left := ScaleX(240); ImagePanel.Width := ScaleX(177); ImagePanel.Height := ScaleX(101); ImagePanel.BevelInner := bvRaised; ImagePanel.BevelOuter := bvLowered; ExtractTemporaryFile('leon_dust2.bmp'); ExtractTemporaryFile('leon_inferno.bmp'); ExtractTemporaryFile('leon_mirage.bmp'); ExtractTemporaryFile('leon_cache.bmp'); ExtractTemporaryFile('leon_cbble.bmp'); ExtractTemporaryFile('leon_overpass.bmp'); ExtractTemporaryFile('leon_italy.bmp'); ExtractTemporaryFile('leon_train.bmp'); ExtractTemporaryFile('leon_nuke.bmp'); ExtractTemporaryFile('froosh_dust2.bmp'); ExtractTemporaryFile('froosh_inferno.bmp'); ExtractTemporaryFile('froosh_mirage.bmp'); ExtractTemporaryFile('froosh_cache.bmp'); ExtractTemporaryFile('froosh_cbble.bmp'); ExtractTemporaryFile('froosh_overpass.bmp'); ExtractTemporaryFile('froosh_season.bmp'); WizardForm.ComponentsList.OnClickCheck:= @ComponentsListClickCheck; ComponentsInfoImage:= TBitmapImage.Create(WizardForm); ComponentsInfoImage.Parent:= ImagePanel; ComponentsInfoImage.Top:= ScaleY(4); ComponentsInfoImage.Left:= ScaleX(4); ComponentsInfoImage.Width:= ScaleX(168); ComponentsInfoImage.Height:= ScaleY(92); ComponentsInfoImage.Stretch:= True; ComponentsInfoImage.BringToFront; WizardForm.RunList.Height := ScaleY(WizardForm.RunList.Height-100); DelTmp := TNewCheckBox.Create(WizardForm); DelTmp.Parent := WizardForm.FinishedPage; DelTmp.Caption := ' Очистить временные файлы игры (рекомендуется)'; DelTmp.Left := ScaleX(180); DelTmp.Top := ScaleY(170); DelTmp.Width := ScaleX(300); DelTmp.Height := ScaleY(15); DelTmp.Checked := true; end; procedure CurPageChanged(CurPageID: Integer); begin case CurPageID of wpSelectComponents: ComponentsListClickCheck(nil); end; end; |
Отправлено: 14:42, 03-09-2017 | #2063 |
Пользователь Сообщения: 50
|
Профиль | Отправить PM | Цитировать Nordek, спасибо.
|
Отправлено: 14:45, 03-09-2017 | #2064 |
SHVtYW4= Сообщения: 3451
|
Профиль | Отправить PM | Цитировать Не понятно что за "Файл 147853"
Цитата:
Если не хватает места для прикрепления например картинок - используйте хостинг картинок. |
|
------- Отправлено: 14:46, 03-09-2017 | #2065 |
Пользователь Сообщения: 50
|
Профиль | Отправить PM | Цитировать Nordek, "Файл 147853" - это был весь проект(на всякий если кому-нибудь понадобится для проверки), но решил удалить.
|
Отправлено: 14:54, 03-09-2017 | #2066 |
Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать Помогите пожалуйста, знаю наверняка 100500 раз это спрашивали, но никак не могу найти подходящую формулу.
Нужно, перед установкой программы, проверить, установлена ли до этого данная программа и, если установлена, то запустить её стандартную деинсталляцию. После удаления продолжить инсталляцию. Я нарыл такой код, но он у меня никак не проявляет себя: |
Отправлено: 01:27, 10-09-2017 | #2067 |
Ветеран Сообщения: 862
|
Профиль | Отправить PM | Цитировать Доброе время суток. Помогите решить проблему. Указал минимальную версию 0,6.4 (Win 10) в Setup'е, но при запуске выдает ошибку о том, что программа не может быть установлена
|
------- Отправлено: 02:25, 10-09-2017 | #2068 |
Ветеран Сообщения: 862
|
Профиль | Отправить PM | Цитировать ErikPshat,
[Setup] AppName=My Application AppVersion=1.5 DefaultDirName={pf}\My Application AppId=wwwwwwwwwwwwww [code] function UninstallMyApp(): Boolean; var Buff: String; i: Integer; begin Result := not RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1', 'UninstallString', Buff ); if not Result then Result := not FileExists(RemoveQuotes(Buff)); if not Result then if MsgBox('Перед установкой необходимо удалить предыдущую версию приложения. Продолжить?', mbError, MB_YESNO) = IDYES then try Exec(RemoveQuotes(Buff), '', ExtractFilePath(RemoveQuotes(Buff)), SW_SHOW, ewWaitUntilTerminated, i); finally Result := not RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1', 'UninstallString', Buff ); if not Result then MsgBox('Удаление завершилось неудачей, бывай!', mbError, MB_OK); end; end; function InitializeSetup(): Boolean; begin Result := UninstallMyApp(); end; |
------- Отправлено: 02:45, 10-09-2017 | #2069 |
SHVtYW4= Сообщения: 3451
|
Профиль | Отправить PM | Цитировать Цитата habib2302:
Скрытый текст
What browser am I using? Is my browser up to date?
What browser am I using? Mr. Whoer Windows NT Mozilla/5.0 (Windows NT 6.4; Win64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36 Цитата habib2302:
Указав MinVersion 6.3 - уже будет блокировать Windows 10. Укажите: |
||
Последний раз редактировалось Nordek, 10-09-2017 в 14:03. Отправлено: 05:06, 10-09-2017 | #2070 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты 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 |
|