Hi there,
I hope anyone can give me a hint...
In my MSI I've got two HKCU keys, which I both want to have the value "0". When I delete these keys and start the program again, the values are being created by self-repair. So it works, actually.
But: if the value of the keys changes (e.g. to "1"), self-repair doesn't correct it. But I always want it to be "0", when the program starts.

Any possibilty to handle that?

Please consider: I'm quite new to packaging (and sorry for my bad english...)

edit: Or just tell me that it's not possible at all...
0 Comments   [ + ] Show Comments

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.

Answers

0
It's possible. One way to accomplish this would be to create a simple routine that checks the registry value and resets it to '0' prior to calling the actual program. You could then reassign any shortcuts to point to this wrapper routine.
Answered 12/22/2010 by: sridtech
Senior Yellow Belt

Please log in to comment
0
Wrong, I'm afraid. Repair/self-healing only replaces missing data, not mismatched data. If the file/registry value is present, it won't be repaired.
Answered 12/23/2010 by: VBScab
Red Belt

Please log in to comment
0
I also thought about creating a CA, which checks on the value of the key. But that won't work.
OK, so I'll forget that...

Thanks for your help, both!
Answered 12/23/2010 by: Nicole
Senior Yellow Belt

Please log in to comment
0
Why not do something via a start-up or the login script?
Answered 12/24/2010 by: VBScab
Red Belt

Please log in to comment
0
My suggestion was not to create a custom action in the MSI. I'm assuming the 2 registry entries contained in your MSI have a default value set to '0'. Now, if the program (EXE) that is part of your MSI is the one causing the value to change from '0' to '1', then you could create a wrapper routine (EXE) that checks the reg value and resets it to '0' prior to calling the application EXE. Take this wrapper routine (EXE), make it part of your MSI install (you could drop it in the application directory), realign any shortcuts that point to the application EXE in the MSI to now point to this wrapper EXE. After the updated MSI is installed, each time you launch your program via the shortcut or double-clicking the wrapper EXE, the registry check would be enforced. I must add this is not the most elegant solution, but should get the job done.
Answered 12/27/2010 by: sridtech
Senior Yellow Belt

Please log in to comment
Answer this question or Comment on this question for clarity