Inno Setup拒绝设置某些文件的权限

尼尔斯·吉勒敏

我正在编写一个Inno Setup脚本,该脚本需要添加/修改某些文件的权限。但是,它正在设置某些文件的权限,而不是其他文件的权限。相关代码:

[Files]
Source: "K:\user\Odin\Installer Files\C_Odin\*"; DestDir: "{sd}\Odin"; Flags: ignoreversion recursesubdirs createallsubdirs

// CODE OF INTEREST STARTS HERE
Source: "K:\user\Odin\Installer Files\C_Odin\PDOXUSRS.NET"; DestDir: "{sd}\Odin"; Permissions: users-modify
Source: "K:\user\Odin\Installer Files\Data\PDOXUSRS.NET"; DestDir: "{sd}\Odin\Data"; Permissions: users-modify
Source: "K:\user\Odin\Installer Files\Data\Users.DB"; DestDir: "{sd}\Odin\Data"; Permissions: users-modify

第一个文件的权限设置正确,后两个文件的权限设置不正确。任何见解都将不胜感激

使用/ LOG运行安装可执行文件,在其中找到该文件。

2016-07-22 16:45:12.502   -- File entry --
2016-07-22 16:45:12.502   Dest filename: C:\Odin\WorkStn.cfg
2016-07-22 16:45:12.502   Time stamp of our file: 2016-07-22 16:19:28.000
2016-07-22 16:45:12.502   Dest file exists.
2016-07-22 16:45:12.502   Time stamp of existing file: 2016-07-22 16:19:28.000
2016-07-22 16:45:12.502   Version of our file: (none)
2016-07-22 16:45:12.518   Version of existing file: (none)
2016-07-22 16:45:12.518   Installing the file.
2016-07-22 16:45:12.518   Successfully installed the file.
2016-07-22 16:45:12.518   Setting permissions on file: C:\Odin\WorkStn.cfg
2016-07-22 16:45:12.518   -- File entry --
2016-07-22 16:45:12.518   Dest filename: C:\Odin\Data\PDOXUSRS.NET
2016-07-22 16:45:12.518   Time stamp of our file: 2016-07-22 12:04:28.000
2016-07-22 16:45:12.518   Installing the file.
2016-07-22 16:45:12.518   Creating directory: C:\Odin\Data
2016-07-22 16:45:12.518   Successfully installed the file.
2016-07-22 16:45:12.518   Setting permissions on file: C:\Odin\Data\PDOXUSRS.NET
2016-07-22 16:45:12.518   -- File entry --

完整日志https://gist.github.com/nguillermin/d814a14f68db8ebba1720a3af2f42a54

马丁·普里克里(Martin Prikryl)

日志文件显示两个文件都安装了两次。

很明显,为什么第一个文件安装了两次。第一次通过通配符条目,第二次通过显式条目。不带Permissions属性的通配符条目位于带属性的显式条目之前Permissions,因此具有权限的第二个安装将覆盖没有权限的第一个安装。

但是您没有向我们显示安装有问题文件的第二个条目。因此,我们不知道它是什么样子,也不知道它是在带有Permissions属性的条目之前还是之后


无论如何,请注意让两个条目安装同一文件是错误的。

它不像两个条目以某种方式合并一样起作用。该文件实际上安装了两次,并且第一个条目的属性丢失。您应该从通配符条目中排除具有特定条目的文件,例如:

Source: "K:\user\Odin\Installer Files\C_Odin\*"; Excludes: "PDOXUSRS.NET"; \
    DestDir: "{sd}\Odin"; Flags: ignoreversion recursesubdirs createallsubdirs

Source: "K:\user\Odin\Installer Files\C_Odin\PDOXUSRS.NET"; \
    DestDir: "{sd}\Odin"; Permissions: users-modify

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Inno Setup安装JRE?

来自分类Dev

Inno Setup设置TInputQueryWizardPage高度

来自分类Dev

Inno Setup –更新之前压缩本地文件

来自分类Dev

Inno Setup从CDATA创建TStringList

来自分类Dev

更改Inno设置清单

来自分类Dev

防止Inno Setup在卸载时删除某些文件

来自分类Dev

Inno Setup语法-OR,AND

来自分类Dev

Inno Setup查找子文件夹

来自分类Dev

Inno Setup Abs(Integer)功能

来自分类Dev

inno setup中的“ Not in a loop”错误

来自分类Dev

Inno设置页面顺序

来自分类Dev

Inno Setup:选择组件的功能

来自分类Dev

Inno Setup隐藏日志条目

来自分类Dev

Inno Setup中的TTreeView

来自分类Dev

在Inno Setup中创建ZIP文件

来自分类Dev

在Inno Setup中复制隐藏文件

来自分类Dev

Inno Setup-如何设置安装文件夹的权限

来自分类Dev

未捕获Inno Setup异常

来自分类Dev

Inno Setup ComponentsList OnClick事件

来自分类Dev

提供Inno Setup下载功能的文件大小

来自分类Dev

根据在线文件设置Inno Setup安装程序版本

来自分类Dev

Inno Setup:从测试文件中删除空行

来自分类Dev

Inno Setup更改c:\权限

来自分类Dev

Inno Setup Compiler:如何修改文件内容

来自分类Dev

Inno Setup查找子文件夹

来自分类Dev

Inno Setup,检测参数文件是否存在?

来自分类Dev

Inno Setup - 拒绝注册表项的 ACL

来自分类Dev

Inno Setup 从输入用户解压文件

来自分类Dev

Inno setup 只删除文件夹