Dcom98
From Wine-Wiki
| Installing Wine • Business • Games • Internet • Multimedia • System and Utilities |
| • Education • Other |
Contents |
DCOM98 Legal Information
Information
Please note: Wine-Wiki.org does not give legal advice
Wine has made significant progress and a native windows version of Dcom is not usually required. Now that wine has progressed so far, running native dcom is not often very successful.
In the wine users' mailing list Jan25 2004 a user claimed that their EULA for DCOM98 'required a legal copy of Win98'. However another user claimed that any legal Windows OS was acceptable.
Because EULA agreements do not consist of paper documents, it appears possible that different downloads may not contain the same EULA
Because of its community-based nature, this wiki must not be taken as an authoritative source of information. It has not been reviewed by professionals with the expertise necessary to provide you with complete, accurate or reliable infomation
Check and confirm infomation with other sources and through direct professional contact. Examine all agreements carefully
Wine and DCOM Progress
While Wine has yet to be released as version 1.0, Significant progress has been made with DCOM. As Wine continues to improve, occasionally a current release may have issues with your software or software installer, (e.g.InstallShield). The developers work hard to fix regressions but until then, often the Wine Application Database[1] recommends a specific release version for your software. Better yet, if you notice a problem please fill out a bug report in Bugzilla with a link to where someone can download a trial version of your software. The bugzilla reviewers will likely contact you to help you fill out the details. In 2008, a developer recommended using only a single rpcrt4 dll from windows 2000 or XP for a workaround rather than suggesting installing dcom98. It appears Wine has moved on.
If the Wine Application Database mentions DCOM issues for your version of Wine, it is technically possible for Wine to use a native version of DCOM such as DCOM98.
Important Note Wine is now set to emulate windows 2000. To install and then use dcom98 you will need to change wine to emulate windows 98 or less using winecfg. R. Shearman bug13190 Using native rpcrt4.dll as installed by DCOM9x when Wine is reporting as Windows 2000 upwards is not supported
A user said [Apr 06]:I've downloaded DCOM98 from MS and opened the .exe with WinRar, comparing each DLL file with the index of Wine DLLs at http://source.winehq.org/source/dlls/. Far from all of them are there, but then again some of them are probably extremely rarely used by applications.
M .Hearn: Microsofts implementation is more modular than ours, fewer DLLS does not necessarily equal less complete. We've also taken some shortcuts where binary compatibility could be preserved with a simpler system. To answer the original question, yes Wines DCOM should be "good enough" for most users who don't need wire compatibility, and it's getting better all the time. wine archive
Obtaining DCOM98
Several links to download Dcom98 are listed below. All have license agreements that require careful reading. Dcom98 is provided as a free download from Microsoft Windows.
- You can download DCOM98 from Microsoft.com here.
- Seach Microsft.com for DCOM98 Download
- Microsoft.com Downloads DCOM98
- Microsoft.com Distributed Component Object Model (DCOM) for Windows 98 v1.3
- Microsoft.com COM: Component Object Model Technologies with Links to download DCOM98
- DCOM98 is available on Disk 1 of the Visual Basic installation CD-ROM in the DCOM98 folder
Common dlls used for wine
- ole32
- rpcrt4.dll
- May be needed for dns Wine Archive
- oleaut32.dll
- A program with Visual Basic may require native oleaut32.
- stdole32
- Wine has it's own version. Current status unknown.
- stdole2
Installing DCOM98
When installing Dcom98, if you already have a lot of software installed on wine, use a separate wine WINEPREFIX so that you do not affect your current software.
Wine doesnt seem to require installing dcom98. Rather it can use the native dcom98 dlls when they are in the correct directory and specified using winecfg or using the commandline with WINEDLLOVERRIDES. Wine is changing so fast that information on how to install dcom98 can quickly become out of date. As this is a wiki, we urge you to drop a note here if you spot any changes. The best method of installing dcom98 would probably be the script by Dan Kegel.
Manually Extracting the dll files
This usually succeeds because it overwrites the 'fake' windows dlls that wine comes with.wine dcom98.exe /C
Type c:/windows/system in the dialog box or click Browse to extract to the directory c:/windows/system32. If using wine versions previous to wine 0.9 copy the dlls to the c:/windows/system directory.
Warning: If your computer has Linux and Windows installed, be sure to install DCOM in the fake windows directory of Wine.
Installing DCOM using the Command Line
Open a terminal window and type:
$ winecfg
and set the windows version to windows 98 or less. After closing winecfg, using your favourite file viewer, delete only the fake dlls that will be replaced found in wine's system and system32 directory.
rm .wine/drive_c/windows/system32/ole*
Take care, as you need to be sure you delete from the Wine directory and not from a real Windows installation. Then install by typing on the command line.
$ WINEDLLOVERRIDES="ole32=n;rpcrt4=n;oleaut32=n" wine dcom98.exe
If installing DCOM fails, use the extraction method above.
Installing Software with DCOM98
First of all you will need to use winecfg to set the windows version to Win95, or Win 98. S. Dosinger: [Dec 05] native dcom won't run with winver [set as] NT, [Win] 2000 or [Win] XP
And recently in the developer list [2006] it was commented that you first need to delete the fake dlls that are replaced by DCOM98. This is why extracting works well, as it overwrites the fake dlls created by Wine.
Copied From 19 Feb 2005 Wine Developer Mailing List:
"You normally use ole32,oleaut32,rpcrt4=n to use native DCOM. This is not documented on WineHQ but is documented on the WineKB I run [2]"
Example Install of 'foo.exe' with native DCOM98
DLLOVERRIDES="ole32=n;oleaut32=n;rpcrt4=n" wine foo.exe
For a detailed example of using DCOM98 see DCOM98 and InstallShield
In Aug 2005 an issue that was connected with theming was resolved:
uxtheme currently links in shlwapi.dll, shlwapi.dll in turn links in ole32.dll. Since WM_NCCREATE seems to load uxtheme it would be that ole32 is being loaded almost all the time now.
[...]to install dcom95.exe we need to set ole32=native (ie, disabled) so that dcom95 does not detect the builtin version. However because uxtheme is now being loaded with MessageBoxA, the install fails because it is unable to load ole32.
Scripts
D. Kegel [Jun 2007] Recently I've gotten to the point where I'm tired of going to the NativeDCOM wiki page to remember how to try an app with native dcom just to see if the bug in question is a COM bug.
So I wrote a trivial script to automate installing that plus a bunch of other redistributables. A draft is at http://kegel.com/wine/winetricks
Usage: winetricks [dcom98|fakeie6|mdac26|mfc40|mono|vbrun60|vcrun6|wsh51|wsh56jscript] ...
It's a bit like a programmer's version of winetools: it's so commandline-crufty that normal users won't go near it, but it's simple enough to extend that it will probably end up being pretty handy for anyone working on triaging bugs that appear to be due to missing redistributable libraries. Oh, or commonly-needed registry entries.
apparently it was handy as someone quickly sent in some improvements to the script.
Running Software with Dcom98 dlls
M. Hearn: [Maoy 06] the following set must all be the same:
- rpcrt4,oleaut32,ole32=native
OR
- rpcrt4,oleaut32,ole32=builtin wine archive
External Links
- Wine HQ - WWN Issue 262 'COM & InstallShield'
- Wine HQ - WWN Issue 259 'More DCOM Notes'
- Wine HQ - WWN Issue 258 'FreeDCE & Wine & DCOM'
- Wine HQ - WWN Issue 256 'DCOM Status Update and Roadmap'
- Wine HQ - WWN Issue 263 'OLE Status'

