как включить "MSVC Runtime.exe" в мой установщик MSI Proj, и он будет запущен, если он не установлен? - PullRequest
1 голос
/ 28 июня 2011

Я хочу, чтобы «vcredist_x86.exe» был включен в мой пакет установщика.

требования: 1) встроенный в MSI-файл, а не отдельный пакет, не отдельная установка 2) запускается автоматически какчасть единого установщика 3) запускается, только если он еще не установлен 4) не оставляет лишнюю копию себя на жестком диске пользователя 5) успешно создает файл установщика из сценариев командной строки 6) установщик должен успешно выполнить

чтоя попробовал: 1) project-> properties-> config props-> build-> Prerequisites, затем проверьте «Создать программу установки для установки компонентов prereq», затем проверьте «Visual C ++ Runtime Libraries»

проблемы: нарушает все требования, кроме 6, что является спорным.

2) в installer pro, показывает «Файловая система», затем добавляет «vcredist_x86.exe» на рабочий стол пользователя или в папку приложения, затем в «Пользовательские действия », в разделе« Установить »щелкните правой кнопкой мыши -> Добавить пользовательское действие, затем выберите« vcredist_x86.exe »в месте установки.затем выберите его, затем в «Свойствах» в разделе «Аргументы» измените «/ Install» на «/ Install / qb!»(это должно привести к установке «Автоматическая установка без кнопки отмены»

проблемы : нарушает требования 3, 4 и 6. Что касается 6: при запуске установщика происходит сбой ссообщение «Существует проблема с этим пакетом установщика Windows. Программа, запущенная как часть установки, не завершилась должным образом. Обратитесь в службу поддержки или к поставщику пакета». Это был бы я, и я не знаю, что делать.

Ответы [ 2 ]

1 голос
/ 28 июня 2011

Давайте начнем с некоторых обязательных правил и рекомендаций:

  • они используют отдельные пакеты
  • , устанавливаемые только при необходимости
  • , обрабатываемые загрузчиком EXE
  • большинство из них не могут работать как часть основного процесса установки MSI

Большинство из них нарушают ваши требования.Другой подход заключается в использовании модулей слияния Visual Studio из «C: \ Program Files \ Common Files \ Moge Modules»:

http://msdn.microsoft.com/en-us/library/ms235290.aspx

http://msdn.microsoft.com/en-us/library/8x727h8b.aspx

Visual StudioПроекты установки не могут устанавливать модули слияния условно, поэтому они всегда будут установлены.Другие инструменты создания настроек позволяют вам подготовить модули слияния на основе их соответствующей функции:

  • создать поиск, который определяет, установлен ли модуль слияния, или нет
  • обусловливает функцию модуля слиянияэтот результат поиска

Третий вариант будет включать только зависимости вашего приложения: http://msdn.microsoft.com/en-us/library/ms235317(VS.90).aspx

В этом случае только ваше приложение будет иметь доступ к среде выполнения.Этот подход поддерживает условную установку:

  • создайте поиск, который определяет, установлена ​​ли среда выполнения
  • , используйте этот поиск для подготовки каждого файла зависимостей
0 голосов
/ 03 апреля 2013

Хорошо, решение состояло в том, чтобы использовать IExpress и заставить его выполнять сценарий оболочки (файл .bat).

в файле .bat, создайте папку «vcredist_x86» и переместите в нее файл «vcredist_x86.exe», а затем просто запустите setup.exe

это соответствует всем моим первоначальным требованиям.

...