config.Save(ConfigurationSaveMode.Modified);を呼び出しています。この呼び出しは、WindowsXPでは正常に機能します。
Vistaで実行すると、次のようになります。
例外:System.Reflection.TargetInvocationException:呼び出しのターゲットによって例外がスローされました。---> System.Configuration.ConfigurationErrorsException:構成ファイルのロード中にエラーが発生しました:パス'C:\ Windows \ system32\2lqfj0cv.tmp'へのアクセスが拒否されました。(C:\ Windows \ system32 \ MsiExec.config)---> System.UnauthorizedAccessException:パス'C:\ Windows \ system32\2lqfj0cv.tmp'へのアクセスが拒否されました。
ここで適切な事実は、WindowsインストーラーMSI(マネージDLLへの呼び出し)から上記の呼び出しを実行しているということです。ユーザー権限を上げるために何かする必要があると思いますか?Vistaの権限について本当によく知りませんか?