2016-04-04 13 views
1

Ich habe eine einfache App, die einige Ordner und Dateien im Verzeichnis C:/mit dem Attribut READ ONLY kopiert. Ich habe es gut gemacht. Aber mein Problem ist, wenn ich versuche, die vorherige Version zu deinstallieren und die neue Version zu installieren. Dieser Ordner wurde nicht entfernt, weil das Attribut read only gesetzt ist. Was ich tun möchte, istInno Setup automatisches Löschen des schreibgeschützten Ordners bei der Deinstallation

1-wenn der Benutzer die App installieren I Inno Setup überprüfen möchten, ob die App bereits installiert oder nicht

2-deinstallieren Sie die vorherige erste und dann die neue Version installieren.

Ich muss Attribut nur für diese Ordner und Dateien lesen.

[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

As [Ich habe Sie gefragt bereits] (http://stackoverflow.com/q/36308479/850848#comment60395397_36309024): Haben Sie den Ordner wollen schreibgeschützt wirklich eingestellt? Oder wollten Sie verhindern, dass ein normaler Benutzer die Dateien löscht/ändert? Das schreibgeschützte Flag ist ein schlechtes Maß dafür. Sie sollten die Berechtigungen des Ordners besser ändern. Auf diese Weise verhindern Sie, dass normale Benutzer die Dateien ändern/löschen. und das Entfernen des Ordners bei der Deinstallation durchführen (da das Deinstallationsprogramm mit erhöhten Rechten ausgeführt wird). –

+0

Ja, die Ordner müssen schreibgeschützt sein, damit meine standard.its-AutoCAD-Zeichnungen gespeichert werden können. –

+0

ok martin, wie kann ich vor der Installation überprüfen –

Antwort

2

Verwenden Sie uninsremovereadonly flag.

Und wie Sie bereits selbst gefunden haben, verwenden Sie auch overwritereadonly flag, um ein Upgrade zu ermöglichen.

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