I heard Windows 10允许开发人员将他们的桌面(非Metro)应用程序提交到Windows应用商店。我正在使用C / C ++ / MFC和WinAPI进行开发。
将桌面应用程序提交到商店需要做什么?什么是要求/收费?
答案 0 :(得分:2)
你应该考虑和John Sheehan一起观看this //build talk。它涵盖了商店中Win32应用程序的详细信息(代号为 Project Centennial )。第一个细节是"这个项目仍在开发中#34; (截至2015年5月)。
简而言之,您可以使用现有的基于MSI的应用程序,通过工具运行它来生成appx,然后您就完成了。有些事情不起作用(例如安装服务,自定义许可/ DRM或以管理员身份运行),但大多数正常的应用程序代码都可以运行。显示的示例是Adobe PhotoShop Elements,除了许可检查(现在可以由商店处理)之外,它完美地工作。
答案 1 :(得分:0)
如果您不希望坐在this Build 2015 presentation附近的Peter Torr小时,请点击 Project Centennial 所需的内容。此外,正如已经指出的那样,这是一个初步的东西,仍在开发中(截至2015年5月。)
适用于Windows 10商店中列出的基于Win32 / .NET / COM的应用程序:
MSIs" evil"。请改用APPX软件包。
APPX全球:一键安装通过Windows应用商店,通过Windows应用商店自动更新应用程序(使用文件差异' - 无需重新下载大型未更改的文件包裹。)
Microsoft将拥有一个自动转换工具:MSI to APPX。
MSI许可/ DRM 不会工作:即无法查找CPU序列号,硬盘信息,网卡MAC地址等。(我的看法:商店应用将无法直接访问硬件。)
该应用将有一个实时瓷砖&使用Universal App(或Metro风格应用程序)
该应用程序的AppxManifest.xml
文件将定义应用程序的文件关联。
应用安装到具有随机路径的沙箱文件夹中,例如:C:\Program Files\WindowsApps\<GUID>\<Package Name>
。每次发布新的应用版本时,此路径都会更改。
该应用程序的沙盒文件夹将包含Root\VFS
子文件夹,其中包含以下重定向的子文件夹:
AppData
AppVSystem32Catroot
AppVSystem32Catroot2
Common AppData
ProgramFilesCommonX64
ProgramFilesCommonX86
System
SystemX86
Windows
例如,如果您的应用尝试访问C:\Windows
,它将被无形地重定向到C:\Program Files\WindowsApps\<GUID>\<Package Name>\Root\VFS\Windows
该应用。
该应用程序的包沙箱文件夹将包含该应用程序的Registry.dat
文件(即注册表配置单元)。您的应用对系统注册表的所有请求都将重定向到该文件,包括HKLM
和HKCU
个键。换句话说,您的应用不会能够修改任何共享系统注册表项。
通过APPX软件包安装的应用程序无法共享其文件之间的依赖关系,也无法加载其他应用程序的软件包内容。
命名空间合并(在共享系统文件和包的Root\VFS
文件夹文件之间):
Registry.dat
文件。同样在文件系统规模上,只有AppData
文件夹会重定向到您的应用程序Root\VFS\AppData
文件夹):
重定向的AppData
文件夹将被放置在非漫游位置。
商店应用只能作为用户运行(他们称之为&#34; 完全信任&#34;在我的本书用词不当无法运行提升,如果它尝试调用显示UAC prompt的API,则此类API将无声地失败。
商店应用无法安装或运行NT服务。
我相信有sign up方法可以获得此项目的任何更新。