I'm using Developer 8 and having some difficulties with registry access. The msi I'm building launches a 3rd party application that access the registry to write some values. A requisite of my project is to have a single MSI lanching some applications. As far as I know the only way to do this is with custom actions.

The problem is that when InstallShield runs the program it throws an access denied exception. The exception says “Cannot access registry. Please ensure that the installer has access to the registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum”

If I run the application manually it works perfectly.

I’m using a Windows 2000 sp4 system as Administrator.

What can be the causes of this behavior?

Does a custom action have less permissions than a normal process?

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


Are you running the custom action with any particular execution / processing / scheduling?

Craig --<>.
Answered 03/08/2005 by: craig16229
Third Degree Brown Belt

Please log in to comment
Not at all. My MSI only has to launch some external exes. I tried to run my CA in different execute sequence order but it has no effect.

Investigating I found documentation about CA security (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/custom_action_security.asp). This article says that executing a CA with elevated right can be done by a restricted used adding the msidbCustomActionTypeNoImpersonate (0x800) type to the custom action. I tried this but it has no efect because the user is administrator I think.

Answered 03/08/2005 by: Cristian_2k
Yellow Belt

Please log in to comment