私たちのアプリは、実行可能ファイルのあるディレクトリにライセンスファイルを必要とするコンポーネントを使用しています。これはたまたま.NET WinFormsアプリですが、この質問には重要ではないと思います。一部のXPProマシン(これまでの数百台のうち3台)にインストールすると、コンポーネントはライセンス例外をスローします。そこで、ライセンスファイルを再生成して、コンポーネントベンダー(EMC Captiva)に送信しました。ベンダーは、「Users」グループにファイルの読み取り権限がないためにエラーが発生したと主張しています。エラーが発生したユーザーはたまたまローカル管理者ですが、もっと一般的な質問に興味があるので、それは重要ではありません。
だから私の質問は、特にライセンスファイルが私の開発マシン(マシン1)で生成され、Subversion(マシン2)に保存され、ソース管理からチェックアウトされたときに、ACLがその存続期間中ファイルに従うようにファイルに保存されているかどうかですTeamCity(マシン3)によって、InstallShield(マシン4)によってインストーラーにパッケージ化され、最終的に管理者によってインストールされた顧客のマシン(マシン5)にデプロイされましたか?開発マシン(マシン1)でファイルを生成し、サポートサイト(マシン2)を介してコンポーネントベンダーにアップロードし、サポート担当者が検査のためにファイルをマシン(マシン3)にダウンロードした後はどうでしょうか。
これは確かにわかりませんが(これがここで質問している理由です)、各Windowsマシンは、ファイル内ではなく、NTFSによって管理される中央ディレクトリ/リスト/テーブルにACLを格納すると想定しました。元のファイルのACLは、あるマシンから別のマシンにコピーされたり、Subversionに保存されたり、MSIにパッケージ化されたりするとどうなりますか?誰かが私にこれについて読むことができるいくつかの良い参考文献を教えてもらえますか?