2008-11-24 57 views
0

我升級的應用程序與XP許多不同的設置文件到Vista和文件的改變位置以使用從XP的WinForm轉換到Vista - Properties.Settings

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) 

行而不是編寫應用程序路徑。在物業設置中使用mannnny地點的值。這些值是從其他設置文件中的值中分配的。

有人告訴我,微軟將下降爲寫入Program Files文件這是很好的,這就是爲什麼我升級的虛擬化支持......

會像一個聲明如下導致在錯誤運行時還是需要在Vista中以某種方式處理?

Properties.Settings.Default.Properties["ConnectionString"].DefaultValue = config.ConnectionString; 

我以爲這樣就可以在運行時指定的值,並不能儲存在Program Files空間的值並有可能將其寫入VirtualStore?現在,這將工作,但是當虛擬化被移除時,它仍然可行嗎?

我不確定,不想先不問。我完全可以完全離開。任何幫助或意見,將不勝感激。謝謝。

回答

0

我們在XP和Vista上使用ClickOnce,我們沒有任何問題。當然,使用ClickOnce應用程序駐留在用戶的文檔設置中,這可能與您的情況有所不同。但是,我認爲我的ClickOnce體驗可能會給你一個部分解決方案。

這是一個link,來自在Vista上使用App.Config(寫入)的人。它表示,嘗試寫入App.Config並不是一個好主意。下面是他提出了2點建議:

  • 使用.settings文件,它給你的強類型設置和用戶/每屬性應用範圍,保存和屬性更改通知

  • 註冊appSettings部分在app.config中使用不同的名稱(比如說「userSettings」),併爲其指定allowExeDefinition =「MachineToRoamingUser」。這可以讓你保持現有的語法。

+0

感謝您的幫助。我更好地理解了我的問題,並在項目中找到了一些新的發現。顯然,我使用了單獨的xml文件以及app.config。必須改變大量的文件路徑,但所有設置。 – TEEKAY 2008-12-10 16:40:18