Product Documentation

App-V

Feb 23, 2016

利用 Microsoft Application Virtualization (App-V),您可以将应用程序作为服务进行部署、更新及提供支持。 这些应用程序无需安装在用户设备上即可供访问。 借助 App-V 和 Microsoft User State Virtualization (USV),用户无论身处何处,是否连接 Internet,均可对应用程序和数据进行访问。

下表列出了支持的版本。 (不再支持 App-V 4.6 2 客户端。)

App-V

XenDesktop 和 XenApp 版本

 

Delivery Controller

VDA

5.0 和 5.0 SP1

XenDesktop 7 至当前版本
XenApp 7.5 至当前版本

7.0 至当前版本

5.0 SP2

XenDesktop 7 至当前版本
XenApp 7.5 至当前版本

7.1 至当前版本

5.0 SP3 和 5.1

XenDesktop 7.6 至当前版本
XenApp 7.6 至当前版本

7.6.300 至当前版本

受支持的 App-V 客户端不支持脱机访问应用程序。 App-V 集成支持包括针对应用程序使用 SMB 共享;不支持 HTTP 协议。

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

应用程序启动时,会实现修改的 App-V 应用程序属性。 例如,对于修改过显示名称或具有自定义图标的应用程序,用户启动应用程序时会显示修改内容。

将桌面和应用程序交付组更改为仅应用程序交付组时,App-V 应用程序的性能不会发生变化。

仅支持基于 App-V 服务器的部署,在此部署中,管理员使用 App-V 管理服务器和发布服务器来管理 App-V 应用程序。

配置 App-V

要交付 App-V 应用程序,请执行以下操作:
  1. 按照 http://technet.microsoft.com/en-us/virtualization/hh710199 中所述的说明部署 App-V。
  2. 在 App-V 管理服务器上发布 App-V 应用程序。 配置权限和文件类型关联等设置。 如果已部署 App-V,则这些设置均已存在。
  3. 也可以更改 App-V 发布服务器设置;请参阅下文。
  4. 在 VDA 上安装 App-V Client。
  5. 在 Studio 中创建站点期间,指定 App-V 发布服务器和管理服务器的 URL 和端口号。 这些服务器自动供交付组使用。
  6. 在计算机目录的主映像中安装 App-V Client。 使用 ShareContentStoreMode 和 EnablePackageScripts 等设置配置该客户端。 (不需要在主映像中配置 App-V 发布服务器,因为已在应用程序启动过程中配置。)
  7. 创建交付组期间,选择 App-V 应用程序。

这些应用程序现在可以使用。

可以在创建站点后指定或更改 App-V 服务器信息。 在 Studio 导航窗格中选择配置 > App-V Publishing(App-V 发布),然后在“操作”窗格中选择相应条目。 可以通过为 App-V 管理服务器和发布服务器指定 URL 和端口号来添加 App-V 发布。 也可以编辑或删除这些地址。 如果刷新 App-V 应用程序,显示内容将指示服务器连接是否存在问题,并且将不再可用的应用程序条目删除。

App-V 发布服务器设置

要更改发布服务器设置,Citrix 建议在 Controller 上使用 SDK cmdlet。
  • 要查看发布服务器设置,请输入 Get-CtxAppvServerSetting -AppVPublishingServer
  • 要确保 App-V 应用程序正常启动,请输入 Set-CtxAppvServerSetting –UserRefreshonLogon 0

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

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

故障排除

  • 如果您在 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 服务器 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
  • 如果应用程序发现失败,请检查以下各项:
    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 应用程序未启动,请检查以下各项:
    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 Client 的主映像上,应将 PowerShell ExecutionPolicy 设置为 RemoteSigned,因为 Microsoft 提供的 App-V Client 模块未签名,并且此 ExecutionPolicy 允许 PowerShell 运行未签名的本地脚本和 cmdlet。 使用以下方法之一设置 ExecutionPolicy:
      • 以管理员身份登录并输入以下 PowerShell cmdlet:Set-ExecutionPolicy RemoteSigned
      • 在“组策略”设置中,转至“计算机配置”>“策略”>“管理模板”>“Windows 组件”>“Windows PowerShell”>“打开脚本执行”。
    5. 检查发布服务器:
      • 运行 Get-AppvPublishingServer * 以显示发布服务器的列表。
      • 检查 UserRefreshonLogon 是否设置为 False。 如果不是,则第一个 App-V 应用程序通常无法启动。
      • 在具有管理员权限的情况下,运行 Set-AppvPublishingServer 并将 UserRefreshonLogon 设置为 False。

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

启用日志

要启用 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. 注释掉以下行并将值字段设置为 1,如下例中所示:

    与配置相关的所有日志均位于 C:\CtxAppvLogs 中。 应用程序启动日志的位置:
    • XenDesktop 7.1 和更高版本以及 XenApp 7.5 和更高版本 — %LOCALAPPDATA%\Citrix\CtxAppvLogs。
    • XenDesktop 7.0 — %LocalAppData%\temp\CtxAppVLogs

    LOCALAPPDATA 解析为已登录用户的本地文件夹。 确保签入启动用户(应用程序启动失败的用户)的本地文件夹。

  4. 以管理员身份重新启动 Broker Service 或重新启动 VDA 计算机以启动日志记录。