Vista and automation DLL registration under non admin account

Giganews Newsgroups
Subject: Vista and automation DLL registration under non admin account
Posted by:  Markus Humm
Date: Wed, 15 Jul 2009


I'm writing a D2007 application which uses a inprocess automation dll of mine. Under XP everything works fine
and the install shield based installer is set up so that he extracts the COM informations of the DLL.
Under XP it works as it should and under Vista it works is run under a admin account.

But: when I install it under a admin account and then log off and log on to a non admin account the program start
triggers the installer which after displaying a small window wants to reboot. But: in the background my application
already tried to load the com dll and crashes with a MadExcept window.

I learned now that the registering of the COM DLL fails due to a permission problem. Running regsvr32 from cmd.exe
gives a 0x80004005 error code and running it from a admin cmd.exe does succed. So I have some questions:

1. it seems that the registration run under the admin account already, why is it necessary to run again on that
    non admin account?

2. how to solve it? Tell Install Shield to not register it and do the registration myself at the end of the installer?

Best regards