2013-09-23 2 views
0

Наряду с развертыванием нескольких файлов (которые собраны в самом кабинете .MSI) MSI необходимо создать пользовательский exe, который разработан на Visual C++. Это обычное исполняемое требование нереста достигается путем реализации пользовательского сценария в установщике MSI. Несмотря на то, что пользовательский скрипт MSI успешно генерирует пользовательский исполняемый файл, ОС не запускает этот exe из-за отсутствия необходимых системных библиотек в целевой системе. Установка VC++ Redistributable Kit - это развертывание необходимых системных библиотек в целевой системе, и поэтому этот комплект должен быть доступен как установленное приложение в целевой системе, чтобы пользовательский exe выполнялся правильно. Поскольку этот комплект VC++ Redist является предварительным условием для этого пользовательского исполняемого файла, мы думаем установить этот набор VC++ Redist Kit из самого установщика MSI до появления нерегулярного exe. Нам удалось развернуть набор VC++ Redist Kit с помощью того же настраиваемого скрипта, который использовался для нереста пользовательского исполняемого файла. После завершения выполнения MSI мы смогли увидеть этот набор VC++ Redist Kit в списке «Установка и удаление программ». Но проблема в том, что хотя этот комплект установлен, пользовательский исполняемый файл НЕ распознает существование набора, и, следовательно, пользовательский исполняемый файл все еще не работает. Не могли бы вы посоветовать нам установить приложение во время развертывания MSI и сделать установленное приложение активным немедленно (не дожидаясь завершения выполнения MSI) после его завершения, так что другие подпроцессы установщика MSI распознают существование приложения?Установка VC++ re distributable kit из MSI

+0

Рядом с невозможным диагностировать эту ошибку из вопроса. Всегда предпочитайте создавать такие программы-помощники exe с/MT, поэтому вам все равно. –

ответ

0

Для установки перераспределителей с MSI рекомендуется использовать use merge modules. Это намного более стабильно, чем обычное действие, как и вы.

Чтобы обновить приложение, узнайте, что его можно распространять, убедитесь, что вы запустили его в конце или в самом начале процесса установки с использованием отложенного пользовательского действия, чтобы библиотеки DLL, зарегистрированные модулем слияния в системе, были доступны ,

Невозможно (рекомендуется) сделать распространяемые распространяемые материалы на машине раньше, из пакета MSI. Вы можете установить их в качестве предварительных условий, прежде чем ваш основной MSI будет запущен, используя загрузчик, но это будет означать, что у вас есть EXE в качестве выходного пакета, который объединяет предварительные требования и основной пакет MSI.

+0

Я попытался запустить пользовательское действие в конце. Но все не сработало. Я использую MakeMSI для создания установщика. –

+0

Вы установили, что пользовательское действие будет отложено? http://msdn.microsoft.com/en-us/library/windows/desktop/aa368268(v=vs.85).aspx –

+0

Да, я сделал действие отложенным. –

Смежные вопросы