在我的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>
答案 0 :(得分:2)
日志文件 :其余的日志文件怎么说?是否提到了其他已锁定的文件? Some logging and log-file interpretation hints can be found here。
如果您在重启管理器中发现错误,我不会感到惊讶。尽管是一个相对简单的概念,但它涉及一些严重复杂的东西。 隐藏的窗口正是这种复杂性的来源。
快速问题 :
您是否也关闭了您引用的服务可执行文件?也许是通过其他设置安装的?您可以将其设置为关闭并在安装时重新启动。
我假设您已在应用程序中实现了正确的重启管理器支持?
某些链接 :