Thursday, February 01, 2007

WiX installer and Error 2708 (No entries found in the file table)

I had to add different versions of a file to my installer today. Seemed easy enough to do - the files were available in the right places and everything, so I added a version number on to the old file ID, added a new file with the new version number, and called it a day, right?

Not so fast. Compile up the install and run it:

Error 2708: No entries found in the file table.

Say what? Must have been a file system glitch. Open up the MSI with Orca and check the file table; well, yes, it has lots of entries, no trouble there. What's going on here?

Buried deep in the search results for the error code I found this page. The comment from Jane D pointed out that she'd seen this error while having problems with the Duplicate File table rather than the File table - and that jogged my memory. In a separate component I had a CopyFile element that was pointing to my file, and it still had the old file ID reference, now orphaned. Update the reference, recompile, and bingo. Working install.

I see this as a bug in the WiX linker: why did it build the MSI with this unresolved reference? I'll have to post something to the mailing list at some point.