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 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的更多相关文章
- Windows 8.1 store app 开发笔记
原文:Windows 8.1 store app 开发笔记 零.简介 一切都要从博彦之星比赛说起.今年比赛的主题是使用Bing API(主要提到的有Bing Map API.Bing Translat ...
- Windows store app[Part 4]:深入WinRT的异步机制
接上篇Windows store app[Part 3]:认识WinRT的异步机制 WinRT异步机制回顾: IAsyncInfo接口:WinRT下异步功能的核心,该接口提供所有异步操作的基本功能,如 ...
- Windows store app[Part 1]:读取U盘数据
Windows 8系统下开发App程序,对于.NET程序员来说,需要重新熟悉下类库. 关于WinRT,引用一张网上传的很多的结构图: 图1 针对App的开发,App工作在系统划定的安全沙箱内,所以通过 ...
- 在桌面程序上和Metro/Modern/Windows store app的交互(相互打开,配置读取)
这个标题真是取得我都觉得蛋疼..微软改名狂魔搞得我都不知道要叫哪个好.. 这边记录一下自己的桌面程序跟windows store app交互的过程. 由于某些原因,微软的商店应用的安全沙箱导致很多事情 ...
- 吐槽坑爹的微软win store app审核
从学习win store app 开发到做出第一个应用 博客园cnblogs 花了一个多月的全部业余和上班空闲时间, 上周在端午节放假期间终于完成了计划的全部开发和测试, 6月10号怀着无比激动的心情 ...
- Windows Store App 过渡动画
Windows Store App 过渡动画 在开发Windows应用商店应用程序时,如果希望界面元素进入或者离开屏幕时显得自然和流畅,可以为其添加过渡动画.过渡动画能够及时地提示用户屏幕所发 ...
- 05、Windows Store app 的图片裁切(更新)
在 Win Phone Silverlight api 中,有一个 PhotoChooserTask 选择器,指定宽.高属性,在选择图片的时候, 可以进行裁切,代码: PhotoChooserTask ...
- 01、Windows Store APP 设置页面横竖屏的方法
在 windows phone store app 中,判断和设置页面横竖屏的方法,与 silverlight 中的 Page 类 不同,不能直接通过 Page.Orientation 进行设置.而是 ...
- Windows store app[Part 3]:认识WinRT的异步机制
WinRT异步机制的诞生背景 当编写一个触控应用程序时,执行一个耗时函数,并通知UI更新,我们希望所有的交互过程都可以做出快速的反应.流畅的操作感变的十分重要. 在连接外部程序接口获取数据,操作本地数 ...
随机推荐
- 【.NET特供-第三季】ASP.NET MVC系列:传统WebForm站点和MVC站点执行机制对照
本文以图形化的方式,从'执行机制'方面对照传统WebForm站点和MVC站点. 请參看下面图形: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb2 ...
- 算法笔记_122:蓝桥杯第七届省赛(Java语言A组)试题解答
目录 1 煤球数目 2 生日蜡烛 3 搭积木 4 分小组 5 抽签 6 寒假作业 7 剪邮票 8 取球博弈 9 交换瓶子 10 压缩变换 前言:以下试题解答代码部分仅供参考,若有不当之处,还请路 ...
- epoll+socket的简单测试例子
server: #include <sys/socket.h> #include <sys/epoll.h> #include <netinet/in.h> #in ...
- atitit.提升开发效率---MDA 软件开发方式的革命(3)----自己主动化建表
atitit.提升开发效率---MDA 软件开发方式的革命(3)----自己主动化建表 1. 建模在后自己主动建表 1 1. 传统上,须要首先建表,在业务编码.. 1 2. 模型驱动建表---很多其它 ...
- 生成CFree 5.0 注册码
C-Free 5.0真是一个很棒的编程软件,可今天用着用着却让我注册,下面的注册码分享给大家: 方法一.下载CFree 5.0之后,直接输入以下信息进行注册. 用户名:tianfang电子邮件:qua ...
- python第三方包的windows安装文件exe格式
今天弄了一上午的python-ldap,发现要么安装vc,要么用其他比较麻烦的方法,都比较麻烦.幸好找到这个地址: http://www.lfd.uci.edu/~gohlke/pythonlibs/ ...
- CameraManager与CameraDevice与ICameraService的相应关系
Camera2 AP Framewok中有三个比較重要的组件:CameraManager.CameraDevice.ICameraService,他们的相应关系例如以下: 一个Context中会有一个 ...
- 解决sitemesh3装饰页面不能使用freemarker标签问题
如题,这个问题其实在sitemesh2中已经很好的解决了,不过在sitemesh3中可能没有解决,所以要自己写代码解决了,下面我先讲下sitemesh2是如何解决的: <servlet> ...
- 通过shell定时备份数据库
需求: 每天凌晨2:10备份数据库zhengDB到 /data/backup/db. 备份开始和结束能够给出相应提示信息. 备份后的文件标识标准为已备份时间为文件名,并打包成 .tar.gz 的形式, ...
- 查看Windows端口及端口关闭方法(转)
摘自:http://www.hackbase.com/tech/2011-05-17/63766.html 查看Windows端口及端口关闭方法 一.查看已开放的端口: 1.借助系统自带MS-DOS命 ...