BUG: 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 ===
Work Around |
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>