我想为我的安装程序创建一个自定义操作,检查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
谢谢,
凯文
答案 0 :(得分:1)
MSIProcessMessage上的示例VBScript代码可以在http://msdn.microsoft.com/en-us/library/xc8bz3y5.aspx
找到但是你真的不应该使用VBScript编写自定义操作。如果您还没有,请阅读Why VBScript (and JScript) Custom Actions Suck。
我过去曾经遇到过一些非常可怕的VBScript体验,在我们的测试实验室中他们100%可以接受,但是近10%的时间都没有让客户失败。这真的不值得。