Microsoft Help Viewer可以用作独立的应用程序吗?

时间:2014-02-26 06:27:01

标签: c# .net vb.net visual-studio help-viewer

我有一台 Windows 8 的计算机,我已安装 VS2013 ,没有帮助查看器,还有 VirtualMachine < / em>使用相同的操作系统和相同的 VS ,但安装了帮助查看器包(Help Viewer v2.1)。

我已经创建了具有独特用途的 VM ,我希望能够使用 Microsoft Help Viewer (或其他替代软件,如果存在)在我的主机 OS 中,而不在我的操作系统中 VS2013 EM>

...因此,为了能够在我的主机操作系统中使用 Microsoft帮助查看器而进行逆向工程的非常基本的意图我刚刚复制了这些文件夹从 VM 到我的 PC

C:\Program Files (x86)\Microsoft Help Viewer

C:\ProgramData\Microsoft\HelpLibrary2

并添加了这些键:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Help]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Help\v2.1]
"AppRoot"="C:\\Program Files (x86)\\Microsoft Help Viewer\\v2.1\\"
"DefaultHelpViewerCLSID"="{FE220E43-FE17-47BE-A57E-84D2B9A5635D}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Help\v2.1\Catalogs]
"ContentStore"="C:\\ProgramData\\Microsoft\\HelpLibrary2\\Catalogs\\"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Help\v2.1\Catalogs\VisualStudio12]
"LocationPath"="%ProgramData%\\Microsoft\\HelpLibrary2\\Catalogs\\VisualStudio12\\"
"LastUpdated"="02/26/2014 06:34:55"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Help\v2.1\Catalogs\VisualStudio12\en-US]
"SeedFilePath"="C:\\Program Files (x86)\\Microsoft Help Viewer\\v2.1\\CatalogInfo\\VS11_en-us.cab"
"catalogName"="Visual Studio Documentation"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Help\v2.1\Setup]
"AppRoot"="C:\\Program Files (x86)\\Microsoft Help Viewer\\v2.1\\"
"Install"=dword:00000001
"Version"="2.1.21005"

注意值:

"DefaultHelpViewerCLSID"="{FE220E43-FE17-47BE-A57E-84D2B9A5635D}"

我不知道是什么引用了CLSID,但搜索模式FE220E43-FE17-47BE-A57E-84D2B9A5635D的VM注册表找不到任何内容(但帮助查看器在VM上正常工作):

我启动帮助查看器(来自命令行),其参数与我在VM中的参数相同:

HlpViewer.exe /CatalogName VisualStudio12 /Locale en-US /Sku 3000 /LaunchingApp Microsoft,VisualStudio,12.0 /Manage

但是,当我按下帮助查看器中的Update按钮下载软件包时,只会显示任何错误(或者没有任何内容),或者显示任何其他错误,只有任何内容,所以我无法下载文档或知道我遇到了什么错误。

有什么想法解决这个奇怪的问题吗?也许我需要一个缺少的组件来复制我的主机 OS

Microsoft Help Viewer 可以作为独立应用程序下载和安装吗?

替换 Microsoft帮助查看器的任何替代软件?

我尝试使用H3Viewer,但似乎只适用于VS2010,当我尝试使用库管理器时程序说我没有安装VS2010帮助。

  

更新:

我已经通过下载VM上的文档并将其复制到我的操作系统来解决了这个问题,但无论如何我想知道这个问题的解决方案。

3 个答案:

答案 0 :(得分:11)

我最近遇到了同样的问题:我不想安装“Visual Studio 2015”只是为了能够运行随附的Help Viewer(v2.2)应用程序。

花了一点时间,但最后我设法通过以下步骤让它运行:

  • 在已安装VS2015的计算机上,我使用SysInternals Handle 4.0来确定HlpViewer.exe可执行文件所需的文件
  • 然后我运行Less MSIérables 1.40并使用其l -t File参数迭代所有MSI包,这表明大多数必需的文件基本上可以在两个包中找到: help3_vs_net.msi < / strong>和 vs_minshellcore.msi
  • 要手动安装这些,需要传递一些额外的命令行参数:
    msiexec.exe /i help3_vs_net.msi VS_SETUP=1
    msiexec.exe /i vs_minshellcore.msi MSIFASTINSTALL="7" VSEXTUI="1"

令人遗憾的是,之后一些文件仍然缺失......为了简单起见,我从上述工作安装中复制了其余文件:

  • C:\ ProgramData \微软\ HelpLibrary2
    基本上只包含 CatalogType.xml 和一些空目录。
  • C:\ Program Files(x86)\ Microsoft Help Viewer \ v2.2 \ CatalogInfo \ VS11_en-us.cab

此外,有必要通过导入以下.reg文件为应用程序提供有效的 ContentStore 路径:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Help\v2.2\Catalogs\VisualStudio14]
"LocationPath"="%ProgramData%\\Microsoft\\HelpLibrary2\\Catalogs\\VisualStudio14\\"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Help\v2.2\Catalogs\VisualStudio14\en-US]
"SeedFilePath"="C:\\Program Files (x86)\\Microsoft Help Viewer\\v2.2\\CatalogInfo\\VS11_en-us.cab"
"catalogName"="Visual Studio Documentation"

最后,我创建了一个新的应用程序快捷方式,并将其目标:更改为如下所示:
"C:\Program Files (x86)\Microsoft Help Viewer\v2.2\HlpViewer.exe" /catalogName VisualStudio14 /launchingApp Microsoft,VisualStudio,14

Etvoilà,HlpViewer.exe最终执行没有任何问题!

答案 1 :(得分:2)

你问多个问题。我没有尝试重现,所以我无法回答你的第一个问题。但我可以回答标题问题:

无法下载Microsoft Help Viewer。它仅由Visual Studio和基于VS ISO Shell的产品提供。因此,对于没有Visual Studio的系统,您无法使用Help Viewer提供帮助内容......有点......无用:/

但是在Windows 8上有类似的东西,所以你可以使用帮助查看器的一些功能。

来源here


替代软件:如果您打算打开帮助文件,我只知道H3Viewer和一些可以打开文件的示例项目:Help Viewer 2 Examples

如果您的意思是&#34;采取其他帮助格式&#34;:良好的旧HTML帮助(chm),MS Help(h2x)和简单的网站是您可以使用的一些格式。

答案 2 :(得分:0)

我使用的是VS2013,我用这行保存为vshelp.bat文件解决了这个问题:

start "" "C:\Program Files (x86)\Microsoft Help Viewer\v2.1\HlpViewer.exe" /catalogName VisualStudio12 /locale en-us