I want to run from my C++ application the repair for other application - execute programatically what will happen when I manually select repair option for program in Windows->Control Panel->Program
.
For remove option, I could just search registry for:
KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
on a 64-bit machine)
And than use the UninstallString
to find which command I have to execute with System()
function.
But how to run repair in the similar way? There is no such position in registry for programs like RepairString
.
I want to find general method for all programs (of course I mean the programs that left information in registry).
Additional question: is it possible that applications listed by e.g MsiEnumProductsEx
don't have their UninstallString
registry entry?
p.s. Info about registry entires for remove option I took from great Pat's post: