Product Documentation

Microsoft Application Virtualization

Oct 12, 2015

利用 Microsoft Application Virtualization (App-V),您可以将应用程序作为服务进行部署、更新及提供支持。这些应用程序无需安装在用户设备上即可供访问。无论用户在线还是脱机,应用程序和用户设置都会保留。

此版本支持 App-V 5.0。

App-V 5.0 Client 不支持脱机访问应用程序。

不再支持 App-V 4.6 2 Client。

借助 App-V 和 Microsoft User State Virtualization (USV),用户无论身处何处,是否连接 Internet,均可对应用程序和数据进行访问。

App-V 集成支持包括针对应用程序使用 SMB 共享;不支持 HTTP 协议。

Microsoft App-V 组件

有关系统要求的信息,请参阅 App-V 5.0 支持的配置

通过 App-V,各个应用程序从本地安装的产品转变为集中管理的服务。无需对操作系统设置进行任何预先配置或更改,即可无缝使用应用程序。App-V 包含下列组件:
  • 管理服务器 — 提供一个中央控制台,用于管理 App-V 5.0 基础结构,并将虚拟应用程序同时交付给 App-V 桌面客户端和远程桌面服务客户端。App-V 管理服务器将进行身份验证、发出请求并提供管理员所需的安全性、计量、监视及数据收集功能。服务器使用 Active Directory 和支持工具来管理用户和应用程序。
  • 发布服务器 — 为特定用户提供 App-V Client 和应用程序,并托管虚拟应用程序包以进行流技术推送。它从管理服务器提取应用程序包。
  • Client — 检索虚拟应用程序、在客户端发布应用程序,并在运行时自动设置和管理 Windows 设备上的虚拟环境。App‑V Client 安装在 VDA 上,且存储特定于用户的虚拟应用程序设置,例如,各个用户配置文件中的注册表和文件更改。

Studio 组件

您可在 Studio 中使用以下组件向用户提供 App-V 应用程序:

  • Studio App-V 发布 — 配置对 App-V 发布和管理服务器的访问,以便 Studio 可以发现和使用 App-V 应用程序。
  • 计算机目录 — 应用程序所在的物理机和虚拟机的集合。计算机及其资源通过交付组分配给用户。计算机目录创建过程中,必须在主映像上安装 App-V Client,并通过 ShareContentStoreMode 和 EnablePackageScripts 等设置进行配置。
    注意:不需要在主映像中配置 App-V 发布服务器,因为已在应用程序启动过程中配置。
  • 交付组 — 为特定用户组(如部门或团队)提供应用程序访问权。
  • 应用程序 — 应用程序通过分配给交付组来交付给用户。

管理 App-V 应用程序交付

通过 App-V,可以将应用程序从虚拟应用程序服务器部署到任何用户设备。

此版本支持 App-V 5。

要交付这些类型的应用程序,必须执行以下操作:

  1. 部署 App-V,按照 Microsoft TechNet 库 http://technet.microsoft.com/en-us/virtualization/hh710199 中的说明进行。
  2. 在 App-V 管理服务器上发布 App-V 应用程序。配置权限和文件类型关联等设置。如果已部署 App-V,这些设置均已预先存在。
  3. 在 VDA 上安装 App-V Client。
  4. 在 Studio 计算机目录的主映像中安装 App-V Client。
    注意:计算机目录创建过程中,必须在主映像上安装 App-V Client,并通过 ShareContentStoreMode 和 EnablePackageScripts 等设置进行配置。不需要在主映像中配置 App-V 发布服务器,因为已在应用程序启动过程中配置。
  5. 在 Studio 中进行站点配置期间,添加 App-V 发布和管理服务器地址。该站点中的交付组会自动获取这些服务器。
  6. 使用 Studio 连接至 App-V 服务器,如 Microsoft Application Virtualization 中所述。
  7. 使用 Studio 通过应用程序交付组提供 App-V 应用程序,如创建交付组应用程序中所述。
  8. 应用程序现可通过 Citrix Receiver 启动,且可通过 StoreFront 访问。

下图说明了用于交付 App-V 应用程序的流程



App-V 5 发布服务器设置

要更改 VDA 上的发布服务器设置,Citrix 建议在 Controller 上使用 SDK cmdlet。

要查看发布服务器设置,请输入以下命令:

Get-CtxAppvServerSetting -AppVPublishingServer 

以下 cmdlet 将更改 Delivery Controller 上发布服务器的设置。并非所有参数都具有强制性。

Set-CtxAppvServerSetting –AppVPublishingServer  -UserRefreshOnLogon  -UserRefrehEnabled  -UserRefreshInterval  -UserRefreshIntervalUnit  -GlobalRefreshOnLogon  -GlobalRefresfEnabled -GlobalRrefreshInterval  -GlobalRefreshIntervalUnit 

要确保 App-V 5 应用程序正确启动,请在 PowerShell 中输入以下 SDK cmdlet:

Set-CtxAppvServerSetting –UserRefreshonLogon 0
注意:如果您以前曾使用 GPO 策略设置管理发布服务器设置,GPO 设置会覆盖任何 App-V 集成设置,包括以前的 cmdlet 设置。这可能会导致 App-V 应用程序启动失败。Citrix 建议您删除所有 GPO 策略设置并使用 SDK 配置相同的设置,如 SDK cmdlet 文档中所述。

App-V 用例

可以按照以下用例所述启动 App-V 应用程序(从服务器操作系统和桌面操作系统交付组):

  • 通过 Citrix Receiver
  • 从“开始”菜单
  • 通过 App-V Client 和 Citrix Receiver
  • 同时由多个用户在多台设备上启动
  • 通过 Citrix StoreFront

请注意以下问题:

  • 应用程序启动时,会实现修改的 App-V 应用程序属性。例如,对于修改过显示名称或具有自定义图标的应用程序,用户启动应用程序时会显示修改内容。
  • 桌面和应用程序交付组转换为应用程序交付组时,App-V 应用程序的性能不会改变。
  • 仅支持基于 App-V 服务器的部署,在此部署中,管理员使用 App-V 管理服务器和发布服务器来管理 App-V 应用程序。

配置 App-V 资源

  1. 在 Studio 的“配置”节点中,选择 App-V 发布
  2. 选择添加 App-V 发布
  3. App-V 设置对话框中,输入以下服务器的 URL:
    • App-V 管理服务器
    • App-V 发布服务器
  4. 选择测试连接以确保您可以访问服务器,然后单击保存

管理 App-V 组件

您可以添加或更改 App-V 服务器、刷新应用程序显示,或删除应用程序。

  1. 在“配置”节点中,选择 App-V 发布
  2. 您可以执行以下操作:
    • 编辑 App-V 发布设置 — 添加或更改 App-V 管理和 App-V 发布服务器。
    • 删除 App-V 发布设置 — 删除 App-V 管理和 App-V 发布服务器。
    • 刷新 App-V 应用程序 — 刷新 App-V 应用程序显示。如果应用程序不再可用,或者连接到服务器时出现问题,会在显示中加以指示。

App-V 应用程序可用后,如创建交付组应用程序中所述为用户分配应用程序。

App-V 故障排除

Studio 故障排除

测试连接操作失败

如果您在 Studio 中指定 App-V 管理服务器和发布服务器地址时,测试连接操作失败,请检查以下各项:
  1. App-V 服务器已启动:发送 Ping 命令或检查 IIS 管理器(每个 App-V 服务器均应该处于“已启动”或“正在运行”状态)。
  2. 在 App-V 服务器上启用 PowerShell 远程处理。如果未启用,请按照 http://technet.microsoft.com/en-us/magazine/ff700227.aspx 中的过程操作。
  3. 将 App-V 服务器添加到 Active Directory。

    如果 Studio 计算机与 App-V 服务器位于不存在信任关系的不同 Active Directory 域中,请从 Studio 计算机上的 PowerShell 控制台运行 winrm s winrm/Config/client ‘@{TrustedHosts=”<App-V server FQDN>”}’。如果 TrustedHosts 由 GPO 管理,将显示以下错误消息:“无法更改配置设置 TrustedHosts,因为使用受策略控制。策略需要设置为“未配置”才能更改配置设置”。如果显示此消息,请在 GPO 中向 TrustedHosts 策略添加 App-V 服务器名称条目(“管理模板”>“Windows 组件”>“Windows 远程管理(WinRM)”>“WinRM 客户端”)。

  4. Studio 管理员也是 App-V 服务器管理员。
  5. 在 App-V 服务器上启用文件共享:在 Windows 资源管理器中或在“运行”命令中输入 \\<App-V 服务器 FQDN>。
  6. App-V 服务器与 App-V 管理员具有相同的文件共享权限:在 App-V 服务器上,在“存储的用户名和密码”中添加 \\<App-V 服务器 FQDN> 条目,并指定在 App-V 服务器上具有管理员权限的用户的凭据。有关指南,请参阅 http://support.microsoft.com/kb/306541

App-V 应用程序检测失败

如果 App-V 应用程序检测失败,请检查以下各项:

  1. Studio 管理员是 App-V 管理服务器管理员。
  2. App-V 管理服务器正在运行。请通过以下方式检查此项:打开 IIS 管理器并确保该服务器处于“已启动”和“正在运行”状态。
  3. 在 App-V 管理服务器和发布服务器上启用 PowerShell 远程控制。如果均未启用,请按照 http://technet.microsoft.com/en-us/magazine/ff700227.aspx 中的过程启用服务器。
  4. 软件包具有相应的安全权限,以便 Studio 管理员也具有权限。

排除 App-V 启动故障

如果 App-V 应用程序无法启动,请检查以下各项:

  1. 发布服务器正在运行。请通过以下方式检查此项:打开 IIS 管理器并确保该服务器处于“已启动”和“正在运行”状态。
  2. App-V 软件包具有相应的安全权限,以便用户也具有权限。
  3. 检查 VDA 上的以下各项:
    • 确保 Temp 指向正确的位置,并且 Temp 目录中具有足够的可用空间。
    • 确保已安装 App-V 客户端,并且版本不低于 5.0。
    • 确保您具有管理员权限,运行 Get-AppvClientConfiguration 并确保将 EnablePackageScripts 设置为 1。如果未设置为 1,请运行 Set-AppvClientConfiguration -EnablePackageScripts $true

      Citrix 建议您在创建主映像时执行此步骤,以便基于主映像创建的所有 VDA 具有正确的配置。

    • 访问注册表编辑器 (regedit) 并转至 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Citrix\AppV。确保 AppVServers 注册表项的值为以下格式:AppVManagementServer+metadata;PublishingServer。例如:
      http://xmas-demo-appv.blrstrm.com+0+0+0+1+1+1+0+1; http://xmas-demo-appv.blrstrm.com:8082
    • 确保 CtxAppVCOMAdmin 具有管理员权限。CtxAppVCOMAdmin 通常在 VDA 安装过程中创建并添加到 VDA 计算机上的本地管理员组。但是,根据 Active Directory 策略,此用户可能会丢失管理关联。

      运行 compmgmt.msc 并浏览到本地用户和组 > 用户。如果 CtxAppVCOMAdmin 不是管理员,请微调组策略或与管理员联系,以使此用户帐户保留其管理关联。

  4. 在安装了 App-V 客户端的主映像上,管理员必须将 PowerShell ExecutionPolicy 设置为 RemoteSigned。由于 Microsoft 提供的 App-V 客户端模块未签名,而此设置允许 PowerShell 运行未签名的本地脚本和 cmdlet,因此需要采用此设置。使用以下方法之一设置 ExecutionPolicy:
    • 以管理员身份登录,运行 PowerShell 命令 Set-ExecutionPolicy RemoteSigned
    • 在“组策略”设置中,转至“计算机配置”>“策略”>“管理模板”>“Windows 组件”>“Windows PowerShell”>“打开脚本执行”。
  5. 检查发布服务器:
    • 运行 Get-AppvPublishingServer * 以显示发布服务器的列表。
    • 检查 UserRefreshonLogon 是否设置为 False。如果未设置为 False,第一个 App-V 应用程序通常无法启动。
    • 在具有管理员权限的情况下,运行 Set-AppvPublishingServer 并将 UserRefreshonLogon 设置为 False。
    注意:自 XenDesktop 7.1 或 XenApp 7.5 开始,可以使用 SDK cmdlet 查看和设置 UserRefreshOnLogon(及其他发布服务器参数)。

如果这些步骤无法解决问题,管理员应启用并检查日志。

升级 App-V 软件包之后

如果升级其中包含通过 Studio 发布的应用程序的 App-V 软件包,请删除旧应用程序,此操作可将其从应用程序交付组删除。然后,发现新应用程序并将其添加到交付组。例如,如果通过 Office 2010 App-V 软件包发布了 Word 2010 和 Excel 2010,然后要将此软件包升级到 Office 2013,请删除 Word 2010 和 Excel 2010,然后再发现并添加 Word 2013 和 Excel 2013。

启用日志

在 Studio 和 VDA 上启用日志可帮助对 App-V 进行故障排除。

启用 Studio 日志

  1. 创建文件夹 C:\CtxAppvLogs
  2. 转至 C:\ProgramFiles\Citrix\ StudioAppVIntegration\SnapIn\Citrix.Appv.Admin.V1,然后以管理员身份在文本编辑器(例如记事本)中打开 CtxAppvCommon.dll.config。 注释掉以下行:
        

    日志位于该位置。

启用 VDA 日志

  1. 创建文件夹 C:\CtxAppvLogs。
  2. 转至 C:\ProgramFiles\Citrix\ Virtual Desktop Agent,然后以管理员身份在文本编辑器(例如记事本)中打开 CtxAppvCommon.dll.config。
  3. 注释掉 CtxAppvCommon.dll.config 中的以下行:
         
  4. 注释掉以下行并将值字段设置为 1,如下例中所示:
        
    • 与日志相关的所有配置都位于 C:\CtxAppvLogs 中。
    • 可以获取如下所示的应用程序启动日志:
      • XenDesktop 7.1、XenDesktop 7.5 或 XenApp 7.5 — %LOCALAPPDATA%\Citrix\CtxAppvLogs。
      • XenDesktop 7.0 — %LocalAppData%\temp\CtxAppVLogs
    • LOCALAPPDATA 解析为已登录用户的本地文件夹。确保签入启动用户(应用程序启动失败的用户)的本地文件夹:
      • 自 XenDesktop 7.1 或 XenApp 7.5 开始 — %LocalAppData%\Citrix\CtxAppVLogs\。
      • XenDesktop 7.0 — %LocalAppData%\temp\CtxAppVLogs\
  5. 以管理员身份重新启动 Broker Service 或重新启动 VDA 计算机以启动日志记录。