vb.net Microsoft Help Viewer 可以作为独立的应用程序使用吗?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/22033502/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-17 16:54:25  来源:igfitidea点击:

Microsoft Help Viewer can be used as an independent Application?

c#.netvb.netvisual-studiohelp-viewer

提问by ElektroStudios

I have a machine with Windows 8where I've installed VS2013without Help viewer, and a VirtualMachinewith the same OSand the same VSbut with the Help Viewerpackage installed (Help Viewer v2.1).

我有一台装有Windows 8的机器,我在其中安装了VS2013而没有Help viewer,还有一台具有相同操作系统和相同VS但安装了Help Viewer包的VirtualMachine( )。Help Viewer v2.1

I've create that VMwith an unique purpose, I would like to be able to use Microsoft Help Viewer(or other alternative software, if exist) in my host OSwithout resinstalling VS2013in my OS.

我以独特的目的创建了该VM,我希望能够在我的主机操作系统中使用Microsoft Help Viewer(或其他替代软件,如果存在),而无需在我的操作系统中重新安装VS2013

...So in a very basic intent of reverse engineering to be able to use Microsoft Help viewerin my host OSI've just copied these folders from the VMto my PC:

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

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

And

C:\ProgramData\Microsoft\HelpLibrary2

And added these keys:

并添加了这些键:

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"

Notice the value:

注意值:

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

I don't know what reffers that CLSID but a search on the registry of the VM with the search pattern FE220E43-FE17-47BE-A57E-84D2B9A5635Ddoes not find anything (but the help viewer works properlly on the VM):

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

And I launch the Help Viewer (from commandline) with the same arguments as I get in the VM:

我使用与在 VM 中获得的参数相同的参数启动 Help Viewer(从命令行):

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

But when I press the Updatebutton in the Help Viewerto download a package, just does nothing (of nothing) any error is shown or something else, just anything, so I can't download documentation or know what error I'm having.

但是当我按下Help Viewer 中Update按钮来下载一个包时,什么也不做(什么都没有)显示任何错误或其他任何东西,只是任何东西,所以我无法下载文档或知道我遇到了什么错误。

Any idea to resolve this strange problem? maybe I need a missing component to copy on my host OS?

有什么想法可以解决这个奇怪的问题吗?也许我需要一个缺失的组件来复制到我的主机操作系统上

Microsoft Help Viewercan be just downloaded and installed as a standalone application?

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

Any alternative Software to replace Microsoft Help Viewer?

任何替代软件来取代Microsoft 帮助查看器

I've tried to use H3Viewerbut seems that it's only for VS2010, when I try to use the library manager the program says that I have not VS2010 Help installed.

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

UPDATE:

更新:

I've solved the issue by downloading the documentation on the VM and copying them into my OS, but anyways I would like to know a solution for this problem.

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

回答by Michael Stumpfl

I recently faced the same problem: I didn't want to install "Visual Studio 2015" just to be able to run the accompanying Help Viewer (v2.2) application.

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

It took a little bit of time, but in the end I managed to get it running by following these steps:

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

  • On a computer with VS2015 already installed, I used SysInternals Handle 4.0to determine which files are required by the HlpViewer.exe executable
  • I then ran Less MSIérables 1.40and used its l -t Fileargument to iterate over all MSI packages, which revealed that most of the required files can essentially be found in two packages: help3_vs_net.msiand vs_minshellcore.msi.
  • To install these manually, one needs to pass some additional command line arguments:
    msiexec.exe /i help3_vs_net.msi VS_SETUP=1
    msiexec.exe /i vs_minshellcore.msi MSIFASTINSTALL="7" VSEXTUI="1"
  • 在已安装 VS2015 的计算机上,我使用 SysInternals Handle 4.0来确定 HlpViewer.exe 可执行文件需要哪些文件
  • 然后我运行了Less MSIérables 1.40并使用它的l -t File参数迭代所有 MSI 包,这表明大多数所需的文件基本上可以在两个包中找到:help3_vs_net.msivs_minshellcore.msi
  • 要手动安装这些,需要传递一些额外的命令行参数:
    msiexec.exe /i help3_vs_net.msi VS_SETUP=1
    msiexec.exe /i vs_minshellcore.msi MSIFASTINSTALL="7" VSEXTUI="1"

Regrettably, after that some files are still missing ... to keep things simple, I copied the rest of them from the (aforementioned) working installation:

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

  • C:\ProgramData\Microsoft\HelpLibrary2
    Essentially only contains a CatalogType.xmland some empty directories.
  • C:\Program Files (x86)\Microsoft Help Viewer\v2.2\CatalogInfo\VS11_en-us.cab
  • C:\ProgramData\Microsoft\HelpLibrary2
    本质上只包含一个CatalogType.xml和一些空目录。
  • C:\Program Files (x86)\Microsoft Help Viewer\v2.2\CatalogInfo\VS11_en-us.cab

Moreover, it's necessary to provide the application with a valid ContentStorepath by importing the following .reg file:

此外,有必要通过导入以下 .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"

Finally, I created a new Application Shortcut and changed its Target:to read as follows:
"C:\Program Files (x86)\Microsoft Help Viewer\v2.2\HlpViewer.exe" /catalogName VisualStudio14 /launchingApp Microsoft,VisualStudio,14

最后,我创建了一个新的 Application Shortcut 并将其Target:更改为如下:
"C:\Program Files (x86)\Microsoft Help Viewer\v2.2\HlpViewer.exe" /catalogName VisualStudio14 /launchingApp Microsoft,VisualStudio,14

Et voilà, with that HlpViewer.exe finally executes without any problems!

等等,HlpViewer.exe 终于可以毫无问题地执行了!

回答by fedab

You ask multiple questions. I did not tried to reproduce so i can not answer your first question. But i can answer the title question:

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

Microsoft Help Viewer cannot be just downloaded. It is only shipped by Visual Studio and VS ISO Shell based products. So you cannot provide help content with Help Viewer for systems without Visual Studio... Kind of... useless :/

Microsoft 帮助查看器不能只下载。它仅由基于 Visual Studio 和 VS ISO Shell 的产品提供。所以你不能为没有 Visual Studio 的系统提供帮助查看器的帮助内容......有点......没用:/

But on Windows 8 there is something similar so you can use some features of Help Viewer.

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

Source here.

来源在这里



Alternative Software: If you mean open the help files, I only know H3Viewer and some example projects where you can open files: Help Viewer 2 Examples.

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

If you mean "take other help formats": the good old HTML Help (chm), MS Help (h2x) and a simple Website are some formats you can use.

如果您的意思是“采用其他帮助格式”:好的旧 HTML 帮助 (chm)、MS 帮助 (h2x) 和简单的网站是您可以使用的一些格式。

回答by neolei

I'm using VS2013, I solved this problem with this line saved as vshelp.bat file:

我正在使用 VS2013,我通过保存为 vshelp.bat 文件的这一行解决了这个问题:

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