问题描述
我有一个要设置为使用MSIX进行部署的业务应用程序。我有一个已经运行了几个月的测试安装程序项目,现在我正在尝试设置生产版本,但是遇到了一个问题,该问题是.appinstaller失败,但.msixbundle将安装该应用程序。
设置:
我正在部署的应用程序是WPF .Net Core 3.1应用程序。该解决方案中有2个MSIX安装程序项目,一个用于测试环境,一个用于生产(我知道这不是最好的,但这是我目前所拥有的)。我已经配置了Test Installer项目以部署应用程序的调试版本,而Production安装程序项目已配置为部署应用程序的发行版。它们具有不同的更新URL和保存更新的不同共享文件夹。除此之外,安装程序项目应该相同。
我有一对(Test&Prod)ASP .Net Core网站设置来托管应用程序更新和安装程序网站,它们被配置为静态托管更新文件夹。
我正在Win 10 2004计算机上进行测试。
问题:
问题出在生产安装程序项目上。发布后,如果单击安装程序网站上的“获取应用程序”链接,它将下载.appinstaller文件并在Windows App Installer中打开它。然后,我单击“安装”,并收到一条不太有用的错误消息,如下所示。
我检查过的内容
- 鉴于我有2个MSIX项目,一个在工作,一个不在,我检查了两者之间的差异。我唯一看到的是在部署应用程序的发布版本时失败,而在其他方面则部署了调试版本
- 我尝试直接在发布更新的共享文件夹中运行.msixbundle,并且工作正常。这使我相信该问题与.appinstaller如何链接到.msixbundle 有关
- 我通过从.appinstaller文件中复制uri并将其粘贴到网络浏览器中,检查了是否可以从网址访问更新文件。这导致.msixbundle被下载并正确安装。
- 我已阅读了故障排除文档(https://docs.microsoft.com/en-us/windows/win32/appxpkg/troubleshooting?redirectedfrom=MSDN和https://docs.microsoft.com/en-us/windows/msix/app-installer/troubleshoot-appinstaller-issues)
- 我已经检查了事件查看器。我在安装失败的同时注意到了此事件。
- 直接从共享文件夹运行.appinstaller会导致相同的错误。
- 使用网站上的软件包捆绑包链接(在其他链接下)将下载.msixbundle并正确安装。
我不确定要去哪里找什么,或者我可以做些什么来解决这个问题。
解决方法
有同样的问题。 (Winforms,Net48,wapproj,x86) 也无法解决ist。只需将软件包安装在“新机器”(vm)上即可。因此,我猜想它在该特定计算机上不是“您的代码”而是某些“不干净的安装状态”。
致以问候,雷莫
,Windows 中有一项名为 DoSvc 的服务,它是一种特殊的应用安装程序破坏服务,旨在确保应用安装永远不会顺利进行。如果您在安装无法在另一台机器上复制的 appx 包时遇到任何问题,值得重新启动此服务,因为这通常会有所帮助。
有关详细信息,请参阅 AppInstaller XML Issue(不是同一问题,而是类似问题)。