Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

DCOM98


2 replies to this topic

Joerg Hoffmann

Joerg Hoffmann
  • Members
  • 33 posts

Posted 11 February 2002 - 15:17

I know how I can get the version of an installed DCOM.
(Search for:HKEY_CLASSES_ROOT\CLSID\{bdc67890-4fc0-11d0-a805-00aa006d2ea4}\InstalledVersion )

Which value stored in this key marks the DCOM version equal to V1.3 or higher?

For example:
InstalledVersion = 4,71,0,1120
InstalledVersion = 4,71,0,1719

I hope someone of you can help me.

Joerg


Franky

Franky
  • Members
  • 18 posts

Posted 17 April 2002 - 11:15

on a Microsoft site, i found something resulting in the following piece of code:

// first check if dcom is already installed
DebugToLog ("Search for installed DCOM");
RegDBSetDefaultRoot ( HKEY_CLASSES_ROOT );
svResult = "";
sRegKey = "ClsID\\{bdc67890-4fc0-11d0-a805-00aa006d2ea4}";
if RegDBKeyExist ( sRegKey ) = 1 then
// Eintrag für ole32.dll gefunden
DebugToLog ("key for ole32.dll found in registry");
if FindFile ( WINSYSDIR , "ole32.dll" , svResult ) = 0 then
VerGetFileVersion ( WINSYSDIR ^ "ole32.dll" , svResult );
endif;
endif;
DebugToLog ("Version of ole32.dll : " + svResult);
if ( bIsWindows95 = TRUE ) then
if (ISUtilCompVerStrings ("4.71.2612" , svResult , ".") = EQUALS) then
DebugToLog ("DCOM 1.2 for Win95/98 found on Windows 95");
return 0; // exit function, not necessary to install
elseif (ISUtilCompVerStrings ("4.71.3328.0" , svResult , ".") = EQUALS) then
DebugToLog ("DCOM 1.3 for Win98 found on Windows 95");
return 0; // exit function, not necessary to install
elseif (ISUtilCompVerStrings ("4.71.2900" , svResult , ".") = EQUALS) then
DebugToLog ("DCOM95 found on Windows 95, ignore");
return 0;
else
DebugToLog ("DCOM not yet installed");
endif;
elseif ( bIsWindows98 = TRUE ) then
if (ISUtilCompVerStrings ("4.71.3328.0" , svResult , ".") = EQUALS) then
DebugToLog ("DCOM 1.3 for Win98 found on Windows 98");
return 0; // exit function, not necessary to install
else
DebugToLog ("DCOM not yet installed");

ChangeDirectory (SRCDIR);
LaunchApp ("hh.exe", "DCOM98_"+szSelLanguageId+".htm");
return -1; // exit with error because user has to install manually
endif;
endif;

Microsoft did not allow us to distribute DCOM98 Version 1.3 , we were recommended to have the customers get it from the Microsoft site (http://www.microsoft...98/download.asp)

Franky

hteichert

hteichert
  • Members
  • 158 posts

Posted 18 April 2002 - 10:35

I had this DCOM problem, too. I found the following versions of DCOM for Win95 and 98:

"4,71,0,3328" DCOM95 and DCOM98 1.3 (Web-Release)
"4,71,0,2900" DCOM95 1.3, delivered by MS with IE5
"4,71,0,2618" DCOM95 1.2 Web Release
"4,71,0,2612" DCOM 1.2 4.71.0.2612 DCOM98.exe shipped with VS6.0 (this is the only DCOM98 which may be redistributed.)
"4,71,0,1719" DCOM Win98 Gold
"4,71,0,1718" DCOM95 1.1
"4,71,0,1120" DCOM 1.x

I know the question was about DCOM 1.3, but some more info about DCOM 1.2 on Win98:
There's a problem regarding Win98SE. It already contains DCOM 1.2, but the version given in the registry is 4.71.0.1719, which would be DCOM 1.1. So for Win98 you have to check if it's second edition and don't install DCOM98 V1.2 redistributable in this case, there will be errors on installation.
Another way is checking if the files "OLE32.DLL" and "RPCRT4.DLL" in winsysdir already have the right version (4.71.2612) on Win98, then DCOM is installed in version 1.2.
h.teichert-ott