将我的 VB6 Windows 应用引入Windows 10的应用商店

[原文发表地址]: Putting (my VB6) Windows Apps in the Windows 10 Store – Project Centennial [原文发表时间]: September 14, ’16   今天我注意到Evernote已经引入Windows的应用商店里了。我去应用商店里下载Evernote,然后运行它。没有下一步->下一步->下一步->完成之类的安装方式,只是安装上了并且运行的很好。它是一个Win32的app并且显示使用NodeWebKit作为它UI界面的一部分。但是它是一个Windows的app,正如VB6应用程序、.Net 应用程序和UWP(普遍的Windows平台)一样,因此我觉得这相当的酷。由于Evernote是应用商店的app,它就可以用Win10的一些新功能了,比如动态磁贴和通知,并且会持续更新。 利用通用Windows平台来创建和包装应用程序,Windows应用商店开始慢慢地扩展和引入了一些已有的应用程序和游戏。这就是他们在开发者会议上宣布的“百年工程”。它可以让你把任何的Windows app 引入Windows应用商店里,这简直太酷了。App在那里会比较安全,也不会扰乱你的机器,并且可以快速地安装和卸载。 从这篇文章中,你可以了解到你的App转换时的一些详情。Windows应用商店最主要的一个好处就是,应用商店里面的App不会扰乱你的机器。 这些app在一个特殊的环境里面运行,访问app后, app的文件系统和注册表会被重定向。文件Regedit.dat是用于注册表的重定向的,它实际上是个注册表的配置单元,因此你可以在windows注册编辑器(Regedit)中查看它。AppData文件夹是文件系统里唯一的重定向文件系统,它重定向到所有UWP应用程序的应用程序数据存储的同一位置。这个位置被称为本地应用程序数据存储区,并且你可以通过LocalFolderproperty属性访问它。这样,你无需做任何事,代码就已经移植到读取和写入应用程序数据的正确位置了。你也可以直接在哪里进行写操作。文件系统重定向的一个好处是应用程序会卸载的比较干净。 该”DesktopAppConverter”现在已经发布在Windows 商店中了,虽然它目前是以命令提示符运行。如果您的Windows桌面应用程序有一个”静默安装程序”,那么你可以运行此DesktopAppConvertor从而生成一个APPX包,然后就可以将其上传到Windows应用商店了。 备注:这个“百年纪念”的技术是在Windows10 的周年更新中,如果你还没有更新到此版本,现在你可以参考此文来进行更新。 也可以通过一些第三方的工具,如InstallShield和Wix来创建可发布到应用商店的App。这样您现有的MSI的App可以转换成UWP包然后发布到应用商店。   看起来有好几种方法可以使你现有的Windows应用程序转变成Windows10 应用商店里面可用的应用程序。你可以使用DesktopAppConverter去运行你的静默安装的程序。一旦你让你的应用程序变成应用商店的应用程序,你可以利用代码来使用动态磁贴、通知以及其他功能来“点亮”你的应用程序。可以在 GitHub里看到一个展示如何添加标题或者后台任务的示例 https://github.com/Microsoft/DesktopBridgeToUWP-Samples。如果你有Windows应用商店和可以通过传统方式安装的windows桌面程序版本,你就可以使用[Conditional(“DesktopUWP”)] 来编译。 如果你的应用程序是一个没有安装程序,只是简单的Xcopy部署应用程序,那就更简单了。这可以通过我在Windows10的机器上成功安装了VB6来证明。 备注:我使用VB6作为一个很有趣也很酷的例子,VB6我们好久都不支持了,但用它创建的应用程序仍然可以在Windows正常运行,是因为它们是Win32应用程序。对我来说,这意味着,如果我有一个VB6的程序,我想把他发布在应用商店并且扩大使用范围是完全可以的。 我做了一个可以在VB6上运行的小程序project1.exe。   参照HelloWorld的例子,我的 AppxManifest.xml文件内容如下。 文件夹里的内容包括工程文件 porject1.exe以及logo和一些图片文件。 如果我有一个静默安装程序,现在我可以运行DesktopAppConverter,但由于我只有一个xcopy的应用程序,我将在我的本地机器上运行以下命令来进行测试。 现在我的VB6小应用程序已经安装在本地,在开始菜单里可以看到。 当我准备用Visual Studio把我的应用程序制作好以提交到应用商店时,我会按照这个指导文档来操作。或者可以在命令行中使用MakeAppx和SignTool工具来手动完成。 “C:\Program Files (x86)\Windows Kits\10\bin\x86\makeappx” pack…

0