Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 565245
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T12:51:06+00:00 2026-05-13T12:51:06+00:00

My application needs two COM DLLs to be registered. It is done automatically if

  • 0

My application needs two COM DLLs to be registered. It is done automatically if the user has the necessary access rights, but otherwise it can be done using regsvr32.

Now on a few workstations the following happens:

  1. Start cmd.exe as Administrator
  2. Register first DLL: Success
  3. Register second DLL: Failure (0x80004005, Access denied)

The first time this error was reported to me, I automatically responded: “Of course it doesn’t work, you need Administrator privileges.” Needless to say, I felt pretty embarrassed as I tried to register the DLL myself…

What could be the reason for this: One DLL can be registered, the other not.

Some background information:

  • Both DLLs are created with Delphi 2005.
  • Both DLLs have very simple interfaces and only very few classes.
  • The failing machines were always Vista or Windows 7.

Normally I’d start Process Monitor, but I don’t have access to one of the workstations right now, so I have to gather as much information as possible until I can get my hands on one of them.

UPDATE: I remotely accessed one of the failing workstations. Mysterious things happened:

  • Starting Process Monitor was not possible (!) After a few seconds Windows showed a “not enough memory” error.
  • Switching to a different user made it possible to register the DLL. (!)

In other words:

  • Log on as UserA, start cmd.exe as Administrator, regsvr32.exe: Failure
  • Log on as UserB, start cmd.exe as Administrator, regsvr32.exe: Success

What could introduce such behaviour?!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T12:51:06+00:00Added an answer on May 13, 2026 at 12:51 pm

    Couple of things to try and check for:

    1. Run process explorer on a machine where both dll will succeed registering and do quick comparison of the reg keys and file locations both DLLs touch. There might be some difference that would explain this behavior
    2. Is it always the same dll that fails? What happens if you reverse the order of the registrations? It’s possible that the first one is affecting the second one (by setiing an ACL on a reg key for example)
    3. It might be interesting to collect some statistics on whether this is 32-bit vs. 64-bit issue. There are certain specifics on HKCU and HKLM behavior on 64-bit Vista and Win7, whcih might affect the registration.
    4. Ask users that hit this problem, if they attempted registration as regular user before doing it as an admin. The HKLM virtualization could be playing bad tricks if this is the case.

    Update

    Based on your comment, it looks that failed registration attempt as a regular user is leaving the machine in a messed up state. It’s something either in HKCU\Software\Classes (the per-user mapping of the HKCR) or in HKCR\VirtualStore\MACHINE\SOFTWARE (the virtualized HKLM). You need to determine exactly what is being left in the registry upon unsuccessful registration attempt.

    I would run process explorer on a clean machine and attempt non-elevated registration to take a snapshot.

    Also, try getting the machine in such a state and then run non-elevated unregister. In the ideal case this should “fix” the machine. If that works, you have a quick workaround you can give to your users while you are working on the proper fix.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.