Microsoft App-V 是不是程序包兼容性解决方案?
当我们谈及应用程序兼容性时,自然要将程序包兼容性与运行时兼容性区分开。事实上,我们所建议的应用程序兼容性测试过程(如我在 2009 年 6 月的规划您的应用程序兼容性项目文章中的图 3 所示)将安装测试与运行时测试区分开。让我们从产品团队官方指南开始:
通常,可以在一个操作系统上排序,然后在另一个操作系统上运行虚拟化应用程序;但是,这种方案既取决于应用程序,也取决于操作系统,未必适用于所有应用程序/操作系统组合,因为 App-V 不是通用的操作系统兼容性解决方案。如果遇到问题,客户可能需要在运行 App-V 客户端的操作系统环境中进行排序,以便解决这些问题。
这听起来并不怎么样,官方观点基本上是“视情况而定”。但是,当您要考虑衡量风险时,请比较现在所使用的三种基本安装技术:
Setup.exe:这种方式将运行任意代码,从而该任意代码将与应用程序本身的任意代码面临相同的潜在运行时问题,因此必须彻底进行测试。
Windows Installer:这种方式也运行代码来执行安装,但所运行的代码大部分是结构化的声明代码。只有自定义操作的命令性代码是任意的,因此,除了规则中的可量化变化之外(这些规则会影响针对数据库运行的代码以及自定义操作中的任意代码的处理),有望获得更好(不过仍不完美)的兼容性,需要的测试也会更少。
Microsoft App-V:这种方法根本不必运行代码。它只是在一个作为虚拟文件系统的数据 Blob 上进行复制,然后说“好的,您的虚拟文件系统在这里。”这样,您主要关注的问题不是应用程序是否会安装(复制一个数据 Blob 毕竟真的很容易),而是应用程序的运行时兼容性。因此,在所有三种技术中,这种方式的安装测试是最短的。那真是太好了!
因此,尽管没有官方说法表示程序包会全部正常运行,但这种信息流传开来的主要原因似乎是,很多人都将安装问题与运行时问题混为一谈。一般而言,如果投资于 Microsoft App-V,就有望大大降低应用程序安装测试的预计成本。