MSI インストーラーを使用した WPF アプリケーションのインストール中に、MyApp.exe.config ファイルの userSettings セクション (Properties.MyApp.Default) を変更しようとしています。
私は基本的にこの優れた記事のように実装しました: http://raquila.com/software/configure-app-config-application-settings-during-msi-install/
違いは、appSettings ではなく userSettings セクションを編集していることです。
問題は、コードは正常に実行されますが、設定が保存されないことです。インストール後、構成ファイルには、開発環境で使用する古い設定が含まれています。また、Install(System.Collections.IDictionary stateSaver) の代わりに OnAfterInstall(System.Collections.IDictionary stateSaver) をオーバーライドしようとしましたが、違いはありません。
構成値を変更する必要があるコードは次のとおりです。
protected override void OnAfterInstall(IDictionary savedState)
{
base.OnAfterInstall(savedState);
string targetDirectory = Context.Parameters["targetdir"];
string tvdbAccountID = Context.Parameters["TVDBACCID"];
// read other config elements...
Properties.Settings.Default.Tvdb_AccountIdentifier = tvdbAccountID;
// set other config elements
Properties.Settings.Default.Save();
}
これらの変更を永続化する方法はありますか? 私はすでに Wix について読みましたが、それはやり過ぎのように思えます。
前もって感謝します!