\
Troubleshooting
Bugs, Features and Issues (NON-MAKEMSI)
No Components Bug
Windows Installer does not like to have zero components in an MSI, it
will probably fail with a message or error code similar to:
DEBUG: Error 2731: Selection Manager not initialized.
Or like the following (if no UI):
DEBUG: Error 2728: Table definition error: Component
Of course the message above is itself another bug as there is nothing
wrong with the definition of the table.
If the "FeatureComponents" table
doesn't exist then assuming a UI,
it will trap with the something like the following in a
verbose log:
Action 10:06:14: LicenseAgreementDlg. Dialog created
Action 10:06:54: SetupTypeDlg. Dialog created
=====================================================
Exception code: C0000005 ACCESS_VIOLATION
Module: C:\WINNT\System32\msi.dll
Function: 0x771678d2
=====================================================
Registers:
EAX:00000000 EBX:00087DF0 ECX:000DB94C EDX:00000000 ESI:000DB94C EDI:00087DF4
CS:EIP:001B:771678D2 SS:ESP:0023:0006C938 EBP:0006C9AC
DS:0023 ES:0023 FS:0038 GS:0000
Flags:00000296
Call stack:
Address Frame
771678D2 0006C9AC 0
-- 0x779298AA 0x0006D5EC 0x7722117F 0x771678D2
7792994C 77929A00 0
-- 0x93E94468 0xFDB5E977 0x25FFFFFF 0x7793E944
52517793 E8C025FF 0
-- 0x00000000 0x00000000 0x00000000 0x00000000
=== Verbose logging stopped: 25/09/2004 10:06:55 ===
If you are producing an MSI without components (valid but rare) you can
add the following code as a workaround (to create a component):
<$Component "WindowsInstaller3Workaround" Create="Y" LM="Y" Directory_="<$AnyDir>">
<$/Component>