After using DCOMPerm + dcomcnfg, self-reg components lose registration
Hello,
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
Thanks
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....
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
Thanks
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
[ + ] Show comments
Answers (2)
Please log in to answer
Posted by:
spartacus
16 years ago
Is your installation environment Windows XP Service Pack 2 ?
If so, does the following registry value exist in the registry ?
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole
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)
Regards,
Spartacus
If so, does the following registry value exist in the registry ?
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole
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)
Regards,
Spartacus
Posted by:
281developer
16 years ago
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.
Thanks.
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.
Thanks.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.