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更新,我们希望所有的交互过程都可以做出快速的反应.流畅的操作感变的十分重要. 在连接外部程序接口获取数据,操作本地数 ...
随机推荐
- break的使用方法
private static void test() { for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { Syst ...
- 源码安装和配置zabbix 3.0 LST
Zabbix是什么 Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持. Zabbix 是一个企业级的分布式开源监控方案. Zabbix是一款能够监控各 ...
- MVC3中给Html.TextAreaFor设置默认值(初始值)
<div class="editor-field"> @Html.TextAreaFor(model => model.Comments) @Html.Valid ...
- 引入css的几种方式
使用CSS样式的几种方式 CreateTime--2017年10月11日16:45:26 Author:Marydon a.外部样式 a1.链接式(推荐使用) <link href=&quo ...
- eclipse 将javaWeb项目转化成maven项目
eclipse 将javaWeb项目转化成maven项目 CreateTime--2018年4月18日16:04:18 Author:Marydon 1.首先,maven项目的标准目录 2.web ...
- CUDA 7.0 速查手册
Create by Jane/Santaizi 03:57:00 3/14/2016 All right reserved. 速查手册基于 CUDA 7.0 toolkit documentation ...
- 类的专有方法(__repr__)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #http://blog.csdn.net/yyt8yyt8/article/details/7030416 ...
- nginx反向代理proxy_set_header自定义header头无效
公司使用nginx作为负载均衡,有时候需要自定义header头发送给后端的真实服务器. 想过去应该是非常的简单的事情. 例子如下: 设置代理服务器ip头 1 proxy_set_header X- ...
- MFC异常处理的问题
参考文献:http://technet.microsoft.com/zh-cn/library/t078xe4f(v=vs.85).aspx MFC中异常处理的语法和语义构建在标准C++异常处理语法和 ...
- 非微信内如何调起wap版微信支付
微信支付一直没有出wap版,wap版想用微信支付,只有在微信内调用才可以.今天偶然发现,中国电信一个wap站点, 不在微信内也能调起微信支付,而且官方还提供了一个demo. WAP怎么调起客户端? 在 ...