2011-06-06 43 views
2

可能重複:
Where to put common writable application files?我在哪裏在Vista/Win7的存儲文件,爲所有用戶具有讀/寫權限

在我的應用程序有一些設置,文件,這需要讀/寫權限,並且應該可供所有用戶訪問。

到目前爲止,我在網上發現的是,微軟讓你在Win Vista/7的一些特殊文件夾,但他們沒有滿足我的需求:
1)CSIDL_COMMON_APPDATA => C:\ ProgramData,沒有寫權限
2)CSIDL_APPDATA =>是用戶specifc
3)CSIDL_LOCAL_APPDATA =>是用戶特定

如何訪問這樣的文件夾,它包含應用數據,是由所有用戶accessable和具有讀/寫權限?

+1

爲什麼你設計一個程序,任何非管理用戶將能夠覆蓋一些數據,並毀掉了所有其他用戶的體驗? – 2011-06-06 14:52:01

+0

在大多數情況下共享客戶數據,當不使用數據庫時。 – 2011-06-06 14:57:36

+0

[在哪裏放普通的可寫應用程序文件?](http://stackoverflow.com/q/147016)可能會提供一些指示。 – Jorik 2011-06-06 14:58:11

回答

7

在全系統安裝時,您必須將它們寫入CSIDL_COMMON_APPDATA。 但您還需要在設置中設置權限。

不給權「大家」 - 「認證」比較好

如果你正在使用Windows安裝程序,那麼你必須要用戶和系統安裝服務。如果是用戶安裝,則必須寫入CSIDL_APPDATA或CSIDL_LOCAL_APPDATA(取決於漫遊或非漫遊數據)。

如果你懂德語,請在entwickler magazin 3.2011看看。 會有一篇關於主題的文章「Einstellungssache」。

MSDN - Data and Settings Management

+2

+1 CSIDL_COMMON_APPDATA在運行安裝程序時具有權限。 – 2011-06-06 15:44:25

+0

+1這就是我所做的 – Misha 2011-06-06 23:22:49

相關問題