2010-02-25 4 views
2

Мое приложение требует визуального C++ redisributable пакета microsoft (vcredist_x86.exe). у меня есть пользовательские действия для запуска vcredist_x86.exewix: запуск внешнего msi перед началом установки

Я хочу, чтобы его запустить, только если он еще не установлен. Я создал поиск в реестре, чтобы проверить его.

вопрос: как я могу запустить это действие с чеком? при использовании элемента InstallExecuteSequence, как показано ниже, vcredist_x86.exe сбой, потому что вы не можете запустить MSI во время работы другого MSI

спасибо,

Узи

ответ

2

, что вам нужен загрузчик, который будет устанавливать распространяемый VC++ до запуска MSI. Я использую open source dotNetInstaller, и он работает очень хорошо.

+0

пытается избежать один .. В настоящее время я использую пользовательское действие , который запускается до запуска msi, который в порядке, единственное, что я не могу выполнить проверку, если пакет уже установлен. есть ли способ добавить условие к пользовательскому действию? – Uzi

2

Не используйте exe вообще. Чтобы распространить среду выполнения VC++ в установке на основе msi, используйте модуль слияния. Никаких пользовательских действий, никаких условий для добавления, это просто работает.

Блог Аарона Стебнера специально рассказывает об этом с WiX. http://blogs.msdn.com/astebner/archive/2007/02/13/building-an-msi-using-wix-v3-0-that-includes-the-vc-8-0-runtime-merge-modules.aspx