Inno Setup-如何为文件夹赋予一个特定的用户权限

时间:2019-01-11 13:50:30

标签: windows permissions installer inno-setup acl

我想将文件夹权限授予一个特定用户(而不是用户组)。我已经看到了多个示例,但是它赋予了整个用户组权限。

[Dirs]
Name: "{app}"; Permissions: users-full

http://www.jrsoftware.org/ishelp/index.php?topic=dirssection

我尝试过,但是收到错误

[Dirs]
Name: "{app}"; Permissions: John-full
  

D:\ installer.iss上第68行的错误:参数“ Permissions”包括未知的SID:“ John”

是否可以向一个特定用户(硬编码字符串)授予权限?

1 个答案:

答案 0 :(得分:1)

我必须说我觉得这很可疑。用户不应具有对应用程序安装文件夹的写权限。如果应用程序需要存储一些数据,则应将它们写入用户配置文件文件夹(C:\Users\username\AppData)或公共数据文件夹(C:\ProgramData)。
另请参见Application does not work when installed with Inno Setup


无论如何,Inno Setup不支持向用户授予权限。我实际上认为,这是因为没有真正的好用例(如上所述)。

但是您可以改用Windows cacls command中的[Run] section

[Run]
Filename: "cacls"; Parameters: """{app}"" /g John:w"; Flags: runhidden

(未经测试-但应该可以给您带来灵感)