C# 如何获得c语言中的citrix客户端接收器版本号#

C# 如何获得c语言中的citrix客户端接收器版本号#,c#,asp.net,citrix,C#,Asp.net,Citrix,我正在XenApp服务器上运行一个c#.NET应用程序作为登录/注销脚本。该应用程序将在用户上下文中运行,我需要能够检索(客户端的)citrix接收器版本号以及客户端操作系统和机器名 我对Citrix API相当陌生,而且他们似乎没有很好的文档——有人知道如何做到这一点吗?我在XenApp服务器的windows注册表中找到了Citrix接收器版本号: HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\Ica\Session\{SESSION_NUMBER}\Connectio

我正在XenApp服务器上运行一个c#.NET应用程序作为登录/注销脚本。该应用程序将在用户上下文中运行,我需要能够检索(客户端的)citrix接收器版本号以及客户端操作系统和机器名


我对Citrix API相当陌生,而且他们似乎没有很好的文档——有人知道如何做到这一点吗?

我在XenApp服务器的windows注册表中找到了Citrix接收器版本号:

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\Ica\Session\{SESSION_NUMBER}\Connection
其中{SESSION_NUMBER}可在中找到

HKEY_USERS\{SID_NUMBER}\Software\Citrix\SessionSfr

作为该密钥中唯一的子密钥,{SID_NUMBER}是登录到XenApp会话的用户的SID。

如果有人感兴趣,我花了一个周末围绕Citrix CCM SDK编写了一个.NET包装器,并在GitHub上发布了代码:

该项目目前的目标是
.NET标准2.1
,因为我需要新的UTF-8封送功能,而这在旧版本中是不可用的。如果需要.NET Framework支持,只需将代码复制到.NET Framework 4.7+项目中,然后使用该版本即可


Citrix Workspace分离了Citrix接收器,我认为这里提到的注册表方法不适用于查找Citrix Workspace的客户端版本,但它仍然对我很有帮助,因为我们的许多客户端仍在使用旧的Citrix接收器。

可以确认它在2020年仍然有效。非常感谢。