将桌面应用程序提交到Windowsapp store需要执行哪些操作?
我听说 Windows 10将允许开发人员将他们的桌面(非Metro)应用程序提交到Windowsapp store。 我正在使用C / C ++ / MFC和WinAPI进行开发。
将桌面应用程序提交到商店需要做什么? 有什么要求/收费?
你应该考虑看看//与John Sheehan 建立对话 。 它涵盖了商店中Win32应用程序的详细信息(代号为Project Centennial )。 第一个细节是“这个项目仍在开发中”(截至2015年5月)。
简而言之,您可以使用现有的基于MSI的应用程序,通过工具运行它来生成appx,然后您就完成了。 有些东西是行不通的(例如安装服务,自定义许可/ DRM或以管理员身份运行),但大多数普通的应用程序代码都可以运行。 显示的示例是Adobe PhotoShop Elements,除了许可检查(现在无论如何都可以由Store处理)之外,它完美地工作。
如果您不想参加由Peter Torr联系的2015年Build版演讲的一小时,这里是Project Centennial所需要的概要。 此外,正如已经指出的那样,这是一个初步的东西,仍在开发中(截至2015年5月)。
适用于Windows 10商店中列出的基于Win32 / .NET / COM的应用程序:
-
MSI是“邪恶的”。 请改用APPX软件包。
-
APPX全球:一键安装通过Windowsapp store,通过Windowsapp store自动更新应用程序(使用文件差异 – 无需重新下载包中的大型未更改文件。)
-
微软将拥有一个自动转换工具:MSI到APPX。
-
MSI许可/ DRM不起作用:即无法查找CPU序列号,硬盘驱动器信息,网卡MAC地址等( 我的看法:商店应用程序将无法直接访问硬件。 )
-
该应用程序将有一个实时磁贴和其他任何可以使用通用应用程序(或Metro风格应用程序)完成的工作。
-
应用程序的
AppxManifest.xml
文件将定义应用程序的文件关联。 -
该应用程序安装到具有随机路径的沙箱文件夹中,例如:
C:\Program Files\WindowsApps\
。 每次发布新的应用程序版本时,此路径都会更改。\ -
应用程序的沙箱文件夹将包含
Root\VFS
子文件夹,其中包含以下重定向的子文件夹:-
AppData
-
AppVSystem32Catroot
-
AppVSystem32Catroot2
-
Common AppData
-
ProgramFilesCommonX64
-
ProgramFilesCommonX86
-
System
-
SystemX86
-
Windows
-
例如,如果您的应用尝试访问C:\Windows
,它将无形地重定向到应用C:\Program Files\WindowsApps\
。
-
该应用程序的包沙箱文件夹将具有该应用程序的
Registry.dat
文件(即注册表配置单元)。 您的应用程序对系统注册表的所有请求都将重定向到该文件,包括HKLM
和HKCU
密钥。 换句话说,您的应用程序将无法修改任何共享系统注册表项。 -
通过APPX软件包安装的应用程序无法共享其文件之间的依赖关系,也无法交叉加载其他应用程序的软件包内容。
-
命名空间合并(在共享系统文件和包的
Root\VFS
文件夹文件之间):
- 命名空间wrire重定向(写入共享系统注册表被重定向到您的应用程序的
Registry.dat
文件。同样在文件系统规模上,只有AppData
文件夹被重定向到您的应用程序的Root\VFS\AppData
文件夹):
-
重定向的
AppData
文件夹将放置在非漫游位置。 -
商店应用程序只能作为用户运行(他们称之为“ 完全信任 ”,在我的书中是用词不当)它无法运行提升,如果它试图调用显示UAC提示的 API,这样的API将默默地失败。
-
商店应用程序无法安装或运行NT服务。
我相信有一种方法可以注册这个项目的任何更新。