This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Registry entry not being created
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 10, 2011
03:29 PM
Registry entry not being created
Installshield 2011 Premier
Basic MSI
I am doing what seems should be one of the most basic things through Installshield, creating a registry entry..
However it seems that no matter how I add it to my project, it never ends up where the final install creates the entry. I have been attempting to add the registry entry of HKLM/SOFTWARE/CSS/FRAMEWORK/Default (value blank as well as tried with a value of [INSTALLDIR]) and have done so by either adding a new component to a feature (no file associated) that creates the entry, as well as having an existing component create the registry key. Neither one of them seem to work and I feel as I have been beating my head against the desk all day.
I have verified that the data displays in the registry table of the MSI. Logging doesnt seem to indicate that there was a failure or error in creating the key, however it just doesnt exist.
Any suggestions of where to look?
Basic MSI
I am doing what seems should be one of the most basic things through Installshield, creating a registry entry..
However it seems that no matter how I add it to my project, it never ends up where the final install creates the entry. I have been attempting to add the registry entry of HKLM/SOFTWARE/CSS/FRAMEWORK/Default (value blank as well as tried with a value of [INSTALLDIR]) and have done so by either adding a new component to a feature (no file associated) that creates the entry, as well as having an existing component create the registry key. Neither one of them seem to work and I feel as I have been beating my head against the desk all day.
I have verified that the data displays in the registry table of the MSI. Logging doesnt seem to indicate that there was a failure or error in creating the key, however it just doesnt exist.
Any suggestions of where to look?
(6) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 11, 2011
07:35 AM
Do you know about the installation state of the component in the log file. Was the component (OR feature) installed at all or not. Look for "InstallValidate" text in the log file and under this u will know the installation states for the feature and components. It should be something like below:
Feature:, Installed: , Request: , Action.
If possible share the log file.
Regards
snip
Feature:
If possible share the log file.
Regards
snip
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 11, 2011
09:28 AM
All the components install correctly and the log file snippet below is of the component that the registry entry is attached to...
This seems to be the log piece showing the creation of the registry value:
[CODE]MSI (s) (F8:4C) [08:19:44:768]: Executing op: ActionStart(Name=WriteRegistryValues,Description=Writing system registry values,Template=Key: [1], Name: [2], Value: [3])
Action 8:19:44: WriteRegistryValues. Writing system registry values
MSI (s) (F8:4C) [08:19:44:768]: Executing op: ProgressTotal(Total=1,Type=1,ByteEquivalent=13200)
MSI (s) (F8:4C) [08:19:44:768]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\CSS\FRAMEWORK,,BinaryType=0,,)
MSI (s) (F8:4C) [08:19:44:768]: Executing op: RegAddValue(,,)
WriteRegistryValues: Key: \SOFTWARE\CSS\FRAMEWORK, Name: , Value: [/CODE]
Component: __MessageQueueRouterService.exe65; Installed: Null; Request: Local; Action: Local
Component: MessageQueueRouterService.exe; Installed: Absent; Request: Local; Action: Local
This seems to be the log piece showing the creation of the registry value:
[CODE]MSI (s) (F8:4C) [08:19:44:768]: Executing op: ActionStart(Name=WriteRegistryValues,Description=Writing system registry values,Template=Key: [1], Name: [2], Value: [3])
Action 8:19:44: WriteRegistryValues. Writing system registry values
MSI (s) (F8:4C) [08:19:44:768]: Executing op: ProgressTotal(Total=1,Type=1,ByteEquivalent=13200)
MSI (s) (F8:4C) [08:19:44:768]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\CSS\FRAMEWORK,,BinaryType=0,,)
MSI (s) (F8:4C) [08:19:44:768]: Executing op: RegAddValue(,,)
WriteRegistryValues: Key: \SOFTWARE\CSS\FRAMEWORK, Name: , Value: [/CODE]
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 11, 2011
11:55 AM
Ok, so I found that it is installing it... however it is not installing it in the path I specified in the registry. Instead, it is installing it to:
HKLM\Software\Wow6432Node\CSS\Framework\
instead of:
HKLM\Software\CSS\Framework\
Realized after researching that... that it was due to being installed on a 64bit OS as 32 bit applications use the resulting directory while 64 bit use the one I was attempting to input.
I have now attempted to use the "Disable Registry Reflection" setting as "Yes" so that it shouldnt change depending on the OS version (as we are using this as just storing some information, not settings). It still however is reflecting to the 32 bit section of the registry as it originally was and seems to be ignoring the reflection setting entirely.... (test machine is server 2008 R2 with windows installer 5.0)
Ideas? Id like to get the registry entry to always display in the common hklm/software key
HKLM\Software\Wow6432Node\CSS\Framework\
instead of:
HKLM\Software\CSS\Framework\
Realized after researching that... that it was due to being installed on a 64bit OS as 32 bit applications use the resulting directory while 64 bit use the one I was attempting to input.
I have now attempted to use the "Disable Registry Reflection" setting as "Yes" so that it shouldnt change depending on the OS version (as we are using this as just storing some information, not settings). It still however is reflecting to the 32 bit section of the registry as it originally was and seems to be ignoring the reflection setting entirely.... (test machine is server 2008 R2 with windows installer 5.0)
Ideas? Id like to get the registry entry to always display in the common hklm/software key
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 11, 2011
04:47 PM
You might need to do the following before creating your key so that it writes to the 64 bit part of the registry:
REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY;
REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY;
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 12, 2011
01:23 AM
If you always want the registry entry to go to common HKLM\Software then its better to create a 64 bit installation because HKLM\Software is dedicated for 64 bit installations and if that is what u want u should choose a 64 bit package.
Having created a 32 bit package then working around to move the registry to 64 bit hive is not a good idea.
I would suggest you to create a 64 bit package because this is what u want. Is there a limitation as to why u dont want a 64 bit package???
Having created a 32 bit package then working around to move the registry to 64 bit hive is not a good idea.
I would suggest you to create a 64 bit package because this is what u want. Is there a limitation as to why u dont want a 64 bit package???
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 13, 2011
12:47 PM
snip_1415 wrote:
If you always want the registry entry to go to common HKLM\Software then its better to create a 64 bit installation because HKLM\Software is dedicated for 64 bit installations and if that is what u want u should choose a 64 bit package.
Having created a 32 bit package then working around to move the registry to 64 bit hive is not a good idea.
I would suggest you to create a 64 bit package because this is what u want. Is there a limitation as to why u dont want a 64 bit package???
It was my understanding that by creating a 64 bit package, it would not install to a 32 bit machine?
