使用App Installer从Web安装UWP应用出错,依赖包丢失。

8
我有一个UWP应用程序,并尝试通过应用安装程序从Web安装它。根据文档,我可以放置.appx/ .appxbundle/*.appinstaller文件,我有一个由VS 2017生成的appxbundle。
当我将appxbundle(以及所有生成的文件夹/文件,如Add-AppDev{ackage.resources和Dependencies)放在我的主机服务器上并尝试下载/安装它时,会调用应用程序安装程序并正确显示我的应用程序清单信息。
然而,安装在我的客户端机器上失败,并抱怨“应用程序安装程序无法安装包依赖项。请向开发人员索要Microsoft.NET.CoreRuntime.1.1软件包”。我猜测已经在我的开发机器上安装了所有SDK,因此已经成功安装了。
我尝试在我的appinstaller文件中放置依赖项信息,如下所示,但仍然不好。
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller 
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2017" 
    Version="1.0.0.0" 
    Uri="http://myhost.com/myapp.appinstaller" > 
    <MainBundle 
        Name="MyApp"
        Publisher="CN=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
        Version="0.0.1"
        Uri="http://myhost.com/myApp.appxbundle" />
<Dependencies>
    <Package Name="Microsoft.NET.CoreRuntime.1.1" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" Version="1.1.25305.1" ProcessorArchitecture="x86" Uri="http://myhost.com/Dependencies/x86/Microsoft.NET.CoreRuntime.1.1.appx" />
    <Package Name="Microsoft.NET.CoreRuntime.1.1" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" Version="1.1.25305.1" ProcessorArchitecture="x64" Uri="http://myhost.com/Dependencies/x64/Microsoft.NET.CoreRuntime.1.1.appx" />
</Dependencies>
</AppInstaller>

有人能告诉我出了什么问题吗?

谢谢!


  1. 客户端机器是否运行与开发机器相同的Windows 10更新版本?
  2. 主要捆绑包是Debug版本,而依赖项是Release版本吗?
- kennyzx
我已经将客户端机器更新到最新的Windows 10,但仍然没有改善。主要捆绑包是发布版本,因为我是通过Visual Studio Store -> 生成包选项生成的,如果我将文件发送并在客户端机器上双击appxbundle文件,则可以成功安装。 - Jesse Chang
3个回答

1
如果您在 Release 配置下构建应用程序(而不是 debug),它将从 Windows Store 下载所有依赖项,因此您无需担心这个问题。
顺便说一句,现在您可以使用“商店”->“创建包”->“启用自动更新”来自动生成带有所有依赖项的 .appinstaller 文件。 更多信息请参见:文档

enter image description here


太好了!我还没有检查最新版本的UWP和VS2017,我会确认一下是否解决了我的问题。谢谢! - Jesse Chang

0

我通过以下方式克服了同样的挑战:

  1. 右键单击应该与您的捆绑包在同一文件夹中的*.ps1文件

  2. 点击“使用PowerShell运行”

  3. PowerShell将开始安装。按照提示操作。

然后,应用程序成功安装,没有关于缺少Microsoft.NET.CoreRuntime软件包的错误。


1
我并没有看到除了高级用户之外的任何人尝试过这个,更不用说知道它了。肯定有更好的方法...不过了解这个选项还是很好的。 - kayleeFrye_onDeck

0

我找到了一个解决方法,就是先将Microsoft.NET.CoreRuntime.1.1包设置为可选下载,然后再安装我的应用程序。由于某些原因,安装程序无法自动加载依赖项。我会继续查看微软文档,看是否有更详细的关于如何设置appxinstaller文件的信息。


你能详细说明一下吗? - Shimmy Weitzhandler
我尝试了一种解决方法,即构建一个应用程序安装器,该安装器链接到 Azure Blob 存储中的依赖项,并且它确实起作用了。但是,当我的测试人员单击链接时,我无法让任何浏览器停止显示 appxinstaller 文件的 XML。https://nucleusmobilestorage.blob.core.windows.net/nucleus-mobile-public/Nucleus-Business-Manager-Alpha.appinstaller - Sean Anderson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接