http://bugs.winehq.org/show_bug.cgi?id=25963
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |focht@gmx.net Component|-unknown |msi
--- Comment #2 from Anastasius Focht focht@gmx.net 2011-10-14 16:18:52 CDT --- Hello,
--- snip ---
0026:Call KERNEL32.CreateProcessW(00000000,0033d618 L"msiexec.exe /i "D:\autorun.dat" TRANSFORMS=:en-us.mst",00000000,00000000,00000000,00000000,00000000,00000000,0033d5d4,0033d5c4) ret=0040fdd2 0026:Ret KERNEL32.CreateProcessW() retval=00000001 ret=0040fdd2 --- snip ---
Not sure why the transform command line parameter for english is explicitly given, its the default and data is embedded in package. Maybe they wanted multi-language MSI package one day and prepared for that.
The boostrapper has to decide which language the installer package should use. For example if german was decided, the parameter "TRANSFORMS=:de.mst" would be passed to msiexec, which directs it to apply the embedded transform named "de.mst"before running the package.
Anyway ... dumping "autorun.dat" with Orca:
"Component" table:
--- snip ---
Group0 {89D09903-93C2-45A4-9D70-D4D7444AA412} INSTALLLOCATION 0 MAINENTRYPOINTFILEID
Group1 {95CC93FF-F788-498B-8776-BF7CB0D61151} INSTALLLOCATION 0 DS2DAT4_DAT
--- snip ---
"File" table:
--- snip ---
DS2DAT0_DAT Group0 DS2DAT0.DAT 2146199456 8704 5
...
MAINENTRYPOINTFILEID Group0 0zascoph.exe|deadspace2.exe 63504024 1.0.0.0 1033 8704 10
...
SupportEADMEadm_installer_exe SupportEADMEADM arfyp7im.exe|eadm-installer.exe 19086936 7.1.3.3 1033 8705 1322
DS2DAT4_DAT Group1 DS2DAT4.DAT 1653587968 8704 1323
DS2DAT5_DAT Group1 DS2DAT5.DAT 1733548032 8704 1324
moviesEnBloopers_vp6 moviesEnMoviesEn bloopers.vp6 200324 8704 1325
--- snip ---
"Media" table:
--- snip ---
DiskId LastSequence DiskPrompt Cabinet VolumeLabel Source
i2 i4 L64 S255 S32 S72
1 0 Disc1
2 10 Disc1
3 11 Disc1
4 12 Disc1
5 0 Disc1
6 0 Disc1
7 0 Disc1
8 0 Disc1
9 13 Disc1
10 1321 Disc1
11 1322 Disc1
12 0 Disc1
13 0 Disc1
14 1324 Disc2
15 1386 Disc2
16 1448 Disc2
--- snip ---
The file in question "DS2DAT4_DAT" has sequence id 1323. The highest LastSequence id for "Disc1" is 1322.
File "DS2DAT5.DAT" with sequence id 1324 which is also located on CD2 is referenced as LastSequence id in DiskId 14.
MSDN: http://msdn.microsoft.com/en-us/library/windows/desktop/aa370558.aspx
--- quote --- For example, suppose a file has a sequence number of 92 entered in the Sequence column of the File table. To determine on which source disk this file resides, the installer checks the record of the Media table for the entry with the smallest LastSequence value that is larger than 92. The DiskId column is the primary key for the Media table and this field uniquely identifies the disk in the table. --- quote ---
1323 -> 1324 -> Disc2
Regards