【问题标题】:I can use WiX to launch my app at the end of install, but I can't get my app to run in the foreground我可以在安装结束时使用 WiX 启动我的应用程序,但我无法让我的应用程序在前台运行
【发布时间】:2010-02-12 18:07:31
【问题描述】:

使用 WiX,我的安装将在完成时选择性地启动我已安装的程序文件之一。但是,当我的应用程序由安装程序启动时,它通常不会显示在用户桌面的前台。它隐藏在其他窗口下,因此用户无法立即清楚该程序正在运行。

我尝试让我的程序在运行时将其强制置顶,但这并没有改变它在安装程序启动时的运行方式。

【问题讨论】:

    标签: wix windows-installer


    【解决方案1】:

    为此找到了解决方案。我将 CustomAction 定义更改为使用“FileKey”而不是“BinaryKey”。我不确定,但我猜是通过 shell exec 命令启动应用程序导致我的应用程序没有显示在前台。

    <!-- old code -->
    <CustomAction Id="LaunchApp" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />
    
    <!-- new code -->
    <CustomAction Id="LaunchApp" FileKey="FooBarEXE" ExeCommand="" Return="asyncNoWait" Impersonate="yes" />
    

    【讨论】:

    • 奇怪的是,在我的情况下它没有帮助。我已经尝试了所有 exe 文件操作,甚至启动了 "[System32]cmd.exe" /c start "myapp.exe"
    • @MarcusUA 它适用于 Windows 8.1,但不适用于 WinXP
    • @CITBL 这是一个老问题,所以我记不清了,但我认为我们最终修改了应用程序以开始激活/聚焦。或者我们使用 CustomActions 创建了 dll 来启动应用程序激活。切换工作场所后,我无法再访问此代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    相关资源
    最近更新 更多