![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 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 |
Старожил Сообщения: 292
|
Профиль | Отправить PM | Цитировать Требуется помощь.
Скрытый текст
Source: "{app}\msimg32.dll"; DestDir: "{app}"; MinVersion: 0.0,5.0; Flags: ignoreversion sharedfile uninsnosharedfileprompt Данная DLL'ка добавлена в дистрибутив для регистрации. DLL'ка с таким-же именем есть в System32/ При удалении программы dll'ка не удаляется. Решение найдено такое. [UninstallDelete] Type: files; Name: "{app}\msimg32.dll"; Procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if (CurUninstallStep = usPostUninstall) then UnloadDLL(ExpandConstant('{app}\msimg32.dll')); DeleteFile(ExpandConstant('{app}\msimg32.dll')); // MoveDir(ExpandConstant('{app}\'),ExpandConstant('{app}')); RemoveDir(ExpandConstant('{app}')); DelTree(ExpandConstant('{app}'), True, True, True); RemoveDir(ExpandConstant('{pf}\ObviousIdea')); Решение нашёл такое. [Messages] UninstalledMost=Программа %1 была полностью удалена с вашего компьютера. Думаю что данное решение не совсем правильное. В связи с тем что в System32 есть DLL'ка с таким -же именем что и для регистрации, думаю что деинсталлятор реагирует на нее и по этому выдаёт сообщение что не все удалилось. Думаю к строке Source: нужно добавить какие то флаги, чтобы деинсталлятор не реагировал на системную DLL msimg32.dll. Помогите решить данную проблему. |
------- Отправлено: 18:59, 19-02-2016 | #1351 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата Raf-9600:
Скрытый текст
////////////////////////////////////////////////////////////// function IsHotFixIDInstalled(const HotFixID: string): Boolean; var UpdateSession, UpdateSearcher, UpdateSearchResult, UpdateCollection, UpdateItem: Variant; i, j, UpdatesCount: Integer; begin Result := False; UpdateSession := CreateOleObject('Microsoft.Update.Session'); UpdateSearcher := UpdateSession.CreateUpdateSearcher; UpdateSearcher.Online := False; UpdateSearchResult := UpdateSearcher.Search('IsInstalled = 1 and Type=''Software'''); UpdateCollection := UpdateSearchResult.Updates; UpdatesCount := StrToIntDef(UpdateCollection.Count, 0); for i := 0 to UpdatesCount - 1 do begin UpdateItem := UpdateCollection.Item[i]; for j := 0 to UpdateItem.KBArticleIDs.Count - 1 do begin Result := (CompareText(string(UpdateItem.KBArticleIDs.Item[j]), HotFixID) = 0); if Result then Exit; end; end; end; /////////////////////////// procedure InitializeWizard; begin if IsHotFixIDInstalled('2483139') then MsgBox('yes', mbInformation, MB_OK); end; Цитата ZVSRus:
|
||
Отправлено: 20:08, 19-02-2016 | #1352 |
Старожил Сообщения: 292
|
Профиль | Отправить PM | Цитировать Цитата El Sanchez:
(Поместить файл из раздачи msimg32.dll в папку с установленной программой.) |
|
------- Последний раз редактировалось ZVSRus, 22-03-2016 в 12:35. Отправлено: 20:35, 19-02-2016 | #1353 |
Забанен Сообщения: 96
|
|
Отправлено: 11:24, 21-02-2016 | #1354 |
Старожил Сообщения: 212
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 12:28, 21-02-2016 | #1355 |
Старожил Сообщения: 440
|
Профиль | Сайт | Отправить PM | Цитировать vadjliss, а лучше всё в одной процедуре объединить. Чтобы путаницы не было.
|
------- Отправлено: 20:07, 21-02-2016 | #1356 |
Ветеран Сообщения: 517
|
Профиль | Отправить PM | Цитировать Цитата vadjliss:
procedure CurPageChanged( CurPageID: Integer ); begin задача 1 задача 2 end; procedure CurPageChanged( CurPageID: Integer ); begin задача 3 задача 4 end; procedure CurPageChanged( CurPageID: Integer ); begin задача 1 задача 2 задача 3 задача 4 end; |
|
Отправлено: 20:09, 21-02-2016 | #1357 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Добрый день. Подскажите пожалуйста, какие команды нужно дописать в скрипт, чтобы в случае если в директории установки программы будет найден файл с определенным именем, он будет удален автоматически. И еще одна проблемка. Если знаете, помогите плис. Столкнулся с тем, что Win10 блокирует инсталлятор. Тут я вообще безсилен, так как никогда не работал с этой ОС.
|
Отправлено: 16:25, 24-02-2016 | #1358 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Снимок экрана (51).pngКак сделать такой компонент ?
|
Отправлено: 17:03, 24-02-2016 | #1359 |
Старожил Сообщения: 292
|
Профиль | Отправить PM | Цитировать Цитата Gamattinol:
script
[Setup] AppName=Notepad AppVersion=1.5 DefaultDirName={pf}\Notepad [Code*] var NewGroupBox: TNewGroupBox; procedure InitializeWizard(); begin NewGroupBox := TNewGroupBox.Create(WizardForm); with NewGroupBox do begin Parent := WizardForm.SelectDirPage; Left := ScaleX(0); Top := ScaleY(100); Width := ScaleX(417); Height := ScaleY(60); Caption := 'Папка установки:'; end; NewGroupBox.TabOrder := 5; with WizardForm.DirBrowseButton do begin Left := ScaleX(334); Top := ScaleY(23); Parent := NewGroupBox; end; with WizardForm.DirEdit do begin Left := ScaleX(8); Top := ScaleY(24); Width := ScaleX(320); Parent := NewGroupBox; end; end; |
|
------- Отправлено: 18:20, 24-02-2016 | #1360 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты 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 |
|