Click or drag to resize

Installing Help Viewer Content

Nimbus generates all of the necessary code in the setup project to properly install the driver help content in the Microsoft Help Viewer that is used for integrated Visual Studio help. The amount of time needed to install the Help Viewer content can vary a great deal depending upon the amount and nature of driver help content, the speed of the end user machine, and the amount of help content already present in the end user machine's help library store.

To deal with the potential need to support longer help viewer installation times, Nimbus defines a special property in the Internal\Common.wxs file in the setup project. The property appears as follows:

<Property Id="HELPVIEWER_TIMEOUT" Value="60000" Secure="yes" />

This defines the HELPVIEWER_TIMEOUT property (in milliseconds) with a default value of 60000 milliseconds (or 1 minute). The code just below this Property element passes this value to the custom action that performs the help content installation (and uninstallation):

<CustomAction Id="CA_REGISTER_HELP3" BinaryKey="IviDriverActions" DllEntry="InstallHelp3Content" Execute="deferred" Impersonate="no"/>
<CustomAction Id="CA_REGISTER_HELP3.SetCustomActionData" Property="CA_REGISTER_HELP3" Value="HV_TIMEOUT=[HELPVIEWER_TIMEOUT];HELP_SOURCE_MEDIA_PATH=[Ivi$(var.Bitness)DriverFolder]$(var.Help3OutputFileBaseName).msha"/>

<CustomAction Id="CA_UNREGISTER_HELP3" BinaryKey="IviDriverActions" DllEntry="UninstallHelp3Content" Execute="deferred" Impersonate="no"/>
<CustomAction Id="CA_UNREGISTER_HELP3.SetCustomActionData" Property="CA_UNREGISTER_HELP3" Value="HV_TIMEOUT=[HELPVIEWER_TIMEOUT];HELP_SOURCE_MEDIA_PATH=[Ivi$(var.Bitness)DriverFolder]$(var.Help3OutputFileBaseName).msha"/>

If your driver is large and/or includes a large amount of help content, then you may want to increase the value of the Property element to one more suitable for your particular driver.

However, it is important to keep in mind that end-user machine conditions will actually determine the required timeout value, so it is possible that the timeout value selected at build time may still be inadequate for some users. In such cases, the HELPVIEWER_TIMEOUT property may be directly supplied at installation time by running msiexec from the command line. The following command installs the driver from the command line and specifies a timeout value of 90000 milliseconds for the HELPVIEWER_TIMEOUT property:

msiexec /i Acme4301.msi HELPVIEWER_TIMEOUT=90000

Download a complete CHM version of this documentation here.