[Bug 37818] Monopolie 0.9.7 (VB6 game) crashes on the first buy (missing OLE1 '{0003000d-0000-0000-c000-000000000046}' Sound class registry data)

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Jan 1 13:02:16 CST 2015


https://bugs.winehq.org/show_bug.cgi?id=37818

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |download
             Status|UNCONFIRMED                 |NEW
                URL|                            |http://skylink.dl.sourcefor
                   |                            |ge.net/project/monopolie/Mo
                   |                            |nopolie/Monopolie%200.9.7/m
                   |                            |onopolie0.9.7-installer.exe
                 CC|                            |focht at gmx.net
            Summary|Monopolie 0.9.7 crashes on  |Monopolie 0.9.7 (VB6 game)
                   |the first buy               |crashes on the first buy
                   |                            |(missing OLE1
                   |                            |'{0003000d-0000-0000-c000-0
                   |                            |00000000046}'  Sound class
                   |                            |registry data)
     Ever confirmed|0                           |1

--- Comment #1 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming.

Prerequisite: 'winetricks -q comctl32ocx'

That VB6 based game is very old, possibly from Win9X era.
It makes use of several outdated/superseded OLE1 classes which are not present
in Wine.

Basically stuff in '{0003xxxx-0000-0000-C000-000000000046}' range.

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Monopolie

$ WINEDEBUG=+tid,+seh,+relay,+ole,+variant wine ./Monopolie\ 0.9.7.exe
>>log.txt 2>&1
...
0023:trace:ole:CoCreateInstance (rclsid={0003000d-0000-0000-c000-000000000046},
pUnkOuter=(nil), dwClsContext=00000014,
riid={00000112-0000-0000-c000-000000000046}, ppv=0x17c51c)
0023:trace:ole:CoGetTreatAsClass
({0003000d-0000-0000-c000-000000000046},0x33ce98)
0023:Call ntdll.RtlInitUnicodeString(0033cce0,0033cd32
L"CLSID\\{0003000D-0000-0000-C000-000000000046}") ret=7e94c764
0023:Ret  ntdll.RtlInitUnicodeString() retval=0033cce0 ret=7e94c764
0023:Call ntdll.NtOpenKey(0033cd2c,00020019,0033cce8) ret=7e94c780
0023:Ret  ntdll.NtOpenKey() retval=c0000034 ret=7e94c780
0023:Call ntdll.RtlNtStatusToDosError(c0000034) ret=7e94c78b
0023:Ret  ntdll.RtlNtStatusToDosError() retval=00000002 ret=7e94c78b
0023:trace:ole:CoGetClassObject CLSID:
{0003000d-0000-0000-c000-000000000046},IID:
{00000001-0000-0000-c000-000000000046}
0023:trace:ole:RPC_GetLocalClassObject
rclsid={0003000d-0000-0000-c000-000000000046},
iid={00000001-0000-0000-c000-000000000046}
0023:trace:ole:RPC_GetLocalClassObject waiting for
L"\\\\.\\pipe\\{0003000D-0000-0000-C000-000000000046}"
0023:Call KERNEL32.WaitNamedPipeW(0033cbf8
L"\\\\.\\pipe\\{0003000D-0000-0000-C000-000000000046}",ffffffff) ret=7e9915bf
0023:Ret  KERNEL32.WaitNamedPipeW() retval=00000000 ret=7e9915bf
0023:Call KERNEL32.CreateFileW(0033cbf8
L"\\\\.\\pipe\\{0003000D-0000-0000-C000-000000000046}",c0000000,00000000,00000000,00000003,00000000,00000000)
ret=7e991600
0023:Ret  KERNEL32.CreateFileW() retval=ffffffff ret=7e991600
0023:trace:ole:create_local_service Attempting to start Local service for
{0003000d-0000-0000-c000-000000000046}
...
0023:err:ole:create_server class {0003000d-0000-0000-c000-000000000046} not
registered
0023:fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
0023:err:ole:CoGetClassObject no class object
{0003000d-0000-0000-c000-000000000046} could be created for context 0x14
0023:Ret  ole32.OleRun() retval=80040154 ret=734c91f2 
...
--- snip ---

CLSID '{0003000D-0000-0000-C000-000000000046}' is 'SoundRec' OLE1 class.

I found more or less conflicting information since the original OLE1 CLSID is
not to be directly used but substituted ('TreatAs' attribute).

Depending on Windows version used you end up with different CLSIDs.

http://camas.comodo.com/cgi-bin/submit?file=8c76de1f01099579e73a6a0a032aeaf07323241864df7153ccbaef75cf82d9ab

(Windows 2k/XP?)

--- snip ---
LM\Software\Classes\ClsId\{0003000D-0000-0000-C000-000000000046}\    REG_SZ   
12    "Sound"
LM\Software\Classes\ClsId\{0003000D-0000-0000-C000-000000000046}\Insertable\   
REG_SZ    2    ""
LM\Software\Classes\ClsId\{0003000D-0000-0000-C000-000000000046}\Ole1Class\   
REG_SZ    18    "SoundRec"
LM\Software\Classes\ClsId\{0003000D-0000-0000-C000-000000000046}\ProgID\   
REG_SZ    18    "SoundRec"
LM\Software\Classes\ClsId\{0003000D-0000-0000-C000-000000000046}\TreatAs\   
REG_SZ    78    "{00020C01-0000-0000-C000-000000000046}"
--- snip ---

The substitution CLSID is not present in Wine:

http://camas.comodo.com/cgi-bin/submit?file=8c76de1f01099579e73a6a0a032aeaf07323241864df7153ccbaef75cf82d9ab

--- snip ---
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\    REG_SZ   
26    "Sound (OLE2)"
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\AuxUserType\2\
   REG_SZ    48    "Sound Recorder Document"
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\AuxUserType\3\
   REG_SZ    64    "Microsoft Sound Recorder Server"
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\DataFormats\DefaultFile\
   REG_SZ    6    "12"
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\DataFormats\DefaultSet\
   REG_SZ    18    "SoundRec"
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\DataFormats\GetSet\0\
   REG_SZ    18    "3,1,32,1"
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\DataFormats\GetSet\1\
   REG_SZ    18    "8,-1,1,3"
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\Implemented
Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}\    REG_SZ    2    ""
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\Implemented
Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}\    REG_SZ    2    ""
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\InprocHandler32\
   REG_SZ    20    "ole32.dll"
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\Insertable\   
REG_SZ    2    ""
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\LocalServer\  
 REG_SZ    26    "sndrec32.exe"
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\LocalServer32\
   REG_SZ    26    "sndrec32.exe"
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\MiscStatus\   
REG_SZ    4    "0"
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\PersistentHandler\
   REG_SZ    78    "{098f2470-bae0-11cd-b579-08002b30bfeb}"
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\ProgID\   
REG_SZ    18    "SoundRec"
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\verb\0\   
REG_SZ    20    "&Play,0,3"
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\verb\1\   
REG_SZ    20    "&Edit,0,2"
LM\Software\Classes\ClsId\{00020C01-0000-0000-C000-000000000046}\verb\2\   
REG_SZ    20    "&Open,0,2"
--- snip ---

http://www.windowrdb.com/w.php?w=hkcr-clsid-0003000d-0000-0000-c000-000000000046

(Windows Vista/7+)

--- snip ---
[HKEY_CLASSES_ROOT\CLSID\{0003000D-0000-0000-C000-000000000046}]
Name : (Default)
Value : Sound
Type : REG_SZ

[HKEY_CLASSES_ROOT\CLSID\{0003000D-0000-0000-C000-000000000046}\NotInsertable]
Name : (Default)
Value : (Value not set)
Type : REG_SZ

[HKEY_CLASSES_ROOT\CLSID\{0003000D-0000-0000-C000-000000000046}\TreatAs]
Name : (Default)
Value : {F20DA720-C02F-11CE-927B-0800095AE340}
Type : REG_SZ
--- snip ---

The substitution CLSID is present:

http://mikolajapp.appspot.com/uuid/query?q={f20da720-c02f-11ce-927b-0800095ae340}

--- snip ---
Results for {f20da720-c02f-11ce-927b-0800095ae340}
Found in Windows Vista registry

    Registered class: Package
        Inproc sever: packager.dll (product: Microsoft Windows Operating
System,version 6.0.6000.16386)
    Subkey of registry key HKLM\SOFTWARE\Classes\AppID
--- snip ---

Putting the entries from Windows 7 in registry reveals another problem which
will be subject to a new bug.

--- snip ---
REGEDIT4

[HKEY_CLASSES_ROOT\CLSID\{0003000D-0000-0000-C000-000000000046}]
@="Sound"

[HKEY_CLASSES_ROOT\CLSID\{0003000D-0000-0000-C000-000000000046}\NotInsertable]

[HKEY_CLASSES_ROOT\CLSID\{0003000D-0000-0000-C000-000000000046}\TreatAs]
@="{F20DA720-C02F-11CE-927B-0800095AE340}"
--- snip ---

$ sha1sum monopolie0.9.7-installer.exe 
b7cff9b04b11c55b5d1fa4cddb2f0914f61b6653  monopolie0.9.7-installer.exe

$ du -sh monopolie0.9.7-installer.exe 
1.7M    monopolie0.9.7-installer.exe

$ wine --version
wine-1.7.33-117-g6bab173

Regards

-- 
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