Du kannst das nach der Installation im Inno Setup selbst machen.
Dafür musst du die
WinAPI-Funktion SetFileAttributes() Inno Setup zur Verfügung stellen und im PostInstall das Readonly-Flag der Dateien löschen:
1) In der Code-Sektion erstmal oben die SetFileAttributes() deklarieren:
Delphi-Quellcode:
const
FILE_ATTRIBUTE_NORMAL = 0;
FILE_ATTRIBUTE_ARCHIVE = $20;
FILE_ATTRIBUTE_HIDDEN = 2;
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = $2000;
FILE_ATTRIBUTE_OFFLINE = $1000;
FILE_ATTRIBUTE_READONLY = 1;
FILE_ATTRIBUTE_SYSTEM = 4;
FILE_ATTRIBUTE_TEMPORARY = $100;
function SetFileAttributes(lpFileName : String, dwAttribs : LongInt) : Boolean; external 'SetFileAttributesA@kernel32.dll stdcall';
...
..
.
2) Auf den Event-Handler von Inno-Setup reagieren, wenn ein Installations-Schritt geändert wird.
Was hier interessiert, ist der Schritt nach der Installation (ssPostInstall):
Delphi-Quellcode:
// Installation-Schritt-Wechsel (interner Inno Setup Event-handler)
procedure CurStepChanged(CurStep: TSetupStep);
begin
// Post install steps
if CurStep = ssPostInstall then
begin
// Hier die Readonly Flags löschen, z.B.
SetFileAttributes(ExpandConstant('{app}\MyProgram.exe'),FILE_ATTRIBUTE_NORMAL);
end;
end;
Danke. Ich habe dies nun eingebaut und ein wenig an meine Bedürfnisse angepaßt.
Es geeeeeht!!!!!!!!!!!!