If your COM object is in-proc, it will be running in hosting process by default. Since later versions of IIS was designed to run under special network account which access is limited, the workaround would be running the COM objects in a separate surrogate process which runs using admin. You can create an empty COM+ application, make sure it runs as admin or local system, and drag your COM dll into it. In this case, the COM+ application (it runs using a separate process) will be your COM object' host, and when ASP tries to create your COM object, your COM object will be created in the COM+ application which runs as admin. This doesn't require any code change and works for most of in-proc COM objects.