regsvr32 and non admin users

F

Frankie Chaz

My company is migratng to Windows XP we have an in-house
written application that needs to have a DLL registered.
I am an administrator and the DLL registers just fine.
However, when a non-admin user runs the same code it
fails, indicating the object is not registered.
Apparently, regsvr32.exe only registers it for the
currently logged in user. This problems seems specific to
WinXP Pro as I have not noticed in it under NT 4 or Win2k.

A possibile solution is to give admin access to each user
and run regsvr32 to register it, but this is poor
solution because we have a 1000+ users! I know WinXP has
implemented more extensive enforcement of user-specific
privileges and software access, but we really need to
find a way to register it once for everyone.

HELP!
 
R

Roger Abell [MVP]

If you have 1000+ users you do have an Active Directory
environment ? If so, wrapper this up and assign it using
the software distribution capability of group policy.

As an alternative, in a startup script, test whether this is
or is not registered, and if not exec the regsvr32 to do so.

XP moves closer toward restricting actions that affect
the machine or all accounts to admins than W2k moved,
both as compared to NT 4.
 
T

Torgeir Bakken (MVP)

Frankie said:
My company is migratng to Windows XP we have an in-house
written application that needs to have a DLL registered.
I am an administrator and the DLL registers just fine.
However, when a non-admin user runs the same code it
fails, indicating the object is not registered.
Apparently, regsvr32.exe only registers it for the
currently logged in user. This problems seems specific to
WinXP Pro as I have not noticed in it under NT 4 or Win2k.

Hi

I have never heard about this problem before. This is not the normal behavior
for DLL registering on WinXP, if it was, many thousands of application would
have failed to run on WinXP (and most internal OS functions as well) for an
user that is a non-admin.
 
T

Torgeir Bakken (MVP)

Roger Abell said:
If you have 1000+ users you do have an Active Directory
environment ? If so, wrapper this up and assign it using
the software distribution capability of group policy.

As an alternative, in a startup script, test whether this is
or is not registered, and if not exec the regsvr32 to do so.

As I read the OP's post, the DLL is registered on the computer already, but it
is not "global", so it needs to be re-registered again for each user that needs
to run the in-house application (this must be a very special DLL registration,
because that is not normal behavior). A startup script will not solve this
because it runs under the system account and not the account that the user is
using.


If the OP really need to do this on a pr. user basis, here are some Runas
wrapper utilities or alternatives that might help the OP:

http://groups.google.com/[email protected]
 
R

Roger Abell [MVP]

I guess I can see your reading of the post.
However it sounded to me like it registers normally,
and successfully when done as an admin, but is just
denied when attempted with insufficient privs.

Roger

Torgeir Bakken (MVP) said:
As I read the OP's post, the DLL is registered on the computer already, but it
is not "global", so it needs to be re-registered again for each user that needs
to run the in-house application (this must be a very special DLL registration,
because that is not normal behavior). A startup script will not solve this
because it runs under the system account and not the account that the user is
using.


If the OP really need to do this on a pr. user basis, here are some Runas
wrapper utilities or alternatives that might help the OP:

http://groups.google.com/[email protected]

I guess I can see your reading of the post.
However it sounded to me like it registers normally,
and successfully when done as an admin, but is just
denied when attempted with insufficient privs in XP.

Consider, from OP:
I am an administrator and the DLL registers just fine.
However, when a non-admin user runs the same code
it fails, indicating the object is not registered. and
This problems seems specific to WinXP Pro as I have
not noticed in it under NT 4 or Win2k. and
A possibile solution is to give admin access to each
user and run regsvr32 to register it,


Roger
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top