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 Store:http://www.theregister.co.uk/2015/05/06/windows_10_project_centennial/

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

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

09、win32 转换为 store app的更多相关文章

  1. Windows 8.1 store app 开发笔记

    原文:Windows 8.1 store app 开发笔记 零.简介 一切都要从博彦之星比赛说起.今年比赛的主题是使用Bing API(主要提到的有Bing Map API.Bing Translat ...

  2. Windows store app[Part 4]:深入WinRT的异步机制

    接上篇Windows store app[Part 3]:认识WinRT的异步机制 WinRT异步机制回顾: IAsyncInfo接口:WinRT下异步功能的核心,该接口提供所有异步操作的基本功能,如 ...

  3. Windows store app[Part 1]:读取U盘数据

    Windows 8系统下开发App程序,对于.NET程序员来说,需要重新熟悉下类库. 关于WinRT,引用一张网上传的很多的结构图: 图1 针对App的开发,App工作在系统划定的安全沙箱内,所以通过 ...

  4. 在桌面程序上和Metro/Modern/Windows store app的交互(相互打开,配置读取)

    这个标题真是取得我都觉得蛋疼..微软改名狂魔搞得我都不知道要叫哪个好.. 这边记录一下自己的桌面程序跟windows store app交互的过程. 由于某些原因,微软的商店应用的安全沙箱导致很多事情 ...

  5. 吐槽坑爹的微软win store app审核

    从学习win store app 开发到做出第一个应用 博客园cnblogs 花了一个多月的全部业余和上班空闲时间, 上周在端午节放假期间终于完成了计划的全部开发和测试, 6月10号怀着无比激动的心情 ...

  6. Windows Store App 过渡动画

    Windows Store App 过渡动画     在开发Windows应用商店应用程序时,如果希望界面元素进入或者离开屏幕时显得自然和流畅,可以为其添加过渡动画.过渡动画能够及时地提示用户屏幕所发 ...

  7. 05、Windows Store app 的图片裁切(更新)

    在 Win Phone Silverlight api 中,有一个 PhotoChooserTask 选择器,指定宽.高属性,在选择图片的时候, 可以进行裁切,代码: PhotoChooserTask ...

  8. 01、Windows Store APP 设置页面横竖屏的方法

    在 windows phone store app 中,判断和设置页面横竖屏的方法,与 silverlight 中的 Page 类 不同,不能直接通过 Page.Orientation 进行设置.而是 ...

  9. Windows store app[Part 3]:认识WinRT的异步机制

    WinRT异步机制的诞生背景 当编写一个触控应用程序时,执行一个耗时函数,并通知UI更新,我们希望所有的交互过程都可以做出快速的反应.流畅的操作感变的十分重要. 在连接外部程序接口获取数据,操作本地数 ...

随机推荐

  1. break的使用方法

    private static void test() {  for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { Syst ...

  2. 源码安装和配置zabbix 3.0 LST

    Zabbix是什么 Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持. Zabbix 是一个企业级的分布式开源监控方案. Zabbix是一款能够监控各 ...

  3. MVC3中给Html.TextAreaFor设置默认值(初始值)

    <div class="editor-field"> @Html.TextAreaFor(model => model.Comments) @Html.Valid ...

  4. 引入css的几种方式

      使用CSS样式的几种方式 CreateTime--2017年10月11日16:45:26 Author:Marydon a.外部样式 a1.链接式(推荐使用) <link href=&quo ...

  5. eclipse 将javaWeb项目转化成maven项目

      eclipse 将javaWeb项目转化成maven项目 CreateTime--2018年4月18日16:04:18 Author:Marydon 1.首先,maven项目的标准目录 2.web ...

  6. CUDA 7.0 速查手册

    Create by Jane/Santaizi 03:57:00 3/14/2016 All right reserved. 速查手册基于 CUDA 7.0 toolkit documentation ...

  7. 类的专有方法(__repr__)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #http://blog.csdn.net/yyt8yyt8/article/details/7030416 ...

  8. nginx反向代理proxy_set_header自定义header头无效

    公司使用nginx作为负载均衡,有时候需要自定义header头发送给后端的真实服务器. 想过去应该是非常的简单的事情. 例子如下: 设置代理服务器ip头   1 proxy_set_header X- ...

  9. MFC异常处理的问题

    参考文献:http://technet.microsoft.com/zh-cn/library/t078xe4f(v=vs.85).aspx MFC中异常处理的语法和语义构建在标准C++异常处理语法和 ...

  10. 非微信内如何调起wap版微信支付

    微信支付一直没有出wap版,wap版想用微信支付,只有在微信内调用才可以.今天偶然发现,中国电信一个wap站点, 不在微信内也能调起微信支付,而且官方还提供了一个demo. WAP怎么调起客户端? 在 ...