我有一个Inno Setup安装程序,它将一些文件复制到Program Files
中,[Files]
部分是这样设置的:
[Files]
Source: "Bundled_Files\*"; DestDir: "{commonpf64}\StudioLinked\Romplur\"; Flags: ignoreversion recursesubdirs createallsubdirs; Permissions: users-full;
从Bundled_Files
内部复制的文件最终总是被设置为只读。我已经将权限设置为users-full
,但似乎没有改变任何东西。是否有办法确保文件不是只读的?
我尝试在[Files]节之前添加一个额外的[Dirs]节,如下所示:
[Dirs]
Name: "{commonpf64}\StudioLinked\Romplur\"; Permissions: users-full;
但这也没有改变文件夹的只读设置。
在Windows 10上使用Inno安装程序6.2.1。任何帮助都很感谢!
1条答案
按热度按时间whhtz7ly1#
我使用以下代码使安装目录的子目录可写和可编辑:
但是,您应仅将数据文件存储在“C:\Program Files”的任何可写目录或子目录中,而不存储可执行文件:否则,这会打开一个安全漏洞(这就是为什么“C:\Program Files”对于普通用户是只读的原因!)。
存储应用程序特定数据的正确位置是ProgramData目录或AppData目录,这正是Microsoft所期望的。有关更一般的讨论,请参阅Where is the correct place to store my application specific data?。
请参阅https://jrsoftware.org/ishelp/index.php?topic=consts如何在Inno Setup中使用这些目录。