【问题标题】:Inno Setup Make dirs and files read onlyInno Setup 使目录和文件只读
【发布时间】:2016-03-30 12:10:26
【问题描述】:

我是 Inno Setup 的新用户。我的问题是我有一些文件夹和一个文件。我想制作一个安装包来安装所有这些。这是我的代码

[Files]
Source: "D:\POS CAD Standard\CAD\*"; DestDir: "C:\POS CAD Standard";  Flags: ignoreversion recursesubdirs createallsubdirs
Source: "D:\POS CAD Standard\acad.lsp"; DestDir: "{userappdata}\Autodesk\AutoCAD 2014\R19.1\enu\support"; Flags: ignoreversion 

[Dirs]
Name:   "C:\POS CAD Standard"; Attribs:readonly hidden system; Permissions: users-readexec;Flags:

[Icons]
Name: "{group}\{cm:UninstallProgram,POS CAD Standard}"; Filename: "{uninstallexe}"

它工作正常,但是当我尝试设置到另一台 PC 时,找不到我的源文件,我想将一些文件(不是文件夹)设置为只读。

【问题讨论】:

  • 那么您的实际问题是什么?那个“找不到源文件”或者你“想让一些文件(不是文件夹)只读”

标签: inno-setup


【解决方案1】:

使用Attribs: readonly parameter

[Files][Dirs] 部分都支持它。

Source: "D:\POS CAD Standard\CAD\*"; DestDir: "{sd}\POS CAD Standard"; \
    Flags: ignoreversion recursesubdirs createallsubdirs; Attribs: readonly

请注意,我使用的是{sd} constant,而不是硬编码C: 驱动器(这是一种不好的做法)。

【讨论】:

  • 请教另一个问题。如何在安装新版本之前自动卸载旧版本。
  • 谢谢马丁。并转到这个答案但没有用,因为文件夹属性设置为只读它不会自动删除
  • 好的,我明白了。所以请提出一个关于自动删除只读文件夹的新问题。
  • 不过,您真的想让文件夹只读吗?撤销普通用户的修改权限不是更有趣吗?这仍然允许卸载程序删除文件夹。
猜你喜欢
  • 2023-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-13
相关资源
最近更新 更多