windows-installer - MSI MessageBox自定义操作

标签 windows-installer action

我想为我的安装程序创建一个自定义操作,以检查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

谢谢,

凯文

最佳答案

MSIProcessMessage上的示例VBScript代码可在http://msdn.microsoft.com/en-us/library/xc8bz3y5.aspx中找到

但是,您实际上不应该使用VBScript编写自定义操作。如果还没有,请阅读Why VBScript (and JScript) Custom Actions Suck

过去,我曾经在VBScript上经历过一些非常糟糕的经历,以至于在我们的测试实验室中,他们的表现是100%可以,但对客户来说却有10%的时间失败了。这真的不值得。

关于windows-installer - MSI MessageBox自定义操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2359727/

相关文章:

c# - 将外部 DLL 添加到 WIX 项目

windows-installer - 将 MSIUSEREALADMINDETECTION 添加到 MSI 的脚本

c# - 如何强制 throw 成为语句而不是表达式(在 lambda 表达式中)?

android - AppCompat 库的缺点

php - 为什么 htmlspecialchars 在表单发布的 'PHP_SELF' 上工作,而不在 'REQUEST_URI' 上工作?

PHP $_POST 函数无法识别 HTML 表单输入值

.net - 如何在 .NET 自定义操作中使用企业库日志记录

visual-studio - MSI 阻止注册表项修复

visual-studio-2010 - Visual Studio 安装项目 - 强制安装 .DLL?

java - 从普通 HTML 表单调用 Struts2 命名空间