I have a Installshield project using only Installscript.

Within my project, I have a set of components that are set to self-register.

During the installation process, the self-registration process happens automatically before, I can run a bat file to configure their DCOM settings (via DCOMPerm). At the end of the installation, a dialog is displayed to restart the machine.

After the restart, I am able to run the software that I just installed and the components work just fine. However, if I open the dcomcnfg window then I am no longer able to run the software.

This is how it happens: I open the dcomcnfg window and expand the folders to see the DCOM components (without making any changes) and something happens in the registry. It seems to happen exactly when the DCOM folder (inside the dcomcnfg window) gets expanded. At that point, all of the self-reg components seem to lose their registration and therefore the software will not work unless I do two things: 1) de-register each of the self-reg components and 2)re-register them.

I have run procmon to see what happens when the dcomcnfg window gets expanded, but I don't see anything getting overwritten or deleted. I also have compared an exported the registry before I open the dcomcnfg window versus afterwards and I don't see anything being deleted or overwritten that would affect the self-registration of the components.

Has anyone run into a scenario like this? Please help


P.S. also I would appreciate if you know of another way to automatically set the DCOM Identity settings on components during the installation process. I may just do away with the DCOMPerm altogether....
0 Comments   [ - ] Hide Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
Answer this question or Comment on this question for clarity


Is your installation environment Windows XP Service Pack 2 ?

If so, does the following registry value exist in the registry ?


Value Name = DefaultAccessPermission

If it does, it might be worth deleting the DefaultAccessPermission registry value and repeating your test. (I advise exporting the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole key first, so you can restore things back if needed)


Answered 09/07/2007 by: spartacus
Black Belt

Please log in to comment
Thanks for your response Spartacus, I appreciate it.

The installation that I'm building is meant to run on both XP S2 as well as Server 2003. I checked the registry in the XP and the DefaultAccessPermission key does not exist. Do you have any other suggestions?

I am using DCOMPerm to do the following:
1) add a user account to the machine remote access and launch groups and give full permissions to it
2) set each component's identity (a.k.a. "run as") settings to the specified domain/user account
3) set one of the component's launch access to be launched only by the specified user account.

I can do item 1 with dcomperm without problems. However, it is when I try to implement items 2 and 3 (via dcomperm) that the self-reg components continually loose their registration. Every single time I open the dcomcnfg window, the components loose their registration and so I need to keep registering them every time... which of course is unacceptable.

Just to clarify, when I set the dcom permissions manually via the dcomcnfg window instead of using dcomperm, I don't experience any of those problems.

Answered 09/07/2007 by: 281developer
Yellow Belt

Please log in to comment