cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Windows Installer Error 1406

Windows Installer Error 1406

Summary

Information on windows installer errors.

Symptoms

When a setup is launched, the following error occurs during the installation process:

Error -1406: Could not write value VersionMajor to key...

Other known instances of this error are:

Error -1406: Could not write value folders to key Software\Microsoft\Windows\CurrentVersion\Installer\InProgress
Error - 1406: Could not write InstanceIndex to key...

The text of the error message may vary, but the error code indicates that the installer failed to write a registry value. Clicking the OK button causes the setup to rollback.


Cause

This error is displayed by the Microsoft Windows Installer Service. A limited amount of information is known about the specific cause of this error as it rarely occurs and is typically encountered on an intermittent or machine-specific basis. Some known causes for this error are:

  1. Insufficient privileges for writing to that particular registry key.

  2. On Windows NT machines, the installation is attempting to create a registry key off of the HKEY_LOCAL_MACHINE hive in the Windows registry. Windows NT does not allow this.

  3. An invalid setup version is specified.

  4. MSI 1.1 or 1.2 is used, rather than MSI 2.0 or later.

  5. On Windows 95, 98, and Me machines, a registry key size limit is exceeded.

  6. A binary registry value has spaces, for example, 01 00 04 80 00 00.

Resolution

The following options have been known to resolve this error message in the majority of cases:

  1. Make sure the user has full administrative privileges for that machine.

  2. If this occurs on a Windows NT machine, make sure the registry key is being created off of an existing key under that particular registry hive as Windows NT does not support creating a key directly beneath the registry hive. For example:
    HKEY_LOCAL_MACHINE\SOFTWARE

    Rather than:

    HKEY_LOCAL_MACHINE
  3. Make sure the version of the InstallShield setup contains only numbers and periods. For example, the following is valid:
    2.00.0000

    But the following is not:

    2.00.beta

    In InstallShield Developer or DevStudio, you can change this in the Product Properties section of the General Information view.

  4. If MSI 1.1 or 1.2 is being used, this error may occur because of a registry size limitation on particular Windows operating systems. Upgrading to MSI 2.0 or later resolves this behavior. More information on obtaining the latest version of the Microsoft Windows Installer Service can be found at the links below:

    Windows Installer 3.1 Redistributable (v2)

    If upgrading to MSI 2.0 is not an option, be aware of the following:

    Microsoft Windows Installer has the following registry limitations on Microsoft Windows 95, Windows 98, and Windows Millennium Edition. Note that the stated limits for the maximum number of features or components are approximate. The actual limits can depend on the specific installation.

    • Registry values are limited to 16,382 on Windows 98 and Windows Millennium Edition and 16,371 on Windows 95. This effectively limits the number of components per feature to 817. The limit varies, depending on any additional space needed to accommodate optional parent features, which should be placed in the same value.

    • The total size of a registry key and all its values is limited to 64 KB on Windows 95. This can limit the maximum total number of features and components in a product.

    • Windows Installer version 1.2 saves in-progress information as a registry value. This can limit the maximum number of features on Windows 95, Windows 98, and Windows Millennium Edition. This limitation no longer exists with Windows Installer version 2.0 or later.

  5. The registry key size limit on Windows 95, 98 and Me machines may be exceeded if it contains many Directory table entries. In Windows Installer, only directories in all uppercase letters are public and, hence, shared between the User Interface sequence and the Execute sequence. In InstallShield Developer and above, uppercase entries are normally used to prevent surprising errors when a directory value is not maintained between the User Interface sequence and the Execute sequence. Windows Installer stores all directory table entries that are in uppercase in the following registry location:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\InProgress

    To resolve this situation, it is necessary to change the Directory table entries to lowercase so they are not stored in this registry key. Perform this manually by following these steps:

  1. Select the Direct Editor view.

  2. Locate and select the Directory table.

  3. Change all entries that are uppercase to lowercase.

  4. Save and rebuild the project.

For Developer and above users, InstallShield has created a tool called ResolveDir, that modifies your project automatically and converts all uppercase Directory table entries to lowercase.


Additional Information

This error code is briefly documented in the Windows Installer Help Library topic Windows Installer Error Messages.

Was this article helpful? Yes No
No ratings
Version history
Last update:
‎Dec 05, 2007 06:11 PM
Updated by: