MSI MessageBox自定义操作
问题描述:
我想为我的安装程序创建一个自定义操作,检查Outlook是否正在运行,如果是,它会提示用户在继续之前关闭Outlook。MSI MessageBox自定义操作
一切都很好,只是当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
感谢,
凯文
答
上MSIProcessMessage示例VBScript代码能够在http://msdn.microsoft.com/en-us/library/xc8bz3y5.aspx
但是你真的不应该使用发现用于编写自定义操作的VBScript。如果您尚未阅读,请阅读Why VBScript (and JScript) Custom Actions Suck。
过去我对VBScript有过一些非常可怕的经验,在我们的测试实验室他们100%都没问题,但是客户失败将近10%。这真的不值得。