2016-02-28 56 views
0

我差不多完成了我的winforms應用程序。來自asp.net背景 有幾件事,我不知道如何處理當用戶安裝我的exe文件。用戶內容目錄最佳實踐

所以我的應用程序使用文件系統目錄來存儲內容文件mp3,mp4,(images),.txt & .zip文件。用戶可以添加新的(內容文件)來在我的應用程序中定製這些內容庫。

我的問題是。決定我的應用程序所依賴的這些目錄的位置的最佳做法是什麼?如果用戶被問到應該放在哪裏,他們是否應該進入c:ProgramFiles/MyApplication?

我只是想做到這一點,避免出現安裝問題,謝謝

+0

如果他們是用戶應該與之交互的東西,那麼他們應該進入文檔文件夾。看到依稀相關的答案[這裏](http://stackoverflow.com/questions/35669434/where-should-my-c-sharp-application-write-data-so-that-the-user-can-not-modify- O/35669488#35669488)。 –

+0

感謝科迪,看起來正是我所需要知道的。 –

+0

很抱歉,編輯此評論一段時間試圖讓它正確。 –

回答

0

的最好辦法。如果他們是一些用戶應與互動,那麼他們就應該在文件夾去。請參見模糊相關的答案here. - Cody Gray

由用戶帳戶運行的應用程序具有與該用戶相同的特權和權限。因此,應用程序無法做到用戶無法自己做的事情。

如果您需要存儲的數據旨在被用戶瀏覽或修改,它應該放在Environment.SpecialFolder.Personal中。

否則,數據應該存儲在Environment.SpecialFolder.ApplicationData(如果它應該漫遊的用戶帳戶)或Environment.SpecialFolder.LocalApplicationData(如果它不應該漫遊與用戶,而應該被限制爲本地機器)。

是的,用戶可以進入這些文件夾並銷燬數據。通過這樣做,他們冒着破壞應用程序的風險。你無法保護自己。

開發一個「修復」實用程序,通過在應用程序啓動時重新創建必要的文件(如果需要)可以從損壞中恢復。