我有一个基于VSTO的PowerPoint加载项,可以在Office 2007和Office 2010上正常运行。我让用户每天都在运行这个加载项,日复一日。
我现在正在使用一台将Citrix用于桌面的新客户端。我从来没有真正理解Citrix的工作原理,但似乎没有人拥有本地安装的软件 - 他们只是在Citrix盒子上运行所有东西。这是一个非常封闭的环境。他们使用Office 2010以及看似Vista的东西。
无论如何,我的加载项在这种环境中表现出奇怪的行为。只需单击功能区上的某个按钮,就会出现错误(如果“显示插件用户界面错误”设置为“开”)。错误显示“调用回调时出错”ButtonClick“。
其他时候,单击该按钮似乎根本没有效果(虽然我怀疑它实际上已经开始做某事然后在显示任何消息之前突然出现)。
我很困惑,因为(a)它在别处工作,(b)我在所有按钮点击处理程序中捕获并报告异常,所以我希望看到报告错误。
由于环境已被锁定,并且需要花费数周的时间才能推出新版本的插件,我不知道如何诊断它。
有什么想法吗?
答案 0 :(得分:1)
您是否曾使用RDP远程访问另一台Windows机器?对于所有意图,您可以将Citrix视为RDP的更加优秀的版本。所以你有一堆用户运行他们的应用程序和桌面的服务器,他们使用HDX而不是RDP远程连接到它们。
您的客户可能正在使用XenApp或XenDesktop。在XenApp中,用户在Windows 2008 R2服务器上运行其会话,多个用户共享每个服务器。 XenDesktop类似,除了连接到服务器操作系统,用户连接到他们自己的专用工作站映像。猜测你的客户可能正在使用XenDesktop,因为你说他们在“Vista”上运行。
如果不访问Citrix环境,诊断问题将变得棘手。对于我的调试,我通常会在Citrix计算机上安装远程调试代理并从我的工作站远程调试。有时我会直接在Citrix计算机上安装Windbg或Visual Studio。如果您的客户愿意让您访问他们的环境,您可以试试这个。
其他选项包括:
至于实际可能出现的问题,Citrix会做一系列可能导致意外行为的挂钩。特别是对于XenApp,多显示器挂钩是导致出错的主要原因(我不确定这是否也适用于XenDesktop)。如果您在“Citrix禁用挂钩”上进行谷歌搜索,您将找到一系列链接,描述如何使用注册表禁用挂钩。以这种方式禁用挂钩肯定适用于XenApp。我对XenDesktop不太熟悉,所以我不知道是否适用相同的技术。我当然建议尝试禁用挂钩PowerPoint,看看你的问题是否消失。