安装并加载新版本后,安装程序不会退出
Installer does not exit once new version is installed and loaded
我的 C# 应用程序有一个 Visual Studio 安装程序项目。它已设置为卸载我的应用程序的任何以前版本,安装新版本,然后 运行 安装应用程序后。它按预期工作,直到它位于最后的 'Please Wait' 阶段:
至此,我的应用程序的新版本已经安装完毕,并且 运行 非常高兴,但是上面的屏幕截图就在那里(完全响应)并且只会移动到 "Installation Complete" window 一旦我手动关闭了新安装的应用程序版本。
我的安装程序项目配置有问题吗?我不希望人们必须关闭应用程序才能完成安装过程,然后才不得不再次手动 运行 该应用程序!这就是为什么我将安装程序设置为在安装后自动 运行 新版本!
这似乎是使用 Visual Studio 安装程序项目时的常见问题。以下问题确定了一个类似的问题:
Visual Studio Installer > How To Launch App at End of Installer
下面的问题显示了一个解决方案,但对它的可取性存在分歧:
Run exe after msi installation?
我推荐的解决方案是,如果可能的话,尝试使用 WiX (http://wixtoolset.org/) 来编写您的 Windows 安装程序。与 Visual Studio Installer 项目相比,学习曲线可能稍微陡峭一些,但是一旦您适应了它,您就会发现您接触到了 Windows Installer 的更多功能具有 Wix 工具集提供的一系列附加功能。 WiX 的文档提供了一个示例,说明如何实现您正在尝试做的事情:
我没有看到明确提及的主要问题是安装结束时程序的 运行 是同步的,因此安装程序会等待它完成。如果您不想将项目更改为 WiX,至少有两种解决方案:
与其 运行 直接将程序作为自定义操作,不如创建另一个小的自定义操作,异步触发您的 exe 并退出。
Visual Studio 设置不允许您像其他工具那样设置异步设置,但您可以通过打开 MSI 文件(使用 Orca)并转到 CustomAction table。很可能您的自定义操作的类型为 3090。如果您将其更改为 3282(添加 192),自定义操作将是异步的并且安装将完成。
我的 C# 应用程序有一个 Visual Studio 安装程序项目。它已设置为卸载我的应用程序的任何以前版本,安装新版本,然后 运行 安装应用程序后。它按预期工作,直到它位于最后的 'Please Wait' 阶段:
至此,我的应用程序的新版本已经安装完毕,并且 运行 非常高兴,但是上面的屏幕截图就在那里(完全响应)并且只会移动到 "Installation Complete" window 一旦我手动关闭了新安装的应用程序版本。
我的安装程序项目配置有问题吗?我不希望人们必须关闭应用程序才能完成安装过程,然后才不得不再次手动 运行 该应用程序!这就是为什么我将安装程序设置为在安装后自动 运行 新版本!
这似乎是使用 Visual Studio 安装程序项目时的常见问题。以下问题确定了一个类似的问题:
Visual Studio Installer > How To Launch App at End of Installer
下面的问题显示了一个解决方案,但对它的可取性存在分歧:
Run exe after msi installation?
我推荐的解决方案是,如果可能的话,尝试使用 WiX (http://wixtoolset.org/) 来编写您的 Windows 安装程序。与 Visual Studio Installer 项目相比,学习曲线可能稍微陡峭一些,但是一旦您适应了它,您就会发现您接触到了 Windows Installer 的更多功能具有 Wix 工具集提供的一系列附加功能。 WiX 的文档提供了一个示例,说明如何实现您正在尝试做的事情:
我没有看到明确提及的主要问题是安装结束时程序的 运行 是同步的,因此安装程序会等待它完成。如果您不想将项目更改为 WiX,至少有两种解决方案:
与其 运行 直接将程序作为自定义操作,不如创建另一个小的自定义操作,异步触发您的 exe 并退出。
Visual Studio 设置不允许您像其他工具那样设置异步设置,但您可以通过打开 MSI 文件(使用 Orca)并转到 CustomAction table。很可能您的自定义操作的类型为 3090。如果您将其更改为 3282(添加 192),自定义操作将是异步的并且安装将完成。