我们已成功向我们的客户端 PC 提供托管在 Windows Server 2016 上的 Windows RemoteApp。
应用程序运行良好,打印重定向到客户端连接的打印机。非常好。
但是我们的 RemoteApp 允许用户从 RemoteApp 中打开 .pdf 和 .docx 文件。目前,RemoteApp 似乎尝试在远程服务器上打开这些文件。但是,我们不想在远程计算机上安装这些应用程序(PDF 阅读器、MS Office 等)。因此,目前无法打开这些文件。
什么机制可以让 RemoteApp 告诉客户端机器使用本地安装的客户端软件打开该文件?
答案1
RemoteApp 没有现成的解决方案。部分解决方案可通过 Citrix 获得。您需要使用第三方产品插件,如远程文件传输。
如果你是开发人员,那么可以这样做:创建一个在服务器上运行的程序,当用户双击文档文件(PDF、Excel、Word)时,该程序将通过虚拟通道将文件传输到客户端(本地)机器,然后向本地机器发送命令,使用本地机器上的默认关联程序打开该文件。
答案2
我们采用的解决方法:摘要:有一个本地应用程序等待文件到达本地文件夹,然后打开该文件。Remoteapp 通过内置的 \\tsclient UNC 映射将文件发送到该本地文件夹
细节:
- 在每个本地桌面上安装一个文件夹监视应用程序。我们对 DevEnterprises Software 的 Directory Monitory 免费版本非常满意,但还有很多其他版本。
- 确保本地 C: 驱动器可供 Remoteapp 使用。在远程桌面 .rdp 文件中,我们有以下行:驱动器存储直接:s:C:\;
- 每个桌面的 c: 驱动器上都有相同的文件夹。例如c:\fromremote
- 在远程应用程序中,我们希望在本地打开的文件被发送到路径\\tsclient\c\fromremote。例如,如果 Word 是远程应用程序,则让其将文档保存到\\tsclient\c\fromremote\test.pdf
- 配置目录监视器以监视文件何时到达文件夹c:\fromremote
- 在本地计算机上创建一个批处理文件,当该文件到达监视文件夹时执行某些操作(并让 Directory Monitor 执行该批处理文件)。或者,如果操作简单,请将 Directory Monitor 设置为执行:开始 使用参数:%完整文件%。START 是 Windows 内置的打开任何内容的命令,%fullfile% 是到达您监视的文件夹的文件的变量。因此,如果 test.pdf 到达文件夹 c:\fromremote,Directory Monitor 将运行:启动 c:\fromremote\test.pdf这将打开 Acrobat 以在本地桌面上查看该文件