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. javaScriptObject转String

    function obj2str(o){ var r = []; if(typeof o =="string") return "\""+o.repl ...

  2. [Python]网络爬虫(七):Python中的正则表达式教程

    转自:http://blog.csdn.net/pleasecallmewhy/article/details/8929576#t4 接下来准备用糗百做一个爬虫的小例子. 但是在这之前,先详细的整理一 ...

  3. eval、exec、execfile

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

  4. iOS任何界面全屏炫酷倒计时,一句代码就够了

    概述 iOS全屏炫酷倒计时,任何界面只需要调用一句代码就能实现,支持定制倒计时数字.倒计时结束时显示的文本.支持倒计时播放图片.开始倒计时和结束倒计时的block和delegate回调.支持定制文本颜 ...

  5. 在ListView的右边添加字母列表

    在ListView的右边添加字母列表,点击某个字母时,列表就滚动到预期位置. <!-- 数字和字母栏在标题栏下边并且停靠在右边 --> <com.txrj.sms.component ...

  6. 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL (转)

    在访问现在很火的google plus时,细心的用户也许会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变.并且能够很好的支持浏览器的前进和后退.不禁让人想问,是什么有这么强大 ...

  7. sql server分配某个用户只对某一个数据库有权限 转载 http://blog.sina.com.cn/s/blog_13554ebc70102wi3h.html

    sql server 2008新建用户只能访问指定数据库   新装的sql Server 2008,想让指定的用户可以访问sql Server客户端,sa的权限太大,所以最好禁用掉,   然后我们需要 ...

  8. go 学习 ---golang命令

    1.GO命令一览 GO提供了很多命令,包括打包.格式化代码.文档生成.下载第三方包等等诸多功能,我们可以通过在控制台下执行 go 来查看内置的所有命令 下面来逐个介绍,也可以详细参考 https:// ...

  9. SIPp常用脚本之三:UAC

    UAC是作为SIP消息的发起端,可以控制消息速率什么的,方便极了. 一.uac.xml <?xml version="1.0" encoding="ISO-8859 ...

  10. Linux使用技巧5--格式化U盘

    通常来说,格式化一个分区的U盘还是非常easy的.仅仅须要使用mkfs命令指定目标文件系统就能够了,样例例如以下: $ sudo fdisk -l $ sudo mkfs -t vfat /dev/s ...