• 09、win32 转换为 store app


    1、机制:

      微软的 Project Centernial ( Project C) 项目的就是把传统的 windows桌面应用程序

    转换为 windows10 store app (appx)。

    目的:

    1)  传统桌面应用会导致系统注册表体积越来越大,导致系统运行变慢、不稳定。大多数软

    件在安装的时候会获得 administrator 权限,可能导致其它应用程序被破坏,甚至系统被破坏。

     

    2)  当卸载桌面应用的时候,往往并不安全,因为一个 Win32 应用可能依赖于早期安装的应用。 

      Project C 使用两个现有的技术来修复这个问题,一个是 App-V  (百度百科App-V),一个企业级

    的产品使app把它们的依赖项打包到一起,所以它们各自保持独立,并且与 System隔绝。应用

    虚拟化(Application virtualization)就是应用程序可以读、写注册表,并且向 System路径中

    (比如 System32文件夹)添加类库,但这些添加的内容会被放到应用程序自己的沙盒内(虚拟映射)。

      另一个就是  Windows Store,它会提供一种一键安装和卸载的机制,自动更新,

    应用内支付等。从而不用担心会破坏 System和拖慢 Windows。

     

    3)  Project C 就是为一个已有的 Win32(或 Win64)应用程序提供转换。工作原理

    就是使用 App-V 做一个称作“排序”(sequencing)的转换过程。通过 App-V 的“排序”

    来捕获程序对系统的更改。然后你运行应用程序的 installer。App-V记录所有的更改,

    然后输出虚拟化(virtualised)后的应用程序包。在 Project C 还有更近一步的操作,

    就是把这个包(pachage)捆绑成一个 Appx 包 ( Windows store app)。

      虽然使用相同的技术,但是Sheehan 强调,Project C 和 App-V 并不一样。

    App-V 必须做“反常的事情”,因为它必须与现有的类库一起协作。而 Project C

    让程序员,在打包前可能必须调整他们的代码。另一个不同的是, Project C app

    可以使用 Windows 10 Universal app 相同的API,比如 Live Tile,动态更新开始

    菜单,和其它的 Store app 进行通信等等。

     

    4)Project C app 跟 Universal App 不同的是,它并不是运行在沙盒(sandboxed)中

    的,但它们比传统 Win32 应用多一些限制。一个 Project C app 运行在 full user-level trust,

    所以它不允许获得管理员权限。所以它们不能显示UAC(User Access Control)对话框来

    获取更改系统的权限。不过他们可以使用 Windows 的特性,比如 COM 和 WMI(Windows

    Management Instrumentation)、获取用户的硬件。

     

      Project C app 的一个限制是它不能从另外的 Project C app 中加载类库。

     

    5)A Project C app 将只会运行在 PC 上,不会运行在 Phone、Xbox 或者 HoloLens 上。

    2、 进度: 

      目前 Project C 项目并未提供公测,我注册了一下我的个人信息,当这个项目有进展的时候,

    会给邮箱发邮件。(https://dev.windows.com/zh-cn/uwp-bridges)

    总结参考:

    1)Project Centennial": Converting your Classic Windows App (Win32, .Net, COM) to a Universal Windows App for Distribution in the Windows Store :

    https://channel9.msdn.com/Events/Build/2015/2-692

    2)How Project Centennial brings potentially millions of desktop apps to the Windows 10 Storehttp://www.theregister.co.uk/2015/05/06/windows_10_project_centennial/

    3)Application Virtualizationhttps://technet.microsoft.com/en-us/windows/hh826068.aspx

    4)百度百科App-V : http://baike.baidu.com/view/3770203.htm

     

  • 相关阅读:
    学习UML类图
    【转】监听器(Listener)学习
    【转】ContextLoaderListener和DispatcherServlet加载内容的区别
    个人B站+微信公众号
    如何直观形象地树状打印一棵二叉树?
    轻松手撕10大排序算法
    简单易懂的快速幂取模算法
    程序员必学:快速幂算法
    为什么Swift和Python要抛弃++--?
    JetBrains系列IDE的配色方案(IDEACLionPyCharm)
  • 原文地址:https://www.cnblogs.com/hebeiDGL/p/4752249.html
Copyright © 2020-2023  润新知