Archive File Format
A text archive file for a Windows Installer database carries an .idt file name extension. When an entire database is exported to archive files, each table in the database has a separate .idt file. If a table contains a stream column, each stream in the table is represented by a file with an .ibd file name extension. The .ibd files are stored in a folder with the same name as the table.
.idt File Format
The .idt file of an exported database table that contains only ASCII characters has the following basic format.
- The first row contains the table column names separated by tabs.
- The second row contains the column definitions separated by tabs.
- If the file contain only ASCII data, the third row is table name and primary key column names separated by tabs.
- The remaining rows in the file represent rows in the table, with columns separated by tabs.
Note
If the file contains non-ASCII data, the third row is the numeric code page followed by the table name and primary key column names separated by tabs. An .idt file that contains non-ASCII information should be saved in the ASCII format. For example, a text archive file can contain the column and table names encoded as UTF-8, but the archive file itself should be ASCII. See the section ASCII Data in Text Archive Files.
Note
The special _ForceCodepage and _SummaryInformation .idt files use extended formats. See the _ForceCodepage and _SummaryInformation sections for descriptions of their formats.
Column Definitions
Column definitions are indicated by characters.
The first character indicates the column type. A lowercase letter indicates a non-nullable column and an uppercase letter indicates that the column can contain null values.
Character Meaning s, S String Column l, L Localizable String Column v, V Binary Column i, I Integer Column The second character indicates the column data size.
Note
The Windows Installer does not actually use the specified column size to limit the size of the string that can be entered into a string column field. However, some authoring tools do use the specified column size to limit the size of a valid string. It is recommended that strings entered into any column meet the specified size requirement.
Column Definition Meaning s255 Non-Nullable String Column 255 long L50 Nullable Localizable String Column 50 long i2, I2 Short Integer Column i4, I4 Long Integer Column
Control Character Translation
Exporting a table to a text archive file translates the control characters to avoid conflicts with file delimiters. While writing into the .idt file, the control characters are translated as follows.
Control Character | Translation in .idt | Meaning |
---|---|---|
NULL | 21 | Null |
BS | 27 | Back Space |
HT | 16 | Tab |
LF | 25 | Line Feed |
FF | 24 | Form Feed |
CR | 17 | Carriage Return |