Update: There is a Microsoft Connect bug logged for this here.
Update 2: “R0b0tz” has got the workaround for this on his blog. As always it pays to RTFM
It’s still definitely a bug though…
One big change in Visual Studio 2010 is Microsoft Help version 3. It’s all based on HTML, and when you install the help locally it does a smart trick and installs its own web server (MSHelpListener.exe), allowing the pages to be accessed via the url http://127.0.0.1:80/help.
The problem was the first time I ran the help after installing VS2010 I was getting the following crash…

If you check the Windows Application event logs you will see the following error:
The port is already in use please select a different port
For some reason, MSHelpListener is unable to bind to port 80 (even though I believe HTTP.sys does allow multiple applications to bind to the same port).
If you go to the command line and run
netsh http show urlacl
You can see that it has also reserved the following url, although it appears this does not help at all in guaranteeing access to the port…

I had a quick look in Resource Monitor and this is what I saw:

You can see Skype was listening on port 80.
It turns out the solution was as simple as quitting Skype!
After I quit Skype I was able to load up the help…
Once HelpListener.exe is running it is safe to start Skype up again. I have yet to work out why Skype is using port 80, or what circumstances cause one process to block another’s use of a port, given the fact HTTP.sys is supposed to let multiple process share the same port. If you know please leave a comment.
If you find yourself having problems getting the local help working after installing it using “Find content on disk”, the trick that worked for me is to switch to online help and then back to local help.


Overall, MS Help v3 looks very nice and works as we probably wished it always had! What is very cool is you can “Find” content either online, or from your installation media. Best of all it just works – getting content from the web is straight forward, and so is installing it from media. Either way the help files can be kept up-to-date easily using “Check for updates online”. Nice
#1 by tim on October 23, 2009 - 2:09 am
Quote
I believe that http.sys will only share port 80 between co-operating applications. An application can still grab port 80 for itself. I ran into the same problem with Apache and the easiest fix was to put Apache on a different port. See Charles’s post at
http://social.msdn.microsoft.com/Forums/en/setupprerelease/thread/1968c22e-a752-40bd-bbb4-155ae0b4706b
Personally I would not have had this distinction between on and offline help. I would always show offline help with a check for updates happening in the background (optionally just checking hashes and indicating when updated help is available).
Still I’d agree that it’s a great improvement on what came before.
#2 by r4ds on January 26, 2010 - 12:55 pm
Quote
thank you for Information it is good for me
#3 by rxantos on March 4, 2010 - 3:48 am
Quote
Thank you. It makes you wonder why Microsoft didn’t put a check for this on the first place.
#4 by Alex on April 24, 2010 - 10:05 am
Quote
Thank you! It’s helped me.