This error occurs when Windows Installer attempts to resolve the value of a property as a valid path to a local or network location. This property referenced, within the .MSI database tables used, should be a valid path to a directory. This property may have been defined within the Directory table, Property table, or by a custom action during installation runtime. The 1606 error most likely occurs if you have manually modified the tables, particularly if you added to or modified a table containing a column where a property specifies the path to a directory. This error is also generated if you are using a SetProperty custom action that incorrectly redefines a property containing a directory path during runtime. The SetProperty custom action within the .MSI is redefining a property used in the Directory table.
In order to determine the name of the property causing this error complete the following steps:
- Execute the .MSI using the following command line:
msiexec.exe /I PACKAGENAME.MSI /L*V PACKAGENAME.LOG
- The .MSI runs and generates the Windows Installer 1606 error. Note the value of the invalid path in place of the  from the error message above.
- Open the log generated by Windows Installer for this .MSI and search for the invalid location value. Towards the end of the log file, all of the Windows Installer properties are listed with their values. Locate the invalid location value to identify the name of the property causing the error.
Alternatively, you can use the Windows Installer Log Utility available free from Microsoft. Use this tool to analyze the log file and show a dialog that indicates the value of all properties in the installation.
Once you have the name of the property responsible for the 1606 error, identify where this property is used in the tables.
- Open your .WSI or .MSI file within Wise for Windows Installer or the Windows Installer Editor in Wise Package Studio.
- Click the Setup Editor tab, then click the Tables tab.
- In the Edit menu, select Find.
- Enter the name of your property in the Find What field and select Entire Database from the In What drop-down list.
- The tables that typically cause this error are the DuplicateFile, IniFile, MoveFile, RemoveFile, RemoveIniFile or the Shortcut table. Once you find the offending table entry, determine the context in which it is used.
Note: The Directory and/or Property tables do not cause the 1606 error even though they may have defined the property.
The context of how the property holds a directory path varies in each case. One example could be a property being used working directory (WkDir column) for an entry in the Shortcut table. Based upon the context in which this property is used, modify the entry to use another property containing a valid directory. If a SetProperty custom action causes the error, ensure that the custom action sets that property to a valid directory path.
The full error messages for 4-digit Windows Installer error codes can be found in the Windows Installer SDK. More information may also be available at Microsoft's Web site.
Wise Solutions will continue to add information to this article as it becomes available. If you have additional information that you believe would contribute to the value of this article, please enter it in the suggestions box associated with this knowledge base article.
Product: Wise for Windows Installer 6
Development operating system: Windows 2000
Target operating system: Windows 2000