Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .chm不在特定机器上工作_C#_.net_Chm - Fatal编程技术网

C# .chm不在特定机器上工作

C# .chm不在特定机器上工作,c#,.net,chm,C#,.net,Chm,我遇到过这样的情况:我构建了一个.net应用程序,它使用.chm文件作为集成帮助,当用户按F1键时,Help.ShowHelp被调用,如下例所示: Help.ShowHelp(ctrl, HelpNamespace, HelpNavigator.TopicId, GetTopicId(ctrl)); 在应用程序调试和发布模式下,这在我的机器上非常有用。但当我尝试在其他机器(Windows XP,等同于我的工作机器)上执行相同操作时,当用户按f1键时,不添加任何内容,帮助文件不会打开 我做了一些

我遇到过这样的情况:我构建了一个.net应用程序,它使用.chm文件作为集成帮助,当用户按F1键时,
Help.ShowHelp
被调用,如下例所示:

Help.ShowHelp(ctrl, HelpNamespace, HelpNavigator.TopicId, GetTopicId(ctrl));
在应用程序调试和发布模式下,这在我的机器上非常有用。但当我尝试在其他机器(Windows XP,等同于我的工作机器)上执行相同操作时,当用户按f1键时,不添加任何内容,帮助文件不会打开

我做了一些测试。我确信HelpNamespace(包含chm文件路径的字符串)是正确的,我尝试了一些更简单的方法:

Help.ShowHelp(ctrl, HelpNamespace);
这是一项工作,但不区分上下文。我无法理解在远程机器上附加了什么,以及第二个示例为什么起作用而第一个不起作用


有人知道问题出在哪里吗?

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

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

在我的机器上,我从命令行模拟了COMC,可能从
Help.ShowHelp

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

如果一切正常,此命令显示chm文件和选定的TopicId,此命令在远程计算机上不会产生任何结果,这就是说服我要求更新系统的原因

我解决了此问题。我的机器是Windows XP Service Pack 3,远程机器是没有SP的Windows XP。我要求系统管理员在我重新安装应用程序并且一切正常后更新机器

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

在我的机器上,我从命令行模拟了COMC,可能从
Help.ShowHelp

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

如果一切正常,此命令显示chm文件和选定的TopicId,此命令在远程计算机上不会产生任何结果,这就是说服我要求更新系统的原因

我不确定,但请尝试右键单击该文件,选择“属性”,确保安全性没有问题。@Anuraj谢谢,但文件没有问题,chm是可读的:(我注意到一些非常奇怪的事情:chm文件由hh.exe管理,它可以使用topicid调用chm,嗯……在我的机器上,hh.exe正在工作,在远程机器上(如果我没有控制权的话)hh.exe不工作,如果我尝试从控制台执行hh.exe,则在我的计算机上,hh.exe在我尝试从控制台运行它时会显示一个消息框。我不确定,但尝试右键单击该文件,选择“属性”,并确保没有安全问题。@Anuraj谢谢,但文件正常,chm是可读的:(我注意到一些非常奇怪的事情:chm文件由hh.exe管理,它可以使用topicid调用chm,嗯……在我的机器上,hh.exe正在工作,在远程机器上(如果我没有控制权的话)hh.exe不工作,如果我尝试从控制台执行hh.exe,则在我的计算机上,当我尝试从控制台运行它时,hh.exe会显示一个消息框。