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,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
监控 安全 数据可视化
【教程】为什么要为 App 应用加固 ?如何为 App 应用加固 ?
【教程】为什么要为 App 应用加固 ?如何为 App 应用加固 ?
|
2月前
|
iOS开发 开发者
苹果iOS App Store上架操作流程详解:从开发者账号到应用发布
很多开发者在开发完iOS APP、进行内测后,下一步就面临上架App Store,不过也有很多同学对APP上架App Store的流程不太了解,下面我们来说一下iOS APP上架App Store的具体流程,如有未涉及到的部分,大家可以及时咨询,共同探讨。
|
2月前
|
存储 iOS开发 开发者
如何在上架App之前设置证书并上传应用
在上架App之前想要进行真机测试的同学,请查看《iOS- 最全的真机测试教程》,里面包含如何让多台电脑同时上架App和真机调试。
|
3月前
|
移动开发 JavaScript 小程序
从入门到实践:Uni-app跨平台开发与应用
从入门到实践:Uni-app跨平台开发与应用
124 1
|
3月前
|
搜索推荐 UED
从网页到应用:轻松封装网页为个人化APP
随着移动互联网的快速发展,越来越多的人希望将自己喜欢的网页内容封装成应用,以便更便捷地浏览和分享。本文将介绍如何在线生成个性化的APP,让你的网页成为一个独立的应用程序,同时提供了一些常见的工具和技术,帮助你实现这一目标。
35 0
|
3月前
|
小程序 容器 JavaScript
探索uni-app:构建跨平台应用的神奇工具
探索uni-app:构建跨平台应用的神奇工具
|
3月前
|
移动开发 数据可视化 UED
从网页到应用:简易教程教你如何在线生成App
本文将介绍一种简便的方法,让您能够将网页封装成APP。通过这种技术,您可以将您的网页应用程序转化为移动应用程序,从而更好地满足用户的需求。无需编程知识,只需几个简单的步骤,即可轻松将您的网页转化为功能强大的应用程序。
|
2月前
|
安全 开发工具 数据安全/隐私保护
如何将应用程序发布到 App Store
如何将应用程序发布到 App Store
|
2月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
103 0
|
1月前
|
前端开发 Android开发 iOS开发
应用研发平台EMAS使用 aliyun-react-native-push 库接入推送和辅助通道,推送都可以收到,但是在App切到后台或者杀掉进程之后就收不到推送了,是需要配置什么吗?
【2月更文挑战第31天】应用研发平台EMAS使用 aliyun-react-native-push 库接入推送和辅助通道,推送都可以收到,但是在App切到后台或者杀掉进程之后就收不到推送了,是需要配置什么吗?
32 2