我有一个简单的应用程序,它使用属性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}"
答案 0 :(得分:2)
正如您已经发现的那样,也可以使用overwritereadonly
flag来升级。
Source: "D:\POS CAD Standard\CAD\*"; DestDir: "{sd}\POS CAD Standard"; \
Flags: recursesubdirs createallsubdirs uninsremovereadonly overwritereadonly; \
Attribs: readonly hidden system;