2011-03-02 79 views
0

对我有这样的情况:我球泡使用.chm文件的集成的帮助,当用户按下F1 .NET应用程序,Help.ShowHelp在这个例子中调用,如:的.chm工作不特定机器

Help.ShowHelp(ctrl, HelpNamespace, HelpNavigator.TopicId, GetTopicId(ctrl)); 

这个工作就像我的机器上的应用程序调试和发布模式中的魅力。但是当我尝试在其他机器(Windows XP,等于我的工作机器)上做同样的事情时,当用户按f1时,什么都不会附加,帮助文件不会打开。

我已经做了一些测试。我敢肯定,HelpNamespace(含串CHM文件路径)是正确的,我已经尝试做一些更简单:

Help.ShowHelp(ctrl, HelpNamespace); 

这项工作,但不是上下文敏感的。我不能延长远程机器上附加的内容,以及为什么第二个示例工作,而不是第一个。

有没有人有任何想法可以解决问题的地方?

+0

我不确定,但尝试右键单击该文件,选择“属性”并确保安全性没有问题。 – Anuraj 2011-03-02 10:16:29

+0

@Anuraj谢谢,但文件是可以的,CHM是可读的:( – 2011-03-02 10:21:37

+0

我注意到一些很奇怪的东西:CHM文件由hh.exe管理,可以使用topicid调用CHM,呃...在我的机器上hh.exe正在工作,在远程机器上(我没有控制)hh.exe不工作,如果我尝试从控制台执行hh.exe,没有追加,在我的电脑上hh.exe当我尝试运行时向我显示一个消息框它从控制台。 – 2011-03-02 10:24:22

回答

3

我解决了这个问题。我的机器是Windows XP Service Pack 3,远程机器是没有SP的Windows XP。我要求系统管理员更新机器后,我已经做了新的安装我的应用程序,并一切工作正常。

前询问管理员更新机器(在所有情况下是一个很好的做法,我不知道为什么很多系统管理员不这样做!)我做这个测试:

我在命令行机器,我仿效大概从Help.ShowHelp叫COMAND:

hh.exe -mapid 2900 ms-its:C:\Programs\AppFolder\Help.chm 

如果所有的工作,选择TopicId,此命令,远程机器上的罚款此命令show CHM文件不生产任何东西,这是什么原因说服我要求更新系统