0

我有一个基于 VSTO 的 PowerPoint 加载项,可以在 Office 2007 和 Office 2010 上正常运行。我让用户每天都在运行这个加载项,日复一日。

我现在正在使用一个将 Citrix 用于其桌面的新客户端。我从来没有真正了解思杰的工作原理,但似乎没有人在本地安装软件——他们只是在思杰盒子上运行所有东西。这是一个非常封闭的环境。他们使用 Office 2010 和似乎是 Vista 的版本。

无论如何,我的加载项在这种环境中表现出奇怪的行为。只需单击功能区上的一个按钮有时会出现错误(如果“显示插件用户界面错误”设置为 ON)。错误显示“调用回调“ButtonClick”时发生错误。

其他时候,单击按钮似乎根本没有任何效果(尽管我怀疑它实际上开始做某事,然后在显示任何消息之前就崩溃了)。

我很困惑,因为(a)它在其他地方工作,并且(b)我在所有按钮单击处理程序中捕获并报告异常,所以我希望看到报告的错误。

因为环境被如此锁定,并且实际上需要数周才能推出我的加载项的新版本,所以我不知道如何诊断这一点。

有任何想法吗?

4

1 回答 1

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 disable hooks”上进行 Google 搜索,您将找到一系列链接,这些链接描述了如何使用注册表禁用 hooks。以这种方式禁用挂钩肯定适用于 XenApp。我对 XenDesktop 不太熟悉,所以我不知道是否适用相同的技术。我当然建议您尝试禁用 PowerPoint 挂钩,看看您的问题是否会消失。

于 2013-03-19T03:20:10.250 回答