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

如何通过appxbundle无误地侧向加载UWP应用程序,uwp,sideloading,Uwp,Sideloading,通过运行应用程序包创建生成的PowerShell脚本,我可以在辅助计算机上成功地侧面加载应用程序 但是,如果我尝试更友好的方法,双击.appx(或.appxbundle)文件,然后在该对话框中按“安装”,则会出现以下错误: ...installation failed Ask the developer for a new app package. This package may conflict with a package already installed, or it depends

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

但是,如果我尝试更友好的方法,双击
.appx
(或
.appxbundle
)文件,然后在该对话框中按“安装”,则会出现以下错误:

...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脚本安装应用程序,则在双击路径时,后续的应用程序包更新会成功安装。因此,换句话说,第一次sideload安装需要PowerShell,后续更新可以通过友好的GUI双击方法完成

我的最终目标是允许我的用户在新机器上安装我的应用程序,而不必参与PowerShell。所以我需要这个GUI侧加载安装来工作

(注意:我使用的是VS 2017 15.3.4,我的开发机器和目标机器都运行windows build 15063,即使在创建空白UWP应用程序、目标创建者更新15063且未添加其他软件包或引用时,也会遇到此问题)

更新

我的UWP项目设置为使用正式的、可信的代码签名证书(而不是测试证书)

更新2 这个问题似乎已通过秋季创建者的更新得到解决。在使用FCU更新了我的开发机器和目标机器之后,安装对话框现在在进度栏中显示了一个额外的步骤:大约19%的进度栏显示“安装其他框架…”。之后,它继续“安装应用程序包”,并在不久之后成功


顺便说一句,我之前的问题(针对较老的创建者的更新)甚至在使用空白应用程序时也被发现(VS->创建新UWP应用程序->使用我的受信任证书签名->创建应用程序包->尝试侧载)

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

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

以下是MSDN的相关文档:


这个问题似乎通过秋季创建者的更新得到了解决。在使用FCU更新了我的开发机器和目标机器之后,安装对话框现在在进度栏中显示了一个额外的步骤:大约19%的进度栏显示“安装其他框架…”。之后,它继续“安装应用程序包”,并在不久之后成功

您可以将其发布到应用商店,这样您就可以在任何计算机上轻松安装应用程序,如果您希望选定的用户可以安装此应用程序,您可以使用开发中心提供的链接共享方法。您应该安装.appx而不是.appxbundle对于某些应用,Windows应用商店不合适。因此,我提出了关于侧载的问题。无论是部署
.appx
还是部署
.appxbundle
,我都会遇到相同的错误。请在包中共享appxmanifest.xml文件的依赖项部分。我怀疑您正在声明系统中不存在的依赖项。我的问题已通过更新到FCU得到解决。无论我的依赖项是什么,它们都是一个全新的、已签名的UWP应用程序。这一部分是否也适用于客户端(非开发人员)计算机:“您必须启用设备进行开发。”?您的客户端计算机不需要启用开发人员模式。只需确保侧面加载已启用(默认情况下应启用)。我们有3个选项-1)Windows应用商店应用程序2)侧面加载应用程序3)开发人员模式,默认值为1)。要从商店外部安装已签名的appx,需要将设置更改为2)。当然,您组织的管理员可以更改默认值,但操作系统默认值为1)。我没有使用测试证书;我正在使用从Comodo购买的官方代码签名证书。因此,不需要安装证书,因为目标计算机上已存在COMODO根证书。。。正确吗?我很清楚,侧加载不要求您显式安装捆绑在应用程序包(例如,
MyApp\u 1.0.3.0\u x86\u x64.cer)旁边的证书,只要该计算机信任对其进行签名的根CA,并且证书路径成功解析。我说得对吗?