如何在没有使用Windows商店的情况下分发编译后的Windows 8 Metro应用程序?

48
我想知道是否有一种方法可以将Windows 8 Metro应用打包并分发给其他已安装Windows 8开发者预览版的用户?这样就不需要要求他们安装VS'11预览版并自行编译代码来测试/使用我构建的Windows 8 Metro应用,而是让他们只需下载和安装即可。
由于Windows Store尚未上线,是否有一种方法可以分发已编译的Windows 8 Metro应用供他人测试/使用?
即使在Windows Store上线后,这也可能对于在非开发机器上测试Metro应用很有用。
4个回答

52

每台想要安装应用程序的机器都需要开发者许可证。详情请参见此页面

当您的应用程序准备好时:

  1. 选择“商店”->“创建应用程序包”
  2. 选择“构建一个仅在本地使用的软件包”
  3. 按照提示进行操作

这将在您指定的任何文件夹中创建一个软件包。您应该能够将其复制到另一台具有开发者许可证的计算机上并安装它。

目录中会有一个名为Add-AppxDevPackage的批处理文件。运行它将安装该应用程序。必须作为管理员运行。


最好不需要以管理员身份运行,但这是Win8中唯一的当前选项。 - Chris Pietschmann
那么,为什么还要开发Metro应用程序呢?我们不是最好只使用本地应用程序吗?审批和等待发布队列肯定是人们从iOS转向Android的原因,而在早期和本地Windows上下载/安装和运行任何内容的自由对企业来说更有意义。 - Akash Kava
需要访问 Store 吗?如果可以避免访问 Store,那会更好。 - Tilak
8
这些指示是正确而优秀的。然而,一年后标签略有不同。
  1. 现在应该选择“否”以回答“是否要构建商店包?”,而不是说要在本地构建。
  2. “您应该能够复制那个”意指文件夹,而非软件包。文件夹需要其资源。
  3. 他所谈论的批处理文件不是批处理文件,而是带有记事本图标的PowerShell脚本.ps1文件。您需要右键单击它以在RT下运行。
  4. Akash,Tilak:这不是用于分发,而是用于开发人员测试。
- John Haugeland
@JohnHaugeland - 如果您知道正确的步骤,可以向Steve的答案提出编辑建议,他会接受它。 - Security Hound

15
在遵守 MSDN 文章中列出的前提条件后,可以在商店外分发应用程序。该文章还介绍了使用 PowerShell 安装应用程序的过程。尽管看起来相当复杂,但要注意,在 Windows 8 Metro 应用程序中,MSI 可以正常工作,因此您可能可以将安装过程封装到一个小的安装程序中。

从文章中得知:

  • 需要使用 Windows 8 企业版,并且必须加入域,域必须具有允许安装所有受信任的应用程序组策略设置。
  • 对于 Windows 8 专业版、Windows RT 或非域加入机器,则必须从 Microsoft 购买旁加载产品激活密钥.
  • 应用程序必须由计算机信任的密钥签名。

购买了 Microsoft 的旁加载产品密钥之后,添加旁加载产品密钥即可。

>Slmgr /ipk <sideloading product key>

要启用侧向加载,请启用以下GUID:

>slmgr /ato ec67814b-30e6-4a50-bf7b-d55daf729d1e

要从 PowerShell提示符 中添加一个应用程序:

>add-appxpackage C:\app1.appx –DependencyPath C:\winjs.appx

Windows 8.1 更新

根据微软的最新公告,Windows 8.1 的下一个更新将允许所有运行专业版的设备无需激活密钥便可侧载应用程序。迄今为止,这只适用于企业版。请注意,机器仍然需要成为AD域的一部分。此外,如果您仍在运行早期版本但属于以下任何计划之一:

  • 企业协议
  • 企业订阅协议
  • 教育解决方案注册(校园和学校协议下)
  • 学校注册
  • 选择和选择加

从2014年5月1日起,您将获得企业级侧载权限。否则,您仍然可以进行侧载,但需要购买一枚价值100美元的侧载激活密钥(无限数量设备一次性收费)。


2
微软已经删除了它所说的内容。你应该在这里引用步骤。现在我们永远不会知道了。 - Ian Boyd
@IanBoyd - 这篇文章仍然存在。 - Security Hound
@IanBoyd 感谢你退出文章。我会记得以后自己做的。 - dmusial
微软仍未回答“侧载产品激活密钥”到底是什么。MSDN文章中的链接指向一篇介绍批量许可的产品激活和密钥信息的页面。这与侧载有何关联? - Jürgen Bayer

3
如果我从白皮书中正确地回忆起来,那么Windows 8 Metro应用程序只能由消费者从应用商店安装。然而,对于开发人员,将提供一种方法(由Stave Rowe解释),以及一种企业直接安装Windows 8 Metro应用程序的方法,我预计企业方法将使用Active Directory(组策略),但可能仅限于某些Windows 8版本。

-1

1
这只是先前答案的完全副本。 - Security Hound

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