[Bug 25963] Dead Space 2 dvd installer fails to switch discs

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Oct 14 16:18:52 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=25963

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |focht at gmx.net
          Component|-unknown                    |msi

--- Comment #2 from Anastasius Focht <focht at 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

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list