Настраиваемое действие MSI MessageBox - PullRequest
3 голосов
/ 02 марта 2010

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

Все отлично работает, за исключением того, что когда появляется MessageBox, сообщающий пользователю, что он должен закрыть Outlook, он появляется за окном текущей установки MSI. Я хотел бы, чтобы это появилось впереди, но я не могу понять, как это сделать.

Я провел некоторое исследование, и функция MSIProcessMessage выглядит так, как будто она будет работать, но это функция API, и я не могу понять, как вызвать ее из моего кода.

Вот мой фрагмент кода:

        Dim bCont As Boolean = True

        While bCont
            If Process.GetProcessesByName("OUTLOOK").Length > 0 Then
                    MsgBox("Please close Microsoft Outlook before you install the MissingLink Project Management add-in.", MsgBoxStyle.Information, "MissingLink Project Center")
            Else
                bCont = False
            End If
        End While

Спасибо

Kevin

1 Ответ

1 голос
/ 02 марта 2010

Пример кода VBScript в MSIProcessMessage можно найти по адресу http://msdn.microsoft.com/en-us/library/xc8bz3y5.aspx

Однако вам действительно не следует использовать VBScript для написания пользовательских действий. Если вы этого еще не сделали, прочитайте Почему настраиваемые действия VBScript (и JScript) Suck .

В прошлом у меня был довольно ужасный опыт работы с VBScript, когда в нашей тестовой лаборатории они были на 100% хороши, но почти 10% времени терпели неудачу для клиентов. Это действительно просто не стоит того.

...