wix 重启管理器成功关闭应用程序,但表示无法关闭



在我的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.

即使应用程序在系统上明显关闭。此外,在安装程序完成更新后进行重大更新时,它不会重新启动它。

其他一切似乎都很好。

值得注意的是,程序连接.exe运行一个大部分时间都隐藏的窗口。它主要用作服务的屏幕显示.exe通过Windows系统服务运行。

我怎样才能解决这个问题才能工作?我没有在连接.exe应用程序端处理某些事情吗?

连接.exe组件条目:

            <Component Id="ConnectExe" Guid="..." DiskId="1">
                <File Id="connect.exe" Name="connect.exe" Source="..dataconnect.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="..dataconnect.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?
    • PhilDW 在此处解释了实现重启管理器支持的要点。
    • 我自己解释重启管理器的尝试可以在这里找到(向下滚动到中间颜色部分(。
  • 假设您已实现重新启动管理器支持,您是否注册了经过测试的命令行以在安装完成后重新启动应用程序?

一些链接

  • MSI 安装程序未更新的正在使用的文件(Visual Studio Installer 项目(

  • Windows 安装程序 - 安装程序包时避免使用文件对话框

  • 使用 Windows 安装程序重新启动管理器行为

相关内容

  • 没有找到相关文章

最新更新