我們有一個NET應用程序被安裝到Program Files文件夾中。 應用程序本身寫入一些文件並創建一些目錄到其應用程序文件夾。 但是,當一個正常的Windows用戶試圖使用我們的應用程序,它崩潰,因爲該用戶沒有寫入應用程序文件夾的權限。 默認情況下,所有用戶都有寫入權限的WinXP和WinVista中是否有任何文件夾?所有用戶文件夾或類似的東西?WinXP和WinVista中是否有一個文件夾,所有用戶都有寫入權限?
1
A
回答
2
沒有這樣的文件夾中。
但是你可以創建一個。
有CSIDL_COMMON_APPDATA它在Vista將映射到%ProgramData%(C:\ ProgramData)和XP映射到c:\的Documents and Settings \ AllUsers的\應用數據
隨意在裏面創建一個文件夾安裝程序並設置ACL,以便每個人都可以寫入該文件夾。
請記住COMMON_APPDATA已在公共控件庫的第5版中實現,這意味着它在Windows 2000及更高版本中可用。在NT4中,您可以在安裝目錄中創建該文件夾,並且在Windows 98及其之下,由於這些系統無論如何都沒有權限系統,因此無論如何都無關緊要。
下面是一些示例InnoSetup代碼來創建該文件夾:
[Dirs]
Name: {code:getDBPath}; Flags: uninsalwaysuninstall; Permissions: authusers-modify
[Code]
function getDBPath(Param: String): String;
var
Version: TWindowsVersion;
begin
Result := ExpandConstant('{app}\data');
GetWindowsVersionEx(Version);
if (Version.Major >= 5) then begin
Result := ExpandConstant('{commonappdata}\myprog');
end;
end;
0
我不確定是否有一個所有非管理員用戶都有權寫入的單一路徑。
我認爲正確的人會<User>\Application Data
相關問題
- 1. C#測試用戶是否有寫入文件夾的權限
- 2. 公用文件夾刪除所有用戶的所有權限
- 3. 如何拒絕對C#中所有用戶的文件夾的寫入權限?
- 4. Linux權限604,系統中的所有用戶是否都讀過該文件?
- 5. 檢查是否有其他用戶有權寫入文件
- 6. 爲我的程序文件夾的所有用戶設置寫入權限
- 7. Windows中的每個人都有哪些文件夾或IIS用戶有權讀取和寫入?
- 8. 檢查我們是否有寫入權限的文件夾?德爾福
- 9. 遞歸地設置所有文件和文件夾的權限
- 10. 在Delphi中創建一個帶有任何用戶寫入權限的文件
- 11. 「所有用戶」文件夾
- 12. 目錄中所有文件的列表組和用戶權限
- 13. 是否所有JPEG文件都是JFIF?
- 14. 打印所有用戶都有閱讀權限的$ d的所有子目錄
- 15. 什麼文件夾保證用戶在Windows上有寫入權限?
- 16. MySQL用戶和所有權限
- 17. 您的Magento文件夾沒有足夠的寫入權限。
- 18. 設置C++文件夾中所有文件的權限
- 19. 從Windows服務寫入文件沒有用戶權限?
- 20. Laravel:檢查用戶是否有權限
- 21. 是否可以嵌入文件夾中的所有文件?
- 22. Nant - 如何檢查用戶是否具有對特定文件夾的寫入權限。
- 23. 是否所有Perl 6引用構造都具有期限優先權?
- 24. 維克斯:如何設置文件夾的權限和所有子文件夾
- 25. 爲Wix設置文件夾和所有子文件夾的權限
- 26. 我怎樣才能讓所有人都可以擁有寫入權限
- 27. 是否有一個標誌來請求所有Facebook授權的擴展權限?
- 28. 更改文件權限所有權
- 29. 是否有單一權限類型來訪問所有數據
- 30. 是否有一個讀取和寫入.properties文件的Delphi庫?
太棒了,這正是我一直在尋找。 – 2009-01-12 17:10:06