1

隨着Windows窗體(或WPF)應用程序,如果我通過Publish命令(的ClickOnce這是)創建一個安裝程序,安裝程序會創建與C:\Users\[UserName]\AppData\可執行文件和配置文件,應用程序文件夾。另一方面,如果安裝程序是通過安裝項目(MSI)創建的,則安裝的應用程序將位於C:\Program Files\My Company\My App中,其中包含可執行文件和配置文件。在這兩者中,我選擇了MSI路徑。我的應用程序設置在哪裏存儲?

我的期望是從Program Files的配置文件中讀取/寫入應用程序設置(如在項目屬性>設置選項卡中),即使我卸載程序或使用更新版本升級程序,這樣用戶的設置就不會丟失。但似乎並非如此。即使是配置文件的程序文件的版本是存在的,安裝的應用程序似乎是從讀/寫C:\Users\[UserName]\AppData\就好像它是一個ClickOnce應用程序。我錯過了什麼?

(這是VS2010 + Win7的+ C#+ .NET 4.0客戶端配置文件,但我不認爲這些事情有什麼關係)。

回答

0

我希望我的理解正確的方式你的問題。

如果你想知道,爲什麼設置讀取/寫入AppData文件夾,然後它是因爲安全/權限的原因。

當第一次啓動應用程序,從app.config文件的最初應用程序設置複製到該文件夾​​。您的應用程序將自動處理該新創建的文件。

這樣做,因爲它有讓用戶在您的所有用戶都能使用的Program Files文件夾中處理「全局」設置的風險。想想如果用戶只有權限讀取,但不寫入該文件,會發生什麼。

+0

有道理。謝謝。 – dotNET

相關問題