joneK
joneK

Reputation: 241

How can i create a directory and copy exe file to this directory while installing my program using InnoSetup?

I have this automatic script that InnoSetup did :

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId=
AppName=VideoScreenRecorder
AppVersion=1.5
;AppVerName=VideoScreenRecorder 1.5
AppPublisher=Daniel Lipman
DefaultDirName={pf}\VideoScreenRecorder
DefaultGroupName=VideoScreenRecorder
InfoBeforeFile=D:\ScreenVideoRecorderHelp.txt
OutputDir=D:\ScreenVideoRecorderCompiler
OutputBaseFilename=Setup
SetupIconFile=D:\Activity Monitor.ico
Compression=lzma
SolidCompression=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "D:\C-Sharp\ScreenVideoRecorder\ScreenVideoRecorderWorkingVersion\bin\Debug\ScreenVideoRecorder.exe"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\VideoScreenRecorder"; Filename: "{app}\ScreenVideoRecorder.exe"
Name: "{commondesktop}\VideoScreenRecorder"; Filename: "{app}\ScreenVideoRecorder.exe"; Tasks: desktopicon

[Run]
Filename: "{app}\ScreenVideoRecorder.exe"; Description: "{cm:LaunchProgram,VideoScreenRecorder}"; Flags: nowait postinstall skipifsilent

The installation take the exe file VideoScreenRecorder and copy it install it in program files directory...etc

What i want to do is to add another exe file to the installation : ffmpeg.exe I want the installation program will create a directory at specific place for example c:\test and put the ffmpeg.exe at this directory .

The main exe file is VideoScreenRecorder.exe but i also need the ffmpeg.exe to be copied to another specific directory .

The directory where the ffmpeg.exe should be in is :

C:\Users\user name\AppData\Local\ScreenVideoRecorder\ScreenVideoRecorder\workingDirectory I need the installation directory to create the directory at this place and then copy the ffmpeg.exe to the workingDirectory .

How can i do it ?

Upvotes: 4

Views: 5153

Answers (1)

RobeN
RobeN

Reputation: 5456

You can make DestDir for each file whatever you like, in this case with one of the Constants that Inno Setup has implemented.

[Files]
Source: "X:\PathToFFMPEGSource\ffmpeg.exe"; 
DestDir: "{localappdata}\ScreenVideoRecorder\ScreenVideoRecorder\workingDirectory"; 
Flags: ignoreversion

*Where X is the drive letter where your source ffmpeg.exe is located.

Upvotes: 5

Related Questions