Search code examples
inno-setupfile-permissionsaclpascalscriptnetwork-service

Modify selected directory access permission in Inno Setup


In my project, I have an TInputDirWizardPage where user can select a directory for a database backup. So it can be any drive. I need to add NETWORK SERVICE account to the user list of this directory and modify it.

enter image description here

Is it possible to set this in [Dir] section? If not how can I implement this?


Solution

  • Yes, the [Dirs] section can set permissions for the "networkservice". Use Permissions flag with networkservice-prefixed value:

    [Dirs]
    Name: {code:GetDir}; Permissions: networkservice-readexec
    
    [Code]
    var 
      InputDirPage: TInputDirWizardPage;
    
    function GetDir(Param: string): string;
    begin
      Result := InputDirPage.Values[0];
    end;