开发者社区> 像教授> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

App-V 精品博文翻译系列(2):App-V 4.6 64位应用程序支持

简介:
+关注继续查看

Part 1
关于App-V 精品博文翻译系列

此系列为微软定题,MVP领题撰稿系列。为方便更多喜欢阅读中文的中文读者,我计划在业余时间进行此系列的翻译。不过本人水平有限,且为初次翻译,还请大家多多指点和包涵,谢谢!

Part 2
译文: App-V 4.6 64位应用程序支持

简介

从Microsoft 有了64位系统之后,64位系统带来的可扩展性,使得很多终端服务器和桌面管理员一直尝试将其部署在企业平台上。但64位系统的采用面临着问题,许多在32 位平台下被认为是理所当然的解决方案,在64 位下行不通。由于32 位终端服务器系统的内存限制,App-V终端服务方案使得用户数量限制在40-60个左右,受此限制,终端服务器管理员很希望有64位的App-V 客户端出现。即使有一些64 位系统的终端服务器,每个物理主机可容立 120 个或更多的用户,32位App-V也难成为选择。桌面管理员面临另一种情况,诸如工程类软件等一些吃资源较多的应用程序,推出的新版本已变为64 位了,除了这,更有一个应用程序升级的典型例子,升级到64 位版本是该程序进行升级的唯一途径。

App-V要支持 64 位系统和应用程序是迟早的事。现在 4.6版本发布了,你可以通过将App-V环境迁移到 64 位主机上,去克服内存的限制和拥有更好的程序和终端服务器扩展性。假如你在寻求从 32 位终端服务器环境迁移到 64 位环境的指导,请参阅下面的 Microsoft 白皮书。

Terminal Services Scaling and Performance on x64-Based Versions of Windows Server 2003 
http://www.microsoft.com/downloads/details.aspx?familyid=9B1A8518-D693-4BBB-9AF8-B91BBC0D2D55&displaylang=en

App-V 64 位支持

有很多技术上的壁垒需要攻破,才能使App-V 支持x64成为现实。假如这是件容易的事的话,64位可能早些时候就已出现了。最大的问题是要将App-V 客户端内核级(kernel level)的组件转换为 64 位,以便它们可以在 64 位平台上运行。即使 64 位系统是可以运行 32 位程序的,但这对需要在内核内存空间(kernel memory space)中运行的程序行不通。无一例外,内核级的所有代码都必须是 64 位。64位App-V客户端的许多核心功能实现都卡在了内核级上,所以App-V开发团队要实现此功能,不像在公园里走几步那么简单。

一些人或者已发现App-V 客户端不是所有组件都是 64 位的。保留某些 32 位组件为正确处理 32 位程序所需,在其他一些地方如管理界面,32 位代码也保留了。你可能想知道,为什么不像其余部分那样,将诸如管理界面等转换为 64 位呢。然而,除非有很好的理由,否则保留32 位编译的代码完全是可以的。采取这样的保留,不只App-V一个软件在这样做,在64 位计算显现出更先主导优势前,应用程序的开发可能还是遵循现在的策略。

4.6 序列化 (Sequencing)

App-V不是惟一一个能打包(package)64 位虚拟应用程序的产品,但是App-V 4.6 具有使用同一sequencer序列化 32 和 64 位应用程序的能力。 另外,sequencer已被简化,序列化过程变得更容易。为分享这些新功能,让我们在 64 位Windows Vista Enterprise Service Pack 2 上的序列化WinRAR 64位版本,并且在Windows 7 Enterprise x64 计算机上使用App-V 4.6将其部署。请注意在这里不涉及某种类型程序兼容性问题的探讨,我们使用最小公分母(least common denominator)方法,序列化一次,适应多种部署。 请参阅以下文档获得更多指导。 http://blogs.technet.com/appv/archive/2009/12/14/do-i-need-to-re-sequence-my-applications-when-i-move-to-a-new-os.aspx

1) 启动应用程序虚拟化sequencer。

clip_image001

2) 在主页创建一个新的序列。选择“新建包”启动序列化向导。 

 clip_image002

3) 输入包名称,然后单击“下一步”继续。

clip_image003

4) 选择“开始监视”进行监视。

clip_image004

5) 对话框会提示你在 Q盘上创建的资产文件夹应符合8.3命名约定。你可以选择 Q盘,然后单击“新建文件夹”。

clip_image005

6) 请记住,最佳做法是文件夹名不要超出 8.3命名约定的范围。 在本例中,我将文件夹命名为“WinRAR.001”。
1. 选择 WinRAR.001 文件夹。
2. 单击确定。

clip_image006

7) 监视前sequencer需要一点时间来准备,一旦准备好就可以启动安装程序了。

clip_image007

8) 遵循最佳做法将目标文件夹安装路径更改为“Q:\WinRAR.001”。

clip_image008

9) 选择“确定”。

clip_image009

10) 选择“完成”。

clip_image010

11) 最佳做法是,你应该启动程序至少两次以确保程序的初始状态正是用户希望见到的形式。启动 WinRAR。

clip_image011

12) 关闭 WinRAR ,重开并再次关闭 WinRAR 。

clip_image012

13) WinRAR 关闭后,选择“停止监视”。

clip_image013

14) 选择“下一步”。

clip_image014

15) 此页仍会让你在保存虚拟化包之前,自定义包快捷方式以及文件类型关联。因我们不做任何更改,单击“下一步”继续。

clip_image015

16) 由于我们没有在上一个页中配置块大小,这里会显示一个警告。 单击“是”以继续。 
 

clip_image016

17) 选择“是”,完成序列化向导。

clip_image017

18) 选择“完成”,关闭序列化向导。

clip_image018

19) 在sequencer中执行以下操作。 
1) 转到“部署”选项发布应用程序。 
2) 更改协议为RTSP 。 
3) 修改主机名,填写服务器名 46labms1。 
4) 修改路径,填写 WinRAR-V3.92B1-WinRAR.001。 
5) 在完成之前,我将在可用操作系统列表中添加 Windows 7 64-bit 位和Windows 2008 R2 Terminal Server 64-bit。请记住,这并不一定意味着程序将在其他操作系统上运行,但我们在尝试于Windows 7 x64平台测试前,我们需要这样添加。

此外请注意下面的“生成 Microsoft Windows Installer (MSI) 包”复选框。 如果你要生成MSI应用程序用于部署,那很简单,只需点选此复选框。那么,在你保存包时,MSI文件会随其他序列化文件一起生成。

clip_image019

20) 转到“包”菜单并选择“保存”。

clip_image020

21) 我喜欢将包保存于本地。
1. 单击新建文件夹图标。
2. 重命名该文件夹为WinRAR-V3-92B1-WinRAR.001。

clip_image021

22) 打开你所创建的文件夹和命名文件名为 WinRAR-V3-92B-WinRAR.001。

clip_image022

为节省你的时间,程序发布的入门步骤不在赘述,但是正如你看到的,我已在Windows Vista Enterprise SP2 x64 上成功启动了程序。 

clip_image023

现在让我们看看相同的序列包可否于在 Windows 7 Enterprise x64 上运行。

clip_image024

进一步,让我们看看 WinRAR在 W2K8R2 的终端服务器模式上的运行情况。

clip_image025

 

App-V 序列化可移植性

App-V 4.6 一个非常好的功能是序列化的可移植性,在 32 位平台上进行64位应用程序的序列化,和我所展示的其实差不多,具体到64位,如 Win7 和 Server 2008 R2 中更改了的注册表和文件重定向等内容,都可以通过 App-V成功重定向。 App-V最大核心价值的是序列化一次,适应多种部署。当迁移到4.6 时,下面的图表可帮助你理解序列化兼容性的矩阵关系。(是的,这意味着你不必一定要重做所有序列化)

clip_image026

为最省事,你需要决定使用哪个平台进行应用程序序列化。通常采用的策略称为最小公分母方法,以生产环境中最旧的系统作为序列化平台。在这里我不打算涉及过多详细的内容,因为更多的考虑会放在设计上,而不仅仅是最小公分母,然而别忘了它是一个序列化环境的基础。64 位又如何呢?我敢说教材会教你用32 位系统作为最小公分母,但在真实环境中,基于序列化可移植性,改用 64 位系统去做也可获得很高的成功率。 然而,实战中序列化平台与部署的平台有时可能也要相匹配,因为在某些情况下,你可能不能从一个较旧的系统序列化应用程序,接着在一个较新系统上成功部署。对于这种情况,一个与部署系统相匹配的序列化平台可以解决这种问题。

结论

对于桌面和终端服务器应用程序部署,App-V 4.6 提供了许多新的特性。App-V不仅可以有效地运行于 x86 和 x64 环境,而且可以减少跨平台部署应用程序的复杂性和精力,从而可使组织节省成本。作为唯一支持 64 位应用程序的虚拟化产品,它为系统管理员解决64位的烦恼敞开了大门。现在你就可以在64 位程序和 64 位主机上享受到虚拟应用程序管理的好处了。

Part 
关于原文作者
 

Kevin Kaminski, App-V MVP. 
Hi my name is Kevin Kaminski and I am an Application Virtualization MVP from Calgary Canada. I have been in the information technology industry for over twelve years working for many different major Canadian companies using many different application delivery and systems management technologies. Tommy has offered me a great opportunity to share some of my knowledge with a wider audience by translating some of my work into Chinese. I hope you find this information helpful when it comes to understanding Microsoft technologies and I hope to provide you with more information as time passes.




本文转自 VirtualTom 51CTO博客,原文链接:http://blog.51cto.com/virtualtom/284812,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
前端uni-app框架之实战主要技术栈day_3
前端uni-app框架之实战主要技术栈day_3
134 0
坚果系列-发布uniapp【uniapp 专题 02】
概述 打包为原生App,发布为H5 1.打包为原生App 在HBuilderX工具栏,点击发行,选择原生app-云端打包,如下图:
44 0
【Unity3D 灵巧小知识点】 ☀️ | 使用代码控制 Image图片层级渲染 顺序
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、r美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
82 0
Unity跳转场景进度条制作教程(异步加载)
Unity跳转场景进度条制作 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— ...
1817 0
[unity3d]Assetbundle使用示例2(支持多平台)
支持多平台的Assetbundle的应用示例,贴代码,供学习! 这里不同平台的StreamingAssets是不同的,所以我们要写预处理! using UnityEngine; using System.Collections; public class RunScript : MonoBehaviour { //不同平台下StreamingAssets的路径是不同的,这里需要注意一下。
689 0
+关注
1338
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载