Results 1 to 8 of 8

Thread: DLLRegisterServer failed with error code 0x80040200

  1. #1
    fniles Guest

    DLLRegisterServer failed with error code 0x80040200

    We can not register an ActiveX control on our Vista 32 bit machine.
    When we do regsvr32 c:\windows\system32\citcp.ocx (this is a 3rd party
    ActiveX control), we got an error: citcp.ocx was loaded but the call to
    DLLRegisterServer failed with error code 0x80040200. I can successfully
    register MSVBVM60.DLL and MFC42U.DLL. We login to the machine with a user
    who is the Administrator.
    I read somewhere that I need to turn off the "User Account Control" in
    Vista. How can I do that ?
    How can I fix this problem ?

  2. #2
    Karl E. Peterson Guest
    Please note that the manifest, and Run As, do nothing to actually register
    any COM components; your setup program must do that. They only help to run
    the setup as an admin, which is necessary for /it/ to register the
    components.

    Register the component from an elevated command prompt. Right click on the
    icon for Command Prompt on the start menu and select Run as Administrator.
    You will be prompted by UAC to approve the elevation. Once the command
    prompt window is open, run your regsvr32 command from that window and it
    should succeed.

  3. #3
    Kevin Provance Guest

    Re: DLLRegisterServer failed with error code 0x80040200

    I've discovered that Vista is really picky about this. Turning off the UAC
    won't help...it's a registry issue.

    If the ActX controls are yours, recompile them, this will register them. If
    they are third party, use the installer provided by them to install the
    controls. I saw some chap had posted something about creating a batch file
    to register his controls and ran the batch control as Admin. I dunno about
    this as I've never tried it. I've always used the first two methods.

  4. #4
    Rick Raisley Guest
    Just be sure InstallShield is set to Register each of the ActiveX controls.
    I mistakenly thought my setup was doing that, but hadn't checked the box, so
    it was installing the controls in the System32 folder, but not registering
    them. Then, the user gets the error you mention the first time they run the
    program. Or if they run it as an Admin, it will self-register then. But it's
    best to do it in your install program.

    Just check for an option for each control you are using in InstallShield to
    register it during the install.

    InstallShield certainly /should/ register the COM components in Vista,
    provided it is run as an Administrator. Most setup programs are recognized
    by Vista by their name (setup, install, update) and other properties, and
    Vista automatically asks for an admin login. If it doesn't, you can force it
    to run as an admin with Run As or with a Manifest file. Either way, if, when
    run as an admin, InstallShield is not properly registering the COM
    components, then it's InstallShield's fault, not Vista's. It should work,
    and does with my installer. You definitely don't need to turn UAC off to
    install COM components, and that's probably the last thing you want to have
    "thousands of end users" do.

    To use Run As, simply right-click on the target install file, and choose Run
    As Administrator. A manifest file can be included with your application
    which automatically runs it as an admin (or rather asks the person running
    it to approve it as an admin, assuming they have the permissions/password).
    You can get information on how to make the manifest file at the following
    link (among lots of others - just Google Vista Manifest):

  5. #5
    fniles Guest
    Thank you everybody. Following Tom's suggestion worked !
    But, how are we going to do it for our end users ? There may be thousands of
    them, so we can't just ask them to go to Command Prompt then register the
    file manually. To be able to install (using Installshield) and let the
    installation register all the ActiveX controls automatically, how can I do
    it ?
    Do I need to ask the user to turn off their UAC ?

    Installshield is set to register the COM component, and this works in
    Win2000 and WinXP, but not in Vista.
    I can successfully use the elevated Command Prompt to register each control
    manually, but I would like it to be done automatically.
    It seems that I need to turn off the UAC and install the application, then I
    can turn UAC back on.

  6. #6
    aniruddhagalgali Guest
    If I log-in as an Administrator, and then double-click on the Installer
    executable, still it fails to register the ActiveX component.
    But if I right-click on the Installer executable and Run As
    Administrator, then it is registered smoothly.

    Could someone please explain why does this happen?
    And can this be handled from Install Shield?

    It's probably because Vista doesn't recognize the installer executable as an
    installer, but just sees it as a plain old executable, and hence will try
    running it without elevated privileges.

    If you renamed it to setup.exe or update.exe or install.exe it will probably
    work fine, since then Vista will recognize it as an installer.

  7. #7
    Join Date
    Jan 2008
    Posts
    1
    Dear Tom when i did what you told me to do i am getting another message stating that and i quote "To Register A Module You Must Provide A Binary Name".The options for the binar names are and i quote "/u - Unregister server,
    /s - Silent; display no message boxes
    /i - Call DllInstall passing it an optional [cmdline];when used with u calls dll uninstall
    /n - do nor call DllRegisterServer;this option must be used with /i.
    So what is it i have to do now to resolve this problem for good please help cause i am getting frustrated trying to figure it out and i would really appreciate it alot if there is something you can do that will fix it one time

    I am a frustrated vista user. Seems everything requires the user to download something else to get the simplest of programs to work. I, along with most people, am not a computer expert. Although, I will say if vista was crated by experts - well they don't know anything.

    OK rant over, I got the 0x80040200 error code while attemting the simple act of registering a .ocx file using regsver32 (in ME and XP, I would simply place the .ocx icon over the regsver32 icon and DONE. Vista, of course, not so!

    I did a search on error code 0x80040200 and found this site. However, I could not find a solution here (yes my user account is turned off). I did however, come across a program that does register .ocx and .dll on vista.

    Easy OCX/DLL MANAGER download (anywhere - I just put it on desktop) and simple functioning (just check the approprite radio button .ocx or .DLL) and load the file you want to register. IT WORKS

    Back to venting frustration...as soon as my warranty is up I will dump vista and load in XP.

  8. #8
    Peter Foldes Guest

    Re: DLLRegisterServer failed with error code 0x80040200

    Another Techarena genius

Similar Threads

  1. Replies: 3
    Last Post: 03-01-2014, 10:37 AM
  2. call to DllRegisterServer failed 0x8002801c
    By greensmachine_snake in forum Vista Help
    Replies: 4
    Last Post: 02-07-2011, 04:38 AM
  3. Call to DllRegisterServer failed, Error code : 0x80004005
    By Dalapathi in forum Technology & Internet
    Replies: 3
    Last Post: 13-02-2011, 08:00 PM
  4. Replies: 2
    Last Post: 22-10-2008, 01:37 AM
  5. Replies: 2
    Last Post: 14-09-2005, 03:14 PM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Page generated in 1,711,628,010.66609 seconds with 17 queries