C++ アプリケーションから他のアプリケーションの修復を実行したい- でプログラムの修復オプションを手動で選択すると何が起こるかをプログラムで実行しWindows->Control Panel->Programます。
削除オプションについては、次のレジストリを検索できます。
KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall64 ビット マシン上)
そして、を使用して、関数UninstallStringで実行する必要があるコマンドを見つけSystem()ます。
しかし、同様の方法で修復を実行するにはどうすればよいでしょうか? のようなプログラムのレジストリには、そのような位置はありませんRepairString。
すべてのプログラムの一般的な方法を見つけたいです (もちろん、レジストリに情報を残したプログラムを意味します)。
追加の質問:たとえば、リストにあるアプリケーションにレジストリ エントリMsiEnumProductsExがない可能性はありますか?UninstallString
ps私が偉大なパットの投稿から取った削除オプションのレジストリ全体に関する情報: