Ứng dụng của chúng tôi sử dụng một thành phần yêu cầu tệp giấy phép trong thư mục có tệp thực thi của chúng tôi, điều này xảy ra là ứng dụng .NET WinForms mặc dù tôi cho rằng nó không quan trọng đối với câu hỏi này. Khi được cài đặt trên một số máy XP Pro (chỉ ba trong số vài trăm cho đến nay), thành phần này ném một ngoại lệ giấy phép. Vì vậy, tôi đã tạo lại tệp giấy phép và gửi cho nhà cung cấp thành phần (EMC Captiva), nơi nhà cung cấp xác nhận lỗi là do nhóm "Người dùng" không có quyền đọc trên tệp. Người dùng gặp lỗi xảy ra là quản trị viên cục bộ, nhưng đó là ngoài điểm vì tôi vẫn còn tò mò về câu hỏi tổng quát hơn. Vì vậy, câu hỏi của tôi là, ACL được lưu trữ trong một tệp sao cho chúng tuân theo tệp trong suốt cuộc đời, đặc biệt khi tệp giấy phép được tạo trên máy dev của tôi (máy 1), được lưu trữ trong Subversion (máy 2), được chọn ngoài tầm kiểm soát nguồn bởi TeamCity (máy 3), được đóng gói vào trình cài đặt bởi InstallShield (máy 4), và cuối cùng được triển khai tới máy của khách hàng (máy 5), nơi nó được cài đặt bởi một Quản trị viên? Còn sau khi tôi tạo tệp trên máy tính dev của tôi (máy 1), hãy tải tệp lên nhà cung cấp thành phần qua trang web hỗ trợ của họ (máy 2) và người hỗ trợ tải xuống máy của họ để kiểm tra (máy 3)?Windows lưu trữ ACL ở đâu và làm ACL theo một tệp từ máy này sang máy khác?
Tôi không biết điều này chắc chắn (đó là lý do tại sao tôi yêu cầu ở đây), nhưng tôi giả định mỗi máy Windows lưu trữ ACL trong một thư mục/danh sách/bảng điều khiển trung tâm do NTFS quản lý thay vì được lưu trữ trong tệp. Điều gì xảy ra với ACL của tệp gốc khi nó được sao chép từ máy này sang máy khác, được lưu trữ trong Subversion, được đóng gói vào MSI, v.v.? Ai đó có thể chỉ cho tôi một số tài liệu tham khảo tốt nơi tôi có thể đọc về điều này?
Bạn đang cố gắng làm gì? Điều gì sẽ đóng gói ACL vào một gói MSI là tốt cho? Bạn không thể kiểm soát những gì mọi người làm với một tập tin một khi nó rời khỏi máy tính của riêng bạn, nếu đó là những gì bạn có trong tâm trí. – Tomalak
Như tôi đã nói: ACL là * không phải là một phần của tệp *. TortoiseSvn thậm chí không thể nhìn thấy ACL. – Tomalak
Đó là những gì các nhà cung cấp thành phần dường như được đề xuất, nhưng tôi không mua nó. – flipdoubt