我想在使用MSI安裝程序安裝我的WPF應用程序期間修改MyApp.exe.config文件中的userSettings部分(Properties.MyApp.Default)。在MSI安裝過程中更改userSettings
我基本上實現了它這樣的優秀文章:http://raquila.com/software/configure-app-config-application-settings-during-msi-install/
不同的是,我不是編輯的appSettings但userSettings部分。
問題是,雖然代碼運行正常,但不會保存設置。安裝後,配置文件包含我在開發環境中使用的舊設置。 我也嘗試重寫OnAfterInstall(System.Collections.IDictionary stateSaver)而不是Install(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,但這對我來說似乎是一種矯枉過正。
在此先感謝!
在MSI安裝期間保存用戶設置時,它們被保存到C:\ Users \ Username \ AppData \ Local \ Microsoft_Corporation \ SomeHash \ Version(MSI version?)\ user.config。 – 2010-10-08 03:01:33