Hyper-V与虚拟化

如何在 App-V 5.0 虚拟化环境中启动进程 - Windows Client

· 52CE 我爱测

本文介绍如何在 Microsoft Application Virtualization 5.0 客户端(App-V 5.0)虚拟化环境中启动进程。 适用于: Windows 7 Service Pack 1原始 KB 数: 2848278 总结 App-V 5.0 的常见故障排除任务是通过在 App-V 应用程序的上下文中打开进程来调查或修改本地包。 这也称为“在 App-V 气泡中打开进程”。 App-V 5.0 提供了多种替代方法来执行此任务,这些方

本文介绍如何在 Microsoft Application Virtualization 5.0 客户端(App-V 5.0)虚拟化环境中启动进程。

适用于: Windows 7 Service Pack 1原始 KB 数: 2848278

总结

App-V 5.0 的常见故障排除任务是通过在 App-V 应用程序的上下文中打开进程来调查或修改本地包。 这也称为“在 App-V 气泡中打开进程”。 App-V 5.0 提供了多种替代方法来执行此任务,这些方法与以前版本的产品中提供的技术有很大不同。 下面详述的每个方法基本上都完成了相同的任务,但某些方法可能更适合某些应用程序,具体取决于虚拟化应用程序是否已运行。

PowerShell cmdlet:Get-AppvClientPackage

可以使用 Start-AppVVirtualProcess cmdlet 检索包名称,然后在指定的包的虚拟环境中启动进程(将包的名称替换为 <包>):

$AppVName = Get-AppvClientPackage <Package>
Start-AppvVirtualProcess -AppvClientObject $AppVName cmd.exe

如果不知道包的确切名称,则可以使用命令行Get-AppvClientPackage executable,将应用程序的名称替换为“可执行文件”;例如: Get-AppvClientPackage Word

此方法允许在 App-V 包的上下文中启动任何命令,无论包当前是否正在运行。 这类似于在 App-V 4.6 中使用 sfttray /exe cmd.exe /launch "App-V Application" 语法。

命令行开关“/appvpid:<PID>”

这样,就可以将 /appvpid 开关应用到任何命令,该命令可在由其 PID (进程 ID) 选择的虚拟进程(进程 ID)的虚拟进程中运行,如以下示例所示:

cmd.exe /appvpid:8108

若要获取 App-V 进程的进程 ID(PID),请使用提升的命令提示符tasklist.exe命令并获取进程的 PID。 此方法的优点是,在已运行的可执行文件所在的同一 App-V 环境中启动新可执行文件。

命令行挂钩开关“/appvve:<GUID>”

如果 /appvpid 交换机要求虚拟进程正在运行,此开关允许启动本地命令,并允许它在 App-V 包的虚拟环境中运行,并将初始化它。 语法为 cmd.exe /appvve: <PACKAGEGUID_VERSIONGUID>。

例如:

cmd.exe /appvve: aaaaaaaa-bbbb-cccc-dddd-eeeeeeee_11111111-2222-3333-4444-55555555

若要获取应用程序的包 GUID 和版本 GUID,请运行 Get-AppvClientPackage cmdlet,然后将包 GUID 和版本 GUID 与它们之间的下划线连接起来。 例如:

PS C:\> Get-AppvClientPackage

输出:

PackageId:aaaaaaaa-bbbb-cccc-dddd-eeeeeeee VersionId:11111111-2222-3333-4444-5555555555 名称:MyApp 1.10

输出将生成命令行: cmd.exe /appvve:aaaaaaaa-bbbb-cccc-dddd-eeeeeeee_11111111-2222-3333-4444-55555555

运行虚拟功能

如果在 RDS 环境中工作,并且具有全局发布的包,还可以利用“运行虚拟”功能。 为此,请将进程可执行文件名称添加为以下键的子项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual

例如,如果你有一个名为MyApp.exe的本地安装应用程序,并希望此应用程序在虚拟环境中运行,请创建一个名为MyApp.exe的子项。 编辑(默认值)REG_SZ值,该值包含包 GUID 和版本 GUID,用下划线分隔(例如 <GUID>_<GUID>)。

例如,上一示例中列出的应用程序将生成注册表导出(.reg文件),如下所示:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual]
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe]
@="aaaaaaaa-bbbb-cccc-dddd-eeeeeeee_11111111-2222-3333-4444-55555555"

需要在本地运行的每个本机进程都需要在其自己的子项下运行虚拟密钥。 只要系统上有一个版本的 EXE,在默认键值中放置 package\version GUID 组合就足够了。

还可以以类似的格式指定全局发布的连接组的 AppConnectionGroupID 和 VersionID。 在连接组中指定主可执行文件名称。 例如,如果连接组 XML 如下所示:

<?xml version="1.0" ?>
<appv:AppConnectionGroup xmlns="http://schemas.microsoft.com/appv/2010/virtualapplicationconnectiongroup" xmlns:appv="http://schemas.microsoft.com/appv/2010/virtualapplicationconnectiongroup" AppConnectionGroupId="CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCC" VersionId="33333333-3333-3333-3333-3333333333" Priority="0" DisplayName="MyApp Connection Group">

然后添加如下所示的注册表项:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual]
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe]
@="aaaaaaaa-bbbb-cccc-dddd-eeeeeeee_11111111-2222-3333-4444-555555555

资料来源与适用范围

资料来源
微软官方中文故障文档
适用范围
适用于: Windows 7 Service Pack 1原始 KB 数: 2848278
内容语言
中文;命令、路径和错误标识保留技术原文
本地收录日期
2026-10-26
授权说明
CC BY 4.0

正文与所需资源由本站本地存储。查看来源及更新记录 ↗

请按适用版本和实际日志确认原因;本站没有对每一种系统或设备逐项执行文中的操作。