繁体   English   中英

禁止显示MSI错误代码

[英]Suppress an MSI error code

我收到error 2803: dialog view did not find a record for the dialog 这是因为我已从安装程序中明确删除了FilesInUse对话框。 这是一个对话框,当有文件锁时, msiexec有时会要求提供该对话框。 我的安装程序逻辑从未明确尝试显示此对话框。 我的安装程序具有自定义操作,可以杀死正在锁定文件的进程,因此忽略此消息然后进行安装从来没有问题(但是对于此进程终止,我需要权限,因此,必须在对话框之后运行的自定义操作要延迟要求)。 就我的所有意图和目的而言,该对话框实际上是没有用的。 如何在显示此错误代码时不显示致命错误对话框,而是如何抑制该错误代码? 有谁知道在WiX中是否有任何方法可以通过C#自定义操作等方式进行? 有什么办法可以捕获和处理错误代码?

我认为除非您准备使用自己的UI并忽略FilesInUse对话框请求,否则您不能抑制该错误。 或修改WiX代码(如果允许)。 基本上,您会收到消息并对消息做出反应(或不做出反应):

https://msdn.microsoft.com/en-us/library/aa370573(v=vs.85).aspx

您将返回忽略响应,而不是显示对话框。

您可以使用启动时启动并运行MSI的引导程序吗? 在这种情况下,整个安装将被提升,并且您的CA在InstallFinalize之前运行时将被提升,即使它们是即时的。

如果它们是您的应用程序,那么另一种解决方案是将它们与Restart Manager集成在一起,以便告知它们关闭,并具有添加的功能,它们可以保存状态并在必要时还原状态。 您不需要CA。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM