在我的wix项目中,我有一个文件“ connect.exe”,该文件通常在卸载或更新过程中运行。在卸载和主要更新过程中,Wix将在关闭前提示,提示为“在继续安装之前,应关闭以下应用程序”。
此对话将成功关闭程序:
Action 17:19:59: ShutdownApplications. Shutting down applications
MSI (s) (5C:44) [17:20:02:880]: RESTART MANAGER: Successfully shut down all applications in the service's session that held files in use.
MSI (c) (A4:08) [17:20:02:880]: RESTART MANAGER: Successfully shut down all applications that held files in use.
但是随后,它会抛出一个错误,提示它无法关闭该应用程序:
MSI (s) (5C:44) [17:20:33:300]: Note: 1: 1611
MSI (s) (5C:44) [17:20:33:300]: Note: 1: 2205 2: 3: Error
MSI (s) (5C:44) [17:20:33:300]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1611
The setup was unable to automatically close all requested applications. Please ensure that the applications holding files in use are closed before continuing with the installation.
即使该应用程序显然已在系统上关闭。另外,在安装程序完成更新后进行重大更新时,它将不会重新启动它。
其他一切似乎都正常。
值得注意的是,程序connect.exe运行着一个大部分时间都隐藏的窗口。它主要用作通过Windows系统服务运行的service.exe的屏幕显示。
我该如何解决这个问题?我不是在connect.exe应用程序端处理任何事情吗?
connect.exe组件条目:
<Component Id="ConnectExe" Guid="..." DiskId="1">
<File Id="connect.exe" Name="connect.exe" Source="..\data\connect.exe" KeyPath="yes">
<Shortcut Advertise="yes" Description="Connect front end application." Directory="ApplicationProgramsFolder" Icon="connect.exe" Id="ConnectStartMenuShortcut" Name="Connect" IconIndex="0" WorkingDirectory="INSTALLDIR">
<Icon Id="connect.exe" SourceFile="..\data\connect.exe" />
</Shortcut>
<Shortcut Advertise="yes" Description="Connect front end application." Directory="StartupFolder" Icon="connect.exe" IconIndex="0" Id="ConnectStartupShortcut" Name="Connect" WorkingDirectory="INSTALLDIR"></Shortcut>
</File>
<RemoveFolder Id="ApplicationProgramsFolder" Directory="ApplicationProgramsFolder" On="uninstall" />
</Component>
改善了吗?:创建和解释MSI日志的不同方法。
日志文件:日志文件的其余部分怎么说?是否提到了其他已锁定的文件?一些日志记录和日志文件解释提示可以在此处找到。
如果您在重启管理器中发现错误,我不会感到惊讶。尽管是一个相对简单的概念,但它涉及一些严重复杂的东西。隐藏的窗口正是这种复杂性的来源。
快速问题:
您是否也关闭了所引用的服务可执行文件?也许是通过其他设置安装的?您可以将其设置为关闭并在安装时重新启动。
我假设您已经在应用程序中实现了正确的重启管理器支持?
Advanced Installer
伙计们对此有很好的技术文章:How do I add support for Windows Restart Manager to my application?
一些链接:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句