Как в Inno Setup реализовать скрипт, чтобы кроме установки основной программы устанавливалось бы дополнительное ПО с информацией по этому ПО. Перед запуском инсталлятора нужна проверка на несколько условий. 1. Проверка на ГЕО, например RU и DE. 2. Проверка реестра на определённые ключи. Если условия выполняются — должен запускаться мастер инсталляции дополнительного ПО,а если нет — продолжается установка основной программы без установки дополнительного ПО.
Отслеживать
задан 24 июн 2017 в 15:05
1 1 1 серебряный знак 2 2 бронзовых знака
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
В этом случае инсталлятор дополнительного ПО добавляется как дополнительный файл.
Например, нужно с программой поставить Microsoft .NET Framework 4.0 Client Part.
Для этого добавляешь в инсталлятор файл установки dotNetFx40_Client_setup.exe:
Source: «..LibrariesdotNetFx40_Client_setup.exe»; DestDir: «»; DestName: «dotnetfx.exe»; Flags: deleteafterinstall; Check: not IsFrameworkDetected(); AfterInstall: InstallFramework();
Source – атрибут, который содержит путь к файлу установки.
🕉 КАК ОТРАБАТЫВАЮТСЯ РОДОВЫЕ ПРОГРАММЫ? #кармарода
DestDir – атрибут, который содержит путь к директории, в которую будет скопирован файл установки.
– макрос, который подставляет путь к папке с временными файлами.
DestName – атрибут, который содержит имя файла, которое будет назначено скопированному файлу установки.
Flags . Значение deleteafterinstall в атрибуте Flags говорит о том, что файл установки .NET должен быть удалён инсталлятором Inno Setup после установки .NET.
Check . Атрибут Check содержит код, который будет вызван перед тем, как Inno Setup решит копировать файл в директорию, указанной в DestDir . Если в атрибут Check передаётся значение True, то файл копируется, в противном случае операции с файлом пропускаются.
Пример функции IsFrameworkDetected :
function IsFrameworkDetected(): Boolean; begin Result := IsDotNetDetected(‘v4Client’, 0); end;
Реализацию функции IsDotNetDetected можно посмотреть здесь.
AfterInstall . В атрибуте AfterInstall нужно указать код, который будет вызван сразу после копирования файла. В нашем случае это код, который запустит установку dotnetfx.exe.
Пример процедуры InstallFramework :
procedure InstallFramework(); var statusText: String; CurrentRebootRequired: boolean; begin Log(‘InstallFramework’); statusText := WizardForm.StatusLabel.Caption; WizardForm.StatusLabel.Caption := ’Установка клиентского профиля Microsoft .NET Framework 4.’; WizardForm.ProgressGauge.Style := npbstMarquee; try InstallFrameworkExe(ExpandConstant(‘dotnetfx.exe’), CurrentRebootRequired) if CurrentRebootRequired then RebootRequired := true; except ShowExceptionMessage(); ExitCode := 1; finally WizardForm.StatusLabel.Caption := statusText; WizardForm.ProgressGauge.Style := npbstNormal; end; end;
Использование WizardForm.StatusLabel.Caption позволяет дополнительно информировать о том, что сейчас происходит.
Установил Windows 11 на старый компьютер 1990 года
Пример процедуры InstallFrameworkExe , которая запускает файл установки dotnetfx.exe:
const // Full list: https://msdn.microsoft.com/en-us/library/windows/desktop/aa376931(v=vs.85).aspx ERROR_SUCCESS = 0; ERROR_SUCCESS_REBOOT_INITIATED = 1641; ERROR_SUCCESS_REBOOT_REQUIRED = 3010; procedure InstallFrameworkExe(FilePath: string; var RebootRequired: boolean); var ResultCode: integer; begin Exec(FilePath, ‘/norestart’, », SW_SHOW, ewWaitUntilTerminated, resultCode) Log(‘Framework is installed with code: ‘ + IntToStr(resultCode) + ‘.’); if resultCode = ERROR_SUCCESS_REBOOT_REQUIRED then RebootRequired := true else if ResultCode <> ERROR_SUCCESS then RaiseException(CustomMessage(‘FrameworkInstallationError’)); end;
Источник: ru.stackoverflow.com
Создание пользовательского установщика приложений
Эта функция установщика приложений была временно откатена и не будет работать прямо сейчас. Пожалуйста, проверьте позже, чтобы получить дополнительные обновления, так как мы планируем вернуть эту функцию.
Приложение установщика приложений используется для всех установок MSIX, обеспечивая согласованный интерфейс для всех пользователей, устанавливающего приложение MSIX. Хотя такая согласованность хороша, мы также хотим предоставить разработчикам возможность настраивать процесс установки, предоставляемый пользователям. Эта функция доступна в Windows 10 1709 и более поздних версиях.
Создание пользовательского файла MSIXAppInstallerData.xml
Первое, что вам потребуется для настройки установщика приложений, — это XML-файл настройки. Вы можете настроить несколько функций пользовательского интерфейса установщика приложений, чтобы сделать свой собственный уникальный интерфейс установщика. Не забудьте сохранить имя файла как MSIXAppInstallerData.xml
Ниже приведен список параметров, доступных для настройки:
UX::AccentColor | Шестнадцатеричный код для изменения цвета элементов установщика приложений |
UX::FontFamily | Семейство шрифтов |
UX::AllowUserInteraction | Логическое. Если значение равно true, пользователь может увидеть флажок «Запустить при готовности» (установлен по умолчанию) и может отменить установку. |
UX::BackgroundColor | Шестнадцатеричный код для изменения цвета фона установщика приложений |
UX::AppNameInTitle | Логическое. Если значение равно true, имя приложения появится в заголовке окна установщика. |
HyperLinkFontSize | Размер шрифта гиперсвязи. |
Icon::HorizontalAlignment | Выравнивание значка в окне. Слева, по центру, справа |
Icon::Logo | Ссылка на расположение значка |
Icon::TopMarging | Поле от верхней части значка до верхней части окна приложения. |
Button::HorizontalAlignment | Выравнивание кнопки в окне. Слева, по центру, справа |
Button::Text | Дополнительный текст для добавления в кнопку «Установить» |
Button::IsSecondaryButtonAccent | Логическое. |
LaunchWhenReady::HorizontalAlignment | Выравнивание флажка «Запустить при готовности». По центру, слева. |
AppInformation::Mode | Тип отображения дополнительных сведений. Обычный, всплывающий элемент |
Гиперссылки::TopMargin | Задает поле между гиперссылкой и кнопками. |
Гиперссылка::Текст | Текст для отображения в виде гиперссылки |
Гиперссылка::Url | Ссылка |
Гиперссылка:: HorizontalAlignment | Выравнивание гиперссылки в окне. Слева, по центру, справа |
Пример xml:
Сохраните файл как «MsixAppInstallerData.xml»
Добавление XML-файла в приложение MSIX
Использование средства упаковки MSIX — редактор пакетов
- Откройте приложение MSIX с помощью редактора пакетов в средстве упаковки MSIX
- Перейдите к файлам пакета и добавьте в корневой каталог пакета новую папку с именем Msix.AppInstaller.Data.
- Добавьте файл MSIXAppInstallerData.xml в только что созданную папку.
- Сохраните пакет MSIX — обязательно увеличьте версию и подпишите пакет.
Устранение неполадок
- Файл должен иметь имя MSIXAppInstallerData.xml
- Файл должен находиться в папке с именем MSIXAppInstallerData.
- Папка должна находиться под корнем пакета файлов пакета.
- Проверьте версию ОС и версию установщика приложений
- Дважды проверьте допустимость XML-файла.
Отправьте отзыв, если у вас возникли другие проблемы, или обратитесь к команде MSIX в нашем техническом сообществе.
Источник: learn.microsoft.com
Инсталляторы для модов и аддонов
- Ответить в тему
- Создать новую тему
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.
Недавно просматривали 0 пользователей
Ни один зарегистрированный пользователь не просматривает эту страницу.
Учимся моддингу
- Уроки по модострою
- Все о скриптах
- Работа с файлами ТЧ
- Редактирование движка X-Ray
- Язык программирования Lua
- SDK (ТЧ)
- SDK (ЗП)
- Вопросы маппинга
- GUI и графика
- Моделирование
- Напарники для модостроительства
- . и многое другое
Играем в моды на ТЧ
- Народная Солянка 2016
- Диетическая Солянка 2016
- OGSR Mod
- DSH
- ОП-2.1
- Новый Арсенал 6: Революция
- Судьба Зоны
- Lost Alpha
- NLC 7
- В аду. ПСЫ
- Последний Сталкер
- . и другие моды
Играем в моды на ЧН и ЗП
- [ЧН] OGSM CS 1.8 CE Fixes
- [ЧН] HARDWARMOD 3.2
- [ЗП] The Long Road
- [ЧН] New vision of War
- [ЧН] Old Good Stalker Mod — Clear Sky
- [ЗП] Unofficial Patch
- [ЗП] Смерти вопреки
- [ЗП] Контракт на хорошую жизнь
- [ЗП] Shoker Weapon Mod 2.1
- [ЗП] Hardcore pack for SGM 2.2
- [ЗП] Контракт Синдиката
- [ЗП] Клондайк 2.0
- . и другие моды
Полезное и разное
- Ищу файлы/моды/аддоны
- Оружие для ТЧ
- Модели НПС для ТЧ
- Модели персонажей для ЧН
- Модели сталкеров для ЗП
- Модели оружия для ЗП
- Инструментарий для мододелов
- X-Ray Extensions
- Справочник вылетов
- Prosectors Project (разработка)
- Игра Left To Die
- . и другие игры
Вливаемся в сообщество
- AMK-Team.ru (Сайт)
- Все форумы
- Администрация
- Кураторы тем
- Вопросы по форуму
- Обсуждаем хард и софт
- Болтаем у костра
- Дискутируем в клубах
- Следим за стримами
- Читаем книги
- Слушаем музыку
- Смотрим кино
AMK-Team.ru
Источник: www.amk-team.ru