[thelist] Trouble in COM land!

Bob Fowler bob at rjf.ca
Thu Mar 14 14:44:00 CST 2002


> What I'm doing is trying to update the component DLL which I just built.
> Unfortunately, the file seems to be locked completely.  I've tried
stopping
> all IIS services, regsvr32 /u'ing the file, restarting the IIS services,
and
> the file is still locked!  The only way I can unlock it is by rebooting;
and
> I don't wanna do that everytime I update my code.

That's the problem with In-Process DLL's.... The solution is fairly simple,
but is *ONLY* recommended while developing.  If you create a COM object as
an ActiveX .exe, it will run Out-of-process, and you won't have the locking
problems (Unless someone is trying to access it when you are replacing the
file).

As the object needs to be instantiated for EVERY call, this is only
recommended for development.

Also, if you are logging in as someone other than IUSR, you will need to
grant DCOM launch privledges when you use an Out-of-Process EXE. (Using
dcomcnfg)

>
> In light of that, I was informed that I could build the DLL, the run the
> component from within the VB IDE and that would allow me to debug on the
fly
> since the component running from the IDE would intercept any calls to that
> component, instead of the DLL file handling it.  Unfortunately when I do
> this, I get the dreaded and vague "The call to Server.CreateObject failed
> while checking permissions. Access is denied to this object." error from
the
> ASP page on the server.createobject() line.  Frustrating to say the least!

I've never tried this, but it sounds interesting.  Since it is running out
of the IIS process, you may want to try granting launch privledges (see
above).

Thanks,

Bob.




More information about the thelist mailing list