创建和管理 App-V 虚拟化应用程序

适用于:

  • Windows 10
  • Windows 11

正确部署 Microsoft Application Virtualization (App-V) sequencer 后,可以使用它来监视和记录要作为虚拟化应用程序运行的应用程序的安装和设置过程。

有关配置 App-V 排序器、序列化最佳做法以及创建和更新虚拟应用程序的示例的详细信息,请参阅 Microsoft Application Virtualization 5.0 序列化指南

注意

App-V Sequencer 无法对文件名与“CO_<x>”匹配的应用程序进行排序,其中 x 是任何数字。 将生成错误0x8007139F。

对应用程序进行排序

可以使用 App-V Sequencer 执行以下任务:

  • 创建可部署到运行 App-V 客户端的计算机的虚拟包。

  • 升级现有包。 可以将现有包扩展到运行排序器的计算机上,然后升级应用程序以创建较新版本。

  • 编辑与现有包关联的配置信息。 例如,可以添加快捷方式或修改文件类型关联。

    注意

    必须创建快捷方式并将其保存到可用的网络位置以允许漫游。 如果快捷方式已创建并保存在专用位置,则必须在本地将包发布到运行 App-V 客户端的计算机。

  • 转换现有虚拟包。

排序器使用 %TMP% \ Scratch%TEMP% \ Scratch 目录和 Temp 目录在排序期间存储临时文件。 在运行 sequencer 的计算机上,应为这些目录配置与估计的应用程序安装要求等效的可用磁盘空间。 在不同的硬盘驱动器分区上配置临时目录和 Temp 目录有助于在排序期间提高性能。

使用排序器创建新的虚拟应用程序时,将创建以下列出的文件。 这些文件由 App-V 包组成。

  • .msi 文件。 此 Windows Installer (.msi) 文件由排序器创建,用于在目标计算机上安装虚拟包。
  • Report.xml 文件。 在此文件中,排序器将保存排序期间发现的所有问题、警告和错误。 它在创建包后显示信息。 可以使用此报告进行诊断和故障排除。
  • .appv 文件。 此文件是虚拟应用程序文件。
  • 部署配置文件。 部署配置文件确定如何将虚拟应用程序部署到目标计算机。
  • 用户配置文件。 用户配置文件确定虚拟应用程序在目标计算机上的运行方式。

重要提示

必须将包转换器使用的 %TMP% 和 %TEMP% 文件夹配置为安全位置和目录。 只有管理员才能访问安全位置。 此外,在对包进行排序时,应将包保存到安全位置,或者确保在转换和监视过程中不允许其他用户登录。

sequencer 控制台中的“ 选项 ”对话框包含以下选项卡:

  • 常规。 使用此选项卡可使 Microsoft 汇报在排序期间运行。 选择“ 将包版本追加到文件名” 以配置序列,以将版本号添加到正在排序的虚拟化包。 选择“ 始终信任包加速器的源 ”,使用包加速器创建虚拟化包,而不会提示授权。

    重要提示

    App-V 不支持使用 App-V 4.6 创建的包加速器。

  • 分析项。 此选项卡显示将在虚拟环境中进行分析或标记化的关联文件路径位置。 令牌可用于使用“高级编辑”中的“包文件”选项卡添加文件。

  • 排除项。 使用此选项卡可以指定在排序期间不应监视的文件夹和目录。 若要添加保存在包的“本地应用数据”文件夹中的本地应用程序数据,请单击“ 新建 ”并指定位置和关联的 映射类型。 对于某些包,此选项是必需的。

App-V 支持包含 Microsoft Windows 服务的应用程序。 如果应用程序包含 Windows 服务,则只要在序列化程序监视时安装该服务,该服务就会包含在已排序的虚拟包中。 如果虚拟应用程序在最初运行时创建 Windows 服务,则在安装后,必须在排序程序监视要包含在包中的 Windows 服务时运行该应用程序。 仅支持在本地系统帐户下运行的服务。 在包中的第一个虚拟应用程序在包的虚拟环境中运行之前,将启动为 AutoStart 或 Delayed AutoStart 配置的服务。 当包中的虚拟应用程序通过 API 调用启动服务时,将启动配置为由应用程序按需启动的 Windows 服务。

App-V shell 扩展支持

App-V 支持 shell 扩展。 在排序期间,将检测到 Shell 扩展并将其嵌入到包中。

在排序过程中,Shell 扩展会自动嵌入到包中。 发布包时,shell 扩展为用户提供与本地安装应用程序相同的功能。

使用 shell 扩展的要求

  • 包含嵌入 shell 扩展的包必须全局发布。 应用程序无需在客户端上进行额外的设置或配置来启用 shell 扩展功能。
  • 应用程序、Sequencer 和 App-V 客户端的“位数”必须匹配,否则 shell 扩展将不起作用。 例如:
    • 应用程序的版本为 64 位。
    • Sequencer 在 64 位计算机上运行。
    • 包将传递到 64 位 App-V 客户端计算机。

下表列出了支持的 shell 扩展:

处理器 描述
上下文菜单处理程序 将菜单项添加到上下文菜单。 在显示上下文菜单之前调用它。
拖放处理程序 控制右键单击、拖放和修改出现的上下文菜单的操作。
删除目标处理程序 控制将数据对象拖放到文件等放置目标上之后的操作。
数据对象处理程序 控制将文件复制到剪贴板或拖放到放置目标上之后的操作。 它可以为放置目标提供更多剪贴板格式。
属性表处理程序 替换页面或向对象的属性表对话框添加页。
信息提示处理程序 允许检索项的标志和信息提示信息,并在鼠标悬停时将其显示在弹出工具提示中。
列处理程序 允许在 Windows 资源管理器详细信息视图中创建和显示自定义列。 它可用于扩展排序和分组。
预览处理程序 允许在 Windows 资源管理器预览窗格中显示文件的预览。

写入时复制 (CoW) 文件扩展名支持

在写入时复制 (CoW) 文件扩展名允许 App-V 在使用虚拟包时动态写入到包含在虚拟包中的特定位置。

以下列表显示了自 App-V 5.1 以来,VFS 目录下的虚拟包中可以存在的文件类型,但在运行 App-V 客户端的计算机上无法更新这些文件类型。 可以修改所有其他文件和目录。

  • .com
  • .exe
  • .dll
  • .ocx

修改现有虚拟应用程序包

可以使用 sequencer 修改现有包。 执行此修改的计算机应与用于创建应用程序的计算机的芯片体系结构匹配。 例如,如果最初使用运行 64 位操作系统的计算机对包进行排序,则应使用运行 64 位操作系统的计算机修改包。

有关详细信息,请参阅 如何修改现有虚拟应用程序包

创建项目模板

App-V 项目模板 (.appvt) 文件是可用于保存常见应用的自定义设置的项目模板。 然后,可以更轻松地将这些设置用于将来的排序。 App-V 项目模板不同于 App-V 应用程序加速器,因为 App-V 应用程序加速器特定于应用程序,并且 App-V 项目模板可以应用于多个应用程序。 此外,使用包加速器创建虚拟应用程序包时,不能使用项目模板。 以下常规设置随 App-V 项目模板一起保存:

模板可以指定和存储多个设置,如下所示:

  • 高级监视选项。 使 Microsoft 更新能够在监视期间运行。 保存允许本地交互选项设置
  • 常规选项。 允许使用 Windows Installer将包版本追加到文件名
  • 排除项。 包含排除模式列表。

从 Windows 10 版本 1703 开始,运行 new-appvsequencerpackageupdate-appvsequencepackage cmdlet 会自动捕获所有自定义项并将其存储为 App-V 项目模板。 如果以后要对此包进行更改,将从此模板文件自动加载自定义项。

重要提示

如果尝试通过 TemplateFilePath 参数加载另一个模板,而已具有自动保存的模板,则参数中的自定义值将替代自动保存的模板。

有关详细信息,请参阅 如何创建和使用项目模板

创建包加速器

注意

必须使用 App-V 重新创建使用早期版本的 App-V 创建的包加速器。

可以使用 App-V 包加速器自动生成新的虚拟应用程序包。 成功创建包加速器后,可以重用和共享包加速器。

在某些情况下,若要创建包加速器,可能需要在运行排序器的计算机上本地安装应用程序。 在这种情况下,应首先尝试使用安装媒体创建包加速器。 如果需要多个缺少的文件,则应将应用程序本地安装到运行排序器的计算机,然后创建包加速器。

成功创建包加速器后,可以重用和共享包加速器。 创建 App-V 包加速器是一项高级任务。 包加速器可以包含密码和特定于用户的信息。 因此,必须将包加速器和关联的安装媒体保存在安全位置,并且应在创建包加速器后对其进行数字签名,以便在应用 App-V 包加速器时可以验证发布者。

有关详细信息,请参阅以下文章:

Sequencer 错误报告

App-V Sequencer 可以在排序期间检测常见的排序问题。 排序向导末尾的 “安装报告 ”页显示分类为 “错误”、“ 警告”和 “信息 ”的诊断消息,具体取决于问题的严重性。

你还可以找到有关使用 Windows 事件查看器对错误进行排序的其他信息。