Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium


Does ActiveDs work under Win2000 SP4?

Posted on 2005-04-01
Medium Priority
Last Modified: 2008-02-01
I have an app which imports the Active Directory Services dll, ActiveDs.dll.  To simplify things, it basically only contains this line of code just to access the activeds.

private void OnTestButtonPushed(object sender, System.EventArgs e)
   ADsSecurityUtility asu = new ADsSecurityUtilityClass();

The app is compiled on a WinXP Pro SP2 machine dotnet 1.1 and runs fine.  When run on a win2000 SP4 dotnet 1.1 machine I get this error:

   'COM object with CLSID {F270C64A-FFB8-4AE4-85FE-3A75E5347966} is either not valid or not registered'

Now, noticed that the version of ActiveDs.dll on the XP machine is 5.1.2600.2180, while the version on the win2k machine is 5.0.2195.6601.  Does microsoft change the CLSID with each new version of the file?  I thought about copying activeds.dll from the XP machine to the 2k machine and then registering, but I think that might be bad for the 2k machine as the new version might conflict with other things besides my app.  Does it mean I have to compile my app on a 2k machine to function there?

Question by:colemaj1

Author Comment

ID: 13684996
I found something else interesting. I copied activeds.dll and activeds.tlb to my XP developement machine and imported this version into my project instead.  I recompiled and then tried to run it again on the win2k machine - same error.  Also, just to be sure on the win2k machine, I re-registered activeds.dll using regsvr32.exe.  Still same error.
LVL 20

Accepted Solution

ihenry earned 1500 total points
ID: 13687524
>>  Does microsoft change the CLSID with each new version of the file?
ActiveDs.dll version in my W2K3 box is 5.2.3790.0

>> Does it mean I have to compile my app on a 2k machine to function there?
It's very likely yes. In order to function correctly, you must use the correct dll and compile the code in the same windows version.

I have one application which uses ActiveDs.dll, so I have different version of the same app for each windows version. Just a thought, maybe you can try to import different activeds.tlb version into different interop assembly. Then in run-time, detect the running OS and load the correct assembly version dynamically. I'm not very sure as I never do that myself, but it worth a try.

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In order to hide the "ugly" records selectors (triangles) in the rowheaders, here are some suggestions. Microsoft doesn't have a direct method/property to do it. You can only hide the rowheader column. First solution, the easy way The first sol…
Article by: Najam
Having new technologies does not mean they will completely replace old components.  Recently I had to create WCF that will be called by VB6 component.  Here I will describe what steps one should follow while doing so, please feel free to post any qu…
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an anti-spam), the admin…
Loops Section Overview
Suggested Courses

580 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question