如何通过 appxbundle 无错误地侧载 UWP 应用程序

How to Sideload UWP app via appxbundle without error

我可以通过 运行 使用应用程序包创建生成的 PowerShell 脚本在我的辅助计算机上成功地旁加载应用程序。

但是,如果我尝试双击 .appx(或 .appxbundle)文件的更友好的方法,并在该对话框中按 "Install",我会收到以下错误:

...installation failed

Ask the developer for a new app package. This package may conflict with a package already installed, or it depends on things that are not installed here (package dependencies) or is made for a different architecture (0x80073CF3).

但这里有一个转折点:如果我首先通过 PowerShell 脚本安装应用程序,则后续的应用程序包更新 do 会在双击路径时成功安装。因此换句话说,第一次侧载安装需要 PowerShell,后续更新可以通过友好的 GUI 双击方法完成。

我的最终目标是让我的用户能够在一台新机器上安装我的应用程序,而无需使用 PowerShell。所以我需要这个 GUI sideloading 安装才能工作。

(注:我用的是VS 2017 15.3.4,我的开发机和目标机都是运行 windows build 15063,创建空白UWP也遇到这个问题应用程序,针对 Creators Update 15063,并且没有添加其他包或引用)

更新

我的 UWP 项目设置为使用官方的、受信任的代码签名证书(不是测试证书)。

更新 2 看起来这个问题已通过 Fall Creator's Update 得到解决。使用 FCU 更新我的开发机器和目标机器后,安装对话框现在在进度条中指示一个额外的步骤:大约 19% 它显示 "installing additional frameworks..."。之后,它继续 "installing app package" 并在不久之后成功。

顺便说一句,即使使用空白应用程序(VS -> 创建新的 UWP 应用程序 -> 使用我信任的证书签名 -> 创建应用程序包 -> 尝试侧载)

您的应用程序包需要使用客户端计算机信任的证书进行签名才能运行。这是确保可信部署的重要部分。否则客户端无法确定应用程序包的来源,为恶意软件、广告软件或勒索软件打开大门。

它与 powershell 脚本一起工作的原因是因为该脚本安装了 Visual Studio 签署您的包的测试证书。因此,所有后续通过双击进行的安装也都有效。

这里是来自MSDN的相关文档:

https://docs.microsoft.com/en-us/windows/uwp/packaging/packaging-uwp-apps

https://docs.microsoft.com/en-us/windows-hardware/drivers/install/installing-test-certificates

看起来这个问题已经通过 Fall Creator's Update 解决了。使用 FCU 更新我的开发机器和目标机器后,安装对话框现在在进度条中指示一个额外的步骤:大约 19% 它显示 "installing additional frameworks..."。之后它继续 "installing app package" 并在不久之后成功。