Link to home
Start Free TrialLog in
Avatar of mvarner2000
mvarner2000

asked on

0x800A01AD - ActiveX component can't create object

I'm trying to setup a test environment on my machine here and just cannot get this **** DLL file to work.  It's called as part of a login authorization script.  This is an app used all over the company and works everywhere else, so the code itself is fine.

- I have registered and unregistered and re-registered this component a thousand times

- The following have Full Control: Administrators, My Account, SYSTEM

- The following have Read/Execute access: IWAM_TESTLAPTOP, IUSR_TESTLAPTOP, Everyone, ANONYMOUS

I've even compared security and IIS settings with someone with the same machine as mine, and still I get the same error.  Please help.  Relevant snippet follows:
set objLogin  = server.createObject("SPSSecurity2.security")
 
with objLogin
	if request("exID") = "" then
		blnAuth =  .Authenicate_User(cstr(user_id),cstr(pwd),1)

Open in new window

Avatar of Martin-Smith
Martin-Smith

Have you tried running Process Monitor http://www.microsoft.com/technet/sysinternals/Utilities/processmonitor.mspx  and filtering for Access Denied errors?
Also if you try creating the object in a VBscript file rather than ASP on the machine do you still see an error message (as below)

'File --- test.vbs
Dim objLogin  

set objLogin  = createObject("SPSSecurity2.security")
set objLogin  = Nothing
Avatar of mvarner2000

ASKER

Thanks Martin... can you provide any guidance on the use of Process Monitor?  I tried to use it but while I can find my ASP file (no errors associated) I don't see the DLL file anywhere.
And what about if you paste the following into a file with a vbs extension and try running it by double clicking the file?

Dim objLogin  
set objLogin  = createObject("SPSSecurity2.security")
set objLogin  = Nothing
Nothing happens... no error, nothing opens.
Well that's kind of good news then.

When I run it from my machine (which obviously doesn't have SPSSecurity2 installed) I get an error so it must be registered properly and it must be something to do with the difference between running interactively under a user account and running under the asp account.

Have you set permissions using dcomcnfg.exe?

Component Services -> Computers -> My Computer -> DCOM Config -> SPSSecurity2.security

Properties -> Security

Launch and Activation Permissions -> Customize      Edit and add IUSR_XXX and grant Local Launch and Local Activation rights

Access Permissions -> Customize       Edit and add  IUSR_XXX and grant Local Access rights
By the way to turn on DCOM error logging you can do the following.

Confirm that you are experiencing this permissions issue
Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

You can confirm that you are experiencing this permissions issue by turning on DCOM error logging. You can enable error logging by changing the registry and then restarting the DCOM process that you want to examine. The DCOM process that you want to examine determines whether you have to restart the computer. To turn on DCOM error logging, follow these steps:
1.      Click Start, click Run, type regedit, and then click OK.
2.      Locate the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole registry subkey.
3.      Right-click the Ole value, point to New, and then click DWORD Value.
4.      Type ActivationFailureLoggingLevel, and then press ENTER. Double-click ActivationFailureLoggingLevel, type 1 in the Value data box, and then click OK.
5.      Right-click the Ole value, point to New, and then click DWORD Value.
6.      Type CallFailureLoggingLevel, and then press ENTER. Double-click CallFailureLoggingLevel, type 1 in the Value data box, and then click OK.
7.      Restart the DCOM program, and then examine the System log and the Application log for DCOM errors.
The error messages in the event log contain information that you can use to help resolve the permissions issue.

You can turn off DCOM error logging by changing the ActivationFailureLoggingLevel value and the CallFailureLoggingLevel value to zero.

(From http://support.microsoft.com/default.aspx?scid=kb;en-us;892500)
DCOM Config doesn't listed the SPSSecurity DLL.  I even went through and re-registered it, but it still does not appear.
It's a long time since I've done any COM stuff I think it  may appear as one of the nodes named after a GUID (the AppId) rather than a friendly name but I may be leading you on a wild goose chase. If so I apologise in advance!
After going through every GUID... nothing!  Arg :)

Several GUIDs don't seem  to have any local path information.
ASKER CERTIFIED SOLUTION
Avatar of Martin-Smith
Martin-Smith

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Might be worth trying to turn on the DCOM error logging just to see if it throws up any informative error messages?
My apologies for wasting your time Martin... turns out it was a custom in-house script that had to be run to initialize some sort of DB connection.  I'm awarding points based on effort :)