2013-07-30 3 views
0

Я пытаюсь создать проект vb.net, который будет вызывать несколько msi для установки.Установка MSI vb.net с MsiSetExternalUI

Я был в состоянии сделать это, используя

Program.StartInfo.FileName = "C:Windows\System32\msiexec.exe" 
Program.StartInfo.Arguments = "/i MsiName.msi /qb” 
Program.Start() 
Program.WaitForExit() 

Это работает, но я хотел бы иметь возможность использовать форму, чтобы отобразить индикатор, который относится к прогрессу установки, который я думаю использует MsiSetExternalUI и иметь возможность передавать коды выхода в exe.

Я не уверен, как вызвать msi таким образом. Может ли кто-нибудь помочь с кодом для вызова одного msi и передать эту информацию, чтобы я мог отображать его на форме?

Благодарим за помощь.

Update

я могу найти примеры и кодирование некоторых C++, но к сожалению, я относительно новым для сценариев, так что я не знаю, как преобразовать C++ в VB.net так что любая помощь в кодировании этот процесс был бы весьма признателен.

+0

Благодарим за отзыв, проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как назвать функцию или синтаксис для использования, у меня был взгляд и еще не удалось найти что-либо. –

ответ

0

Взгляните на библиотеку межсетевых интерфейсов MSI (WIX) для Windows Installer XML (Wix) (Microsoft.Deployment.WindowsInstaller.dll). Он содержит все части, необходимые для вызова установки и предоставления внешнего обработчика пользовательского интерфейса сообщения об обновлении ProgressBar, которые затем можно перенаправить на пользовательский интерфейс VB.Net.

Смотрите следующую тему и подтемы для получения дополнительной информации:

Monitoring an Installation Using MsiSetExternalUI

примеров в C++ с использованием функции MSI Win32 и библиотека DTF Interop инкапсулирует все это с классами. Файл справки DTF сообщает, какие классы и методы сопоставляются с функциями Win32.

+0

Спасибо за ответ, проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как назвать функцию или синтаксис для использования, у меня был взгляд и еще не удалось найти что-либо. –

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