Inno setup Inno安装程序卸载时自动删除只读文件夹

Inno setup Inno安装程序卸载时自动删除只读文件夹,inno-setup,Inno Setup,我有一个简单的应用程序,可以复制C:/directory中的一些文件夹和文件,属性为只读。我做得很好。但我的问题是,当我尝试卸载以前的版本并安装新版本时,此文件夹没有删除,因为属性设置为只读。我想做的是 1-用户安装应用程序时,我希望inno安装程序检查应用程序是否已安装 2-先卸载以前的版本,然后安装新版本 我必须为此文件夹和文件设置只读属性 [Files] Source: "D:\POS CAD Standard\acad.lsp"; DestDir: "{userappdata}\Auto

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

1-用户安装应用程序时,我希望inno安装程序检查应用程序是否已安装

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}"
使用

正如您已经发现的那样,还可以使用来允许升级

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

As:是否确实要将文件夹设置为只读?或者您是否希望阻止普通用户删除/修改文件?只读标志在这方面是一个糟糕的衡量标准。您最好更改文件夹的权限。这样,您就可以真正防止普通用户修改/删除文件;并使卸载时删除文件夹的操作正常(因为卸载程序以提升的权限运行)。是,文件夹必须是只读的,我必须这样做才能保存我的标准。其autocad绘图。确定,如何在安装前进行检查但只读权限不与只读属性执行相同的工作?使用只读属性(但不使用只读权限)升级安装时也会遇到问题。