How can we copy, move, rename user files before installation?
We can easily delete files using the [InstallDelete] section:
[InstallDelete]
Type: files; Name: "{app}\SomeFile.exe";
Can we do copy, rename in a similar way?
EDIT:
I tried to make this in [Files] section but I receive an error during compilation because source file does not exist:
[Files]
Source: "{app}\SomeFile.exe"; DestDir: "{app}\SomeDir\SomeFile.exe";
For copying files you can use the [Files]
section, but I don't think there's a way for move or rename operations in a separate section, so I would suggest you to use [Code]
section for this.
Here is a sample code for move and rename operations. They both use the RenameFile
function as it is internally the same operation:
[Code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssInstall then
begin
// move file
if not RenameFile(ExpandConstant('{app}\SomeDir\SomeFile.exe'), ExpandConstant('{app}\SomeFile.exe')) then
MsgBox('File moving failed!', mbError, MB_OK);
// rename file
if not RenameFile(ExpandConstant('{app}\SomeFile.exe'), ExpandConstant('{app}\RenamedSomeFile.exe')) then
MsgBox('File moving failed!', mbError, MB_OK);
end;
end;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With