web-dev-qa-db-ja.com

InnoSetup-フォルダーの内容だけでなくフォルダーに完全なアクセス許可を設定する方法

Inno Setupで作成したキットは、アプリケーションをC:\Program Files\MyAppにインストールします。

アプリケーションが起動すると、C:\Program Files\MyApp\logs\に新しいログファイルを作成しようとしますが、失敗します。

私のInnoスクリプトでは、次の設定があります。

[Dirs]
Name: "{app}";

[Files]
Source: logs\*; DestDir: {app}\logs\; Flags: ignoreversion recursesubdirs createallsubdirs; Permissions: everyone-full

これにより、logsフォルダー内のすべてのファイルに対する完全なアクセス許可が付与されますが、フォルダー自体に対する完全なアクセス許可は付与されません。そのため、アプリケーションがそのフォルダー内に新しいログファイルを作成しようとすると、失敗します。

フォルダ内の既存のファイルだけでなく、フォルダにも完全なアクセス許可を設定するにはどうすればよいですか?

14
Cornelia

[Dirs]セクションの下のlogsフォルダーのアクセス許可を設定すると、うまくいきました。

[Dirs]
Name: "{app}"; 
Name: "{app}\logs"; Permissions: everyone-full

[Files]
Source: logs\*; DestDir: {app}\logs\; Flags: ignoreversion recursesubdirs createallsubdirs; Permissions: everyone-full

しかし、 この投稿 のように、それが適切な方法であるかどうかはわかりません。

17
Cornelia

次のコードを使用するだけでうまくいき、もっとsecured

[Dirs]
Name: "{app}\logs"; Permissions: users-full
5
Jean