What is it?
DCOM is a complex subsystem of Windows that certain programs make heavy use of, in particular InstallShield which will not always work correctly with Wines built in DCOM. Therefore to install some programs you may need to first install native DCOM, which Microsoft makes available as a standalone installer.
Warning
Wine has its own implementation of OLE (DCOM) that is in some ways superior to DCOM98. Please make sure to test and report bugs with builtin OLE32 and your application if it doesn't work.
WINEDEBUG="+ole,+rpc,+storage,+variant" wine yourapp.exe 2>&1 | tee logfile.txt
For more informations, use more ole-channels:
WINEDEBUG="+ole,+olerelay,+rpc,+storage,+typelib,+typelib2,+variant" wine yourapp.exe 2>&1 | tee logfile.txt
DCOM98 may not work correctly with Wine and some programs, so use it as a last resort.
How to install
Download DCOM98 from Microsoft (try here or search for "dcom98 site:microsoft.com" via Google)
- Set windows version to "Windows 98" using winecfg.
- Remove fake ole32 and oleaut32 dlls, if any [*], like this:
rm ~/.wine/drive_c/windows/system32/ole32.dll rm ~/.wine/drive_c/windows/system32/oleaut32.dll
- Then run it like this:
WINEDLLOVERRIDES="ole32=n" wine DCOM98.EXE
Now apply native overrides for ole32, oleaut32, and rpcrt4 using winecfg. Or run program this way:
WINEDLLOVERRIDES=ole32,oleaut32,rpcrt4=n wine my_program.exe
The easy way
If you find yourself installing native DCOM frequently (e.g. if you're doing Wine QA and need to check whether bugs in applications are caused by Wine's implementation of DCOM), you may find it easier to use a script that does the above steps for you.
DanKegel has written such a script. Here's how to use it to install native DCOM:
wget http://kegel.com/wine/winetricks sh winetricks dcom98
But remember, just because it's easy doesn't mean it's a good idea. Any problem that goes away when you use native DCOM is a bug in Wine, and a bug report should be filed at http://bugs.winehq.org so we can fix it.
[*] Wine installs these dlls since its version 0.9.20 + 3 patches in a row.
