在winform的安裝工具中,少不免有一些設定檔要放到app.config去,於是修改也是成了一種需求!
無論是修改web.config還是app.config,普遍方式都有兩種,用net內建封裝的類,或是自訂xml操作。
可參考之前的一篇:網站安裝打包 webconfig修改[三]
這裡用的,還是以xml方式操作,比竟類都寫了,就順路用上了。
這裡的操作方式和webconfig的差不多一個樣:
修改app.config
string appConfigPath = startPath + "/XXX.exe.config";
WebConfigHelper appConfig = new WebConfigHelper(appConfigPath);
if (appConfig.LoadIsOK)
{
WebConfigAppSetting appSetting = appConfig.AppSetting;
if (appSetting != null)
{
appSetting.Set("SoftSetup_WinRARSystemPath", txtSoftSetup_WinRARSystemPath.Text);
appSetting.Set("SoftSetup_IISPath", txtSoftSetup_IISPath.Text.Replace(startPath, ""));
}
if (appConfig.Save())
{
ConfigurationManager.RefreshSection("appSettings");
MessageBox.Show("修改成功!"); return;
}
}
MessageBox.Show("修改失敗!");
這裡最值得一提的一句是:ConfigurationManager.RefreshSection("appSettings");
修改完app.config時,雖然是修改了檔案,但運行在記憶體中的app.config卻還沒有修改.
所以你改完檔案,再取值,還是記憶體中的舊值,因此修改完後,需要重新載入一下。
打完,收工!