NativeDcom

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.

The easy way to install

Use DanKegel's winetricks script:

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.

The older, harder way 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, 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

NativeDcom (last edited 2009-10-11 12:14:30 by AlexanderScottJohns)