Inno Setup在卸载时自动删除只读文件夹

时间:2016-04-04 08:08:40

标签: inno-setup

我有一个简单的应用程序,它使用属性READ ONLY复制C:/目录中的一些文件夹和文件。我做得很好。但我的问题是,当我尝试卸载以前的版本并安装新版本时,此文件夹未删除,因为属性设置为只读。我想做的是

1 - 当用户安装应用程序时我想要inno setup检查应用程序是否已经安装

2 - 卸载前一个,然后安装新版本。

我必须为此文件夹和文件设置属性只读。

[Files]
Source: "D:\POS CAD Standard\acad.lsp"; DestDir: "{userappdata}\Autodesk\AutoCAD 2014\R19.1\enu\support";
Source: "D:\POS CAD Standard\CAD\*"; DestDir: "{sd}\POS CAD Standard"; Flags:recursesubdirs createallsubdirs; Attribs: readonly hidden system;
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[dirs]
Name:   "{sd}\POS CAD Standard";Attribs: readonly hidden system;
[Icons]
Name: "{group}\{cm:UninstallProgram,ALstom POS CAD Standard}";Filename: "{uninstallexe}"

1 个答案:

答案 0 :(得分:2)

使用uninsremovereadonly flag

正如您已经发现的那样,也可以使用overwritereadonly flag来升级。

Source: "D:\POS CAD Standard\CAD\*"; DestDir: "{sd}\POS CAD Standard"; \
    Flags: recursesubdirs createallsubdirs uninsremovereadonly overwritereadonly; \
    Attribs: readonly hidden system;