Thư mục ProgramData là nơi tốt nhất để lưu trữ các tệp có thể ghi của ứng dụng được chia sẻ bởi tất cả người dùng. Nhưng khi trình cài đặt Nsis được chạy với quyền quản trị (bắt buộc phải ghi vào Program Files), thì thư mục và tệp được tạo trong thư mục ProgramData chỉ đọc cho tất cả người dùng ngoại trừ quản trị viên. Làm thế nào để thay đổi điều đó và có các tập tin ghi cho tất cả người dùng bên trong thư mục ProgramData?Trình cài đặt Nullsoft, cách làm cho thư mục con ProgramData có thể ghi
7
A
Trả lời
7
Tôi không biết hành vi này có phải là một tính năng hay lỗi hay không, nhưng tôi đã tìm thấy cách giải quyết khác. Cần có plugin AccessControl (tải xuống và sao chép thư mục plugin Nsis). Bên trong "cài đặt" của NSIS kịch bản đặt một cái gì đó như thế này:
; This is important to have $APPDATA variable
; point to ProgramData folder
; instead of current user's Roaming folder
SetShellVarContext all
; This sets us permissions
AccessControl::GrantOnFile "$APPDATA\Folder" "(S-1-5-32-545)" "FullAccess"
AccessControl::GrantOnFile "$APPDATA\Folder\*" "(S-1-5-32-545)" "FullAccess"
S-1-5-32-545 tương đương với all users, do đó, mã này sẽ cấp quyền truy cập đầy đủ vào thư mục quy định và tất cả các file bên trong cho tất cả người dùng.
1
hoặc thiết lập thông qua dòng lệnh (Win7 chỉ): ExecWait 'ICACLS "$ APPDATA \ Folder"/Users cấp: (OI) (CI) M'
+0
windows server 2003 trở lên thực sự :) – nawfal
Các vấn đề liên quan
- 1. Ghi đè thư mục cài đặt mặc định cho Python bdist Trình cài đặt Windows
- 2. Ý nghĩa của thư mục ProgramData trong Windows là gì?
- 3. cách làm cho chương trình có thể cài đặt
- 4. Viết trong thư mục "ProgramData" (W7 và Vista) .NET
- 5. Cách nhận thư mục cài đặt?
- 6. Cài đặt ứng dụng CodeIgniter trong thư mục con
- 7. Vista và ProgramData
- 8. Làm thế nào để cung cấp cho đọc/ghi cho phép đến một thư mục trong khi cài đặt sử dụng .NET
- 9. Làm cách nào để cài đặt từ thư mục con git bằng pip?
- 10. Đặt quyền ghi cho tất cả người dùng cho thư mục chương trình của tôi
- 11. Cài đặt Java với cài đặt im lặng vào một thư mục có dấu cách
- 12. Thư mục cài đặt Windows
- 13. Cách tìm thư mục cài đặt của ứng dụng Qt?
- 14. Cách đặt thư mục nhập cho Doxygen?
- 15. Làm cách nào để cài đặt cpanm và local :: lib nếu tôi không thể ghi vào ~ /?
- 16. Đặt Grunt vào một thư mục con
- 17. Đặt Apache htdocs/thư mục con làm thư mục làm việc GIT
- 18. Wix - Thư mục cài đặt tùy chỉnh
- 19. Trình cài đặt hoặc không có trình cài đặt?
- 20. Tăng cài đặt thư viện cho Codeblocks
- 21. Làm thế nào tôi có thể cài đặt thư viện boto trên windows cho python?
- 22. Cách quét thư mục có ký tự đại diện với một thư mục con cụ thể
- 23. Trình cài đặt cho C# Ứng dụng
- 24. Sử dụng trình cài đặt Wix để thêm lối tắt vào thư mục con trong các chương trình startmenu
- 25. Cách xem một thư mục con của thư mục có thay đổi không
- 26. Tạo thư mục có quyền ghi cho nhóm
- 27. Thư mục cài đặt JRE trong Windows
- 28. Sử dụng .htaccess để đặt thư mục con làm thư mục gốc
- 29. Tại sao phải ảo hóa trên thư mục ProgramData trong MS Vista?
- 30. WiX - cách tạo thư mục con bin?
'điều khiển truy cập :: GrantOnFile "$ APPDATA \ Folder \ * "" (S-1-5-32-545) "" FullAccess "' dòng là không cần thiết vì tất cả các thư mục và tập tin bên trong 'Thư mục' sẽ được truy cập đầy đủ với dòng đầu tiên chính nó. – nawfal