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更新,我们希望所有的交互过程都可以做出快速的反应.流畅的操作感变的十分重要. 在连接外部程序接口获取数据,操作本地数 ...
随机推荐
- winform网络编程之TcpClient类,TcpListener类和UdpClient类
TcpClient类和TcpListener类 (1)TcpClient的用途: 用于在同步阻止模式下通过网络来链接.发送和接受流数据,在此情况下,必须有侦听此连接的请求,而侦听的任务就交给TcpLi ...
- 腾讯云-NGINX搭建静态网站
搭建静态网站 搭建Http静态服务器环境 任务时间:15min ~ 30min 搭建静态网站,首先需要部署环境.下面的步骤,将告诉大家如何在服务器上通过 Nginx 部署 HTTP 静态服务. 00. ...
- 拯救者14ISK添加ssd6记录
说起为何,我要安装ssd,拯救者14isk配置也不低,我加了4Gddr4的内存,目前8G内存ddr4/2G独显ddr5显卡GT960/i5-6300处理器.每次开机响应慢,还会出现磁盘100%,很受不 ...
- listView滚动事件
listView滚动事件 实现接口: android.widget.AbsListView.OnScrollListener Interface definition for a callback t ...
- Android网络开发之基本介绍
Android平台浏览器采用WebKit引擎,名为ChormeLite,拥有强大扩展特性,每个开发者都可以编写自己的插件. 目前,Android平台有3种网络接口可以使用,分别是:java.net, ...
- 用curl去探测接口是否正常返回结果,若没有正常返回则触发报警
现有一需求去curl 在香港的一个接口, 返回值有时正常有时报错 connection reset by peer . 思路: 若 执行成功 $?返回 0 , 不成功则返回其他数字 #!/bin/b ...
- UpdatePanel的用法详解
摘自:http://www.cnblogs.com/shangxia/articles/2281782.html 一.UpdatePanel的结构 <asp:ScriptManager ID=& ...
- NSURLRequestCachePolicy 缓存策略
1> NSURLRequestUseProtocolCachePolicy = 0, 默认的缓存策略, 如果缓存不存在,直接从服务端获取.如果缓存存在,会根据response中的Cache-Co ...
- 浅谈 .NET 中的对象引用、非托管指针和托管指针
目录 前言 一.对象引用 二.值传递和引用传递 三.初识托管指针和非托管指针 四.非托管指针 1.非托管指针不能指向对象引用 2.类成员指针 五.托管指针 前言 本文主要是以 C# 为例介绍 .NET ...
- 字符串 - KMP模式匹配
在朴素的模式匹配算法中,主串的pos值(i)是不断地回溯来完成的(见字符串的基本操作中的Index函数).而计算机的大仙们发现这种回溯其实可以是不需要的.既然i值不回溯,也就是不可以变小,那么考虑的变 ...