Problem in Registry Key
Updated: 22 May 2010 | 7 comments
This issue has been solved. See solution.
Hi All,
I added a new Registry key with DataType as DWord. During first time installation, it is updating the Registry key correctly as dword but during repair scenario, the registry key is getting changed to String DataType and for value '#' is getting added in the beginning. Any idea why it is happening? or Is it a known issue in Wise?
Thanks for the Help,
Panneer.
discussion Filed Under:
Comments
The only things I can think
The only things I can think of off the top of my head is to check to see if the registry value is being written by some other process i.e. self registry, or through one of the com tables.
Perform a repair with creating a log file to see if that sheds some light.
Is it the same package
Is it the same package that installs the DWORD DataType that performes the repair?
Is the registry key and entry used by other applications?
Check the Event Viewer for packages that has performing a repair to find out which (MSI) candidates that you may have to verify.
Enabling Windows Installer Logging policy may give you some more info if needed.
Is it the same package that
Is it the same package that installs the DWORD DataType that performes the repair?
Is the registry key and entry used by other applications?
Check the Event Viewer for packages that has performing a repair to find out which (MSI) candidates that you may have to verify.
Enabling Windows Installer Logging policy may give you some more info if needed.
Hi,
I apologise for leaving some information. I'm adding a Registry key with DataType as DWord and value for the key i'm getting from user [From UI] and storing in registry. During Repair, we will not get that Dialog hence i'm using System Search which will get the value of key from Registry and update it during repair.
During Repair, AppSearch is getting the value with '#' [ ie #5007 but original value will be 5007] and updating the registry with the new value hence DataType is changing to String from DWord.
Any idea for this issue?
Thanks for the Help,
Panneer.
There's no need to mess about
There's no need to mess about with AppSearch. Just ensure that the registry entry is set as a key path. That's how repair/self-heal works. Please tell me you don't have similar nonsense set up for files as well...
Don't know why 'x' happened? Want to know why 'y' happened? Use ProcMon and it will tell you.
Think about using http://www.google.com before posting.
re: There's no need to mess about
Not entirely true.
If the Registry table entry is set to one value and through the UI the user sets another value then that (UI) value would not exist during a repair hence why AppSearch is used to re-read the value back and set the Registry.Value column value back using a formatted string (ex. property) in the Table.Value column.
So the question would be;
What does the Registry table hold for this entry?
How are you referring to the new (AppSearch) value?
Seems that you're not setting a correct value (maybe missing '#' at the beginning of the AppSearch property value).
Not entirely true. If the
Not entirely true.
If the Registry table entry is set to one value and through the UI the user sets another value then that (UI) value would not exist during a repair hence why AppSearch is used to re-read the value back and set the Registry.Value column value back using a formatted string (ex. property) in the Table.Value column.
So the question would be;
What does the Registry table hold for this entry?
How are you referring to the new (AppSearch) value?
Seems that you're not setting a correct value (maybe missing '#' at the beginning of the AppSearch property value).
Thanks for the reply.
Registry table holds value #[PROPERTYNAME]
AppSearch value i'm getting in same PROPERTYNAME.
Yes, I didn't add '#' in the beginning of AppSearch property value. Where should i add # symbol, in the System Search tab before Propertyvalue (ex: #PORTNUMBER)?
I tried setting that registry key as KeyPath and marked 'Never overwrite if Key Path exists' for that component and now it is fine since it is not trying to change the registry key during repair. Will this fix should be fine?
Thanks for the Help,
Panneer.
Yes, that is a viable solution
Marking the component as "Never overwrite if key path exists" is a good solution to your problem.
If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.
Would you like to reply?
Login or Register to post your comment.