windows-installer - Windows 安装程序自定义操作错误 1631

标签 windows-installer exe custom-action

我正在为产品创建 msi-installer,安装后我需要在浏览器中启动 web url。我使用 WIX 3.5 创建安装程序(但这可能并不重要)。
我在 http://www.tramontana.co.hu/wix/lesson5.php#5.2 中找到的示例不工作 - 安装程序日志说的

“操作结束 15:27:30:LaunchBrowser。返回值 1631。”。

我在互联网上看到很多关于这个问题的帖子,但没有人提供解决方案(有人发现多语言问题,有人联系微软解决)。

我只能猜测问题出在 Windows 7 的安全性中(我遇到了问题)。也许 Windows 安装程序被禁止启动 exe 文件(我用其他 exe-s 尝试了许多其他示例,但都得到了相同的结果)。

有人有通用的解决方案吗?

最佳答案

我想问题真的出在 UAC 安全上。
要授予自定义 actinon 管理权限,我们应该将其推迟,如下所示:

<CustomAction Id="LaunchBrowser" Directory="TARGETDIR" Impersonate="no" Execute="deferred" ExeCommand="[BrowserExePath] [LaunchingUrl]" Return="check"/>

我强烈推荐 this blog post关于自定义操作 - 它完全改变了我对它们的看法。

关于windows-installer - Windows 安装程序自定义操作错误 1631,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6265932/

相关文章:

visual-studio - 使用 Visual Studio 创建 MSI 并强制所有用户

c# - 如何从C#运行.exe

c# - 如何在 Windows 10 中运行 Visual Studio 创建的 C# exe 文件?

asp.net-mvc - ASP.NET MVC 将对象从自定义操作过滤器传递到操作

wix - 如何将 msiexec 属性传递给 WiX C# 自定义操作?

wix - 跳过卸载时的自定义操作 (WiX)

wix - 如何使用 WiX 将 CustomActionData 传递给 CustomAction?

WiX修补程序无法正确更新文件

java - 从 Java 应用程序执行任何 .exe 文件

c++ - 如何从延迟的 CustomAction (c++ dll) 设置 WiX 属性