Tabs in the Section or Key name of an ini file entry cause an invalid idt during the linking stage.
Suggested fix: In src\wix\Data\tables.xml, add escapeIdtCharacters="yes" to all user data (not msi metadata) fields that could legitimately contain a tab character.
Also, need a better error when any field contains a tab that won't be escaped. Just generating an invalid idt file (extra tabs means invalid field count) is difficult to track down.
WritePrivateProfileString( L"a\tb", L"c\td", L"e\tf", L"some.ini" );
WCHAR buff; GetPrivateProfileString( L"a\tb", L"c\td", L"", &buff, 1024, L"some.ini" )
The above code successfully writes the embedded tabs, and retrieves e\tf, indicating that embedded tabs are valid in the section and key of an ini file.