Установщик приложений: ядро базы данных Microsoft 2010 недоступно по предварительным требованиям
У меня есть приложение Windows Form C-Sharp, разработанное для Windows 10. Когда я пытаюсь сделать установщик, я не могу найти "ядро базы данных Microsoft 2010" (важно для моего приложения) под "предварительным условием", как показано ниже:
Я не хочу, чтобы мой клиент отдельно загружал и устанавливал его. Так есть ли способ, которым я могу создать установщик, который установит полное программное обеспечение вместе с ядром базы данных Microsoft 2010 (если оно еще не установлено в системе)?
1 ответ
Я никогда не использовал эту среду выполнения, но вы делали поиск в Google? Похоже, что время выполнения доступно: https://www.microsoft.com/en-us/download/details.aspx?id=13255. Я уверен, что вы сделали. Возможно, это не тот? Или формат, который вы не можете использовать, я думаю.
Загрузки - x86 и 64-битные версии в формате EXE. EXE-файлы имеют встроенные MSI-файлы (установщик Windows), которые вы можете извлечь, или вы можете просто запустить EXE в режиме без вывода сообщений (возможно, самый безопасный). Сделать AccessDatabaseEngine_X64.exe /?
получить список параметров.
Объединить модули
Обычно вы можете использовать модуль слияния для добавления компонента времени выполнения к вашему собственному MSI во время компиляции, но эта среда выполнения может быть недоступна в этом формате. Вместо этого вы можете использовать какой-либо загрузчик для запуска собственного установщика MSI и этого необходимого компонента базы данных MSI / EXE во время выполнения по порядку (или даже просто пакетного файла - см. Внизу).
Bootstrappers
Инструментарий WiX (который является лучшим способом создания файлов MSI, чем проекты установщика Visual Studio - см. Ссылку), содержит загрузчик, который называется Burn - он может устанавливать как файлы EXE, так и файлы MSI последовательно. Есть и другие бутстраперы, но я их не пробовал. Вот описание некоторых загрузчиков из более ранних: Wix - Как запустить / установить приложение без пользовательского интерфейса.
Как вы увидите в приведенной выше ссылке, здесь приведен пример используемого загрузчика WiX для загрузки: https://github.com/frederiksen/Classic-WiX-Burn-Theme (он также показывает пакет MSI для WiX).). WiX и Burn имеют кривую обучения.
Там могут быть более простые варианты, доступные с помощью Visual Studio Installer Projects
о котором я не знаю, но я думаю, что вам нужен загрузчик для последовательной установки нескольких файлов MSI. Насколько я вижу, эти установочные проекты поддерживают только перечисленные предварительные условия, которые вы показываете на своем скриншоте для загрузки и установки по требованию, и они, кажется, позволяют добавлять (любой) стандартный модуль слияния. Очень странно, что вы не можете сказать, что setup.exe Project Installer запускает установку любого MSI как предварительное условие, учитывая, что вся функция предназначена для установки предварительных условий. PhilDW наверняка сможет сказать вам с уверенностью.
Коммерческие инструменты, такие как Advanced Installer или Installshield, также имеют функции, позволяющие объединять установки в различных форматах для последовательной установки. Это может быть функция в Premium или самая дорогая версия в случае Installshield. Не уверен для расширенного установщика. Богдан Митрахе сможет рассказать нам - они могут сделать это лучше. Я не хочу требовать чего-то, в чем я не уверен - такие вещи меняются по мере выпуска новых версий (очевидно, это может быть и в случае Installshield).
Пакетный файл, скрипт PowerShell
В заключение я должен добавить, что вы, очевидно, можете использовать командный файл для последовательной установки файлов (или сценарий PowerShell - хотя это будет зависеть от.NET). Например, завернутый в самораспаковывающийся архив. Вы можете быстро попробовать встроенный iexpress.exe
Самораспаковывающийся инструмент в Windows: удерживая клавишу Windows, нажмите R, введите iexpress
и нажмите Enter. Нажмите через варианты. Будьте в курсе уязвимостей безопасности, от которых страдает iexpress!
Не уверен, насколько хорошо эти оболочки очищают свои временные файлы (особенно, если во время установки возникают ошибки), что может быть уродливым и раздражающим, но это должно работать. Хотя загрузчик может сделать гораздо больше - например, предоставить реальный графический интерфейс для ваших пользователей и, среди прочего, обрабатывать ошибки.
Проблемы безопасности с решениями по развертыванию - моя любимая проблема, поэтому я хочу добавить ссылку на это: Предотвращение угона DLL с записью с чистой комнатой. Исправлена проблема с записью WiX в последней версии WiX (по состоянию на январь 2018). Как видите, очарование и простота iexpress.exe
как правило, не компенсирует его недостатки безопасности. Это определенно недостаточно хорошо для всемирного, широкого, публичного выпуска.
Если вы хотите использовать пакетный файл или PowerShell для установки, тогда в следующем ответе содержится некоторая информация об использовании командной строки msiexec.exe, а также есть ссылка на другой ответ, касающийся установки PowerShell: Как я могу использовать powershell запустить через установщик?