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
フォルダー内のすべてのファイルに対する完全なアクセス許可が付与されますが、フォルダー自体に対する完全なアクセス許可は付与されません。そのため、アプリケーションがそのフォルダー内に新しいログファイルを作成しようとすると、失敗します。
フォルダ内の既存のファイルだけでなく、フォルダにも完全なアクセス許可を設定するにはどうすればよいですか?
[Dirs]セクションの下のlogs
フォルダーのアクセス許可を設定すると、うまくいきました。
[Dirs]
Name: "{app}";
Name: "{app}\logs"; Permissions: everyone-full
[Files]
Source: logs\*; DestDir: {app}\logs\; Flags: ignoreversion recursesubdirs createallsubdirs; Permissions: everyone-full
しかし、 この投稿 のように、それが適切な方法であるかどうかはわかりません。
次のコードを使用するだけでうまくいき、もっとsecured:
[Dirs]
Name: "{app}\logs"; Permissions: users-full