Archive: Installing WinHelp msu on Vista with NSIS


Installing WinHelp msu on Vista with NSIS
My application uses the WinHelp help system. As many of you may be aware, WinHelp is not supported by Vista. I know that the proper solution to this is to update my help documents to a supported help system but unfortunately I don't have the time at this point.

I checked around the Microsoft website and found a WinHelp installer for Vista - an msu file. What I planned on doing was updating my NSIS install script to call this msu file and silently install WinHelp during my application's installation. Here's my code:

ExecWait "wusa.exe $EXEDIR\winhelp.msu /quiet /norestart"


When I try to execute this on a Vista box, I don't get any errors. But when I check to see if the patch installed correctly in Control Panel --> Programs, I see that it didn't install. When I try to launch the help documentation from my application, it doesn't launch.

I can manually install WinHelp on the machine and it works fine, it's just that I was hoping to silently install WinHelp so the user isn't bothered with installing it. Any ideas?

Also, if any of you can suggest a good help format and an application for creating help files in that format I would be thankful.

Make sure you put quotes around the path:
ExecWait 'wusa.exe "$EXEDIR\winhelp.msu" /quiet /norestart'

Stu


Thanks for the reply. Unfortunately that didn't work Stu, although I did modify all of my code to include the quotes.

I did find this article which I think is the root of my problem...

http://support.microsoft.com/kb/929761

This problem occurs because Wusa.exe does not make the appropriate Windows Update Agent (WUA) API call that notifies the WUA that the package contains a custom software license agreement. Also, Wusa.exe does not notify the WUA that Windows Update can install the package without displaying the custom software license agreement.
Thanks for the help.