Unsere App verwendet eine Komponente, die eine Lizenzdatei in dem Verzeichnis mit unserer ausführbaren Datei benötigt, die zufällig eine .NET WinForms App ist, obwohl ich denke, dass es für diese Frage unerheblich ist. Bei der Installation auf einigen XP Pro-Rechnern (nur drei von einigen hundert bis jetzt) löst die Komponente eine Lizenzausnahme aus. Daher habe ich die Lizenzdatei neu generiert und an den Komponentenhersteller (EMC Captiva) gesendet, wo der Hersteller behauptet, der Fehler sei darauf zurückzuführen, dass die Gruppe "Benutzer" keine Leseberechtigungen für die Datei besitzt. Der Benutzer, der den Fehler entdeckt, ist zufällig ein lokaler Administrator, aber das ist neben dem Punkt, da ich immer noch neugierig auf die allgemeinere Frage bin.Wo speichert Windows ACLs und ACLs folgen einer Datei von einem Computer zum anderen?
Also meine Frage ist, sind ACLs in einer Datei gespeichert, so dass sie die Datei während ihrer gesamten Lebensdauer folgen, vor allem, wenn die Lizenzdatei auf meinem Rechner (Maschine 1) generiert wurde, in Subversion (Maschine 2) gespeichert, überprüft außerhalb der Quellcodeverwaltung von TeamCity (Maschine 3), von InstallShield (Maschine 4) in ein Installationsprogramm gepackt und schließlich auf dem Computer des Kunden (Maschine 5) bereitgestellt, wo es von einem Administrator installiert wurde? Was ist, nachdem ich die Datei auf meinem Dev-Computer (Maschine 1) erzeugt habe, sie über ihre Support-Site (Maschine 2) zum Komponentenhersteller hochlädt und der Support-Mitarbeiter sie zur Inspektion zu ihrer Maschine herunterlädt (Maschine 3)?
Ich weiß es nicht sicher (weshalb ich es hier frage), aber ich nahm an, dass jeder Windows-Rechner ACLs in einem zentralen Verzeichnis/list/table speichert, das von NTFS verwaltet und nicht in der Datei gespeichert wird. Was passiert mit der ACL der ursprünglichen Datei, wenn sie von einem Computer auf einen anderen kopiert wird, in Subversion gespeichert wird, in ein MSI gepackt wird usw.? Kann mir jemand auf gute Referenzen hinweisen, wo ich das nachlesen kann?
Was möchten Sie tun? Was wäre die Verpackung von ACLs in ein MSI-Paket? Sie können nicht kontrollieren, was Personen mit einer Datei tun, wenn sie Ihren eigenen Computer verlassen hat, wenn Sie das vorhaben. – Tomalak
Wie gesagt: Die ACL ist * nicht Bestandteil der Datei *. TortoiseSvn kann die ACL nicht einmal sehen. – Tomalak
Das scheint der Anbieter der Komponenten zu sein, aber ich kaufe es nicht. – flipdoubt