InnoSetup creates two of the same folder - inno-setup

I'd like to place a game in: C:\Program Files (x86)\test\Gone Home\,
but InnoSetup creates the following directory: C:\Program Files (x86)\test\Gone Home\Gone Home
Because of this my icon does not work.
When I use "add files, add folder, add directories" I get the same result.
I am using Inno Script Studio.
-If the .exe with the correct icon will not be in base directory for example C:\Program Files (x86)\test\Gone Home\binaries... What do I have to change in the ICONS section?
Will it be like this?:
Name: {commondesktop}\{#AppName}; Filename: {app}\binaries\{#AppExec}; WorkingDir: {app};
Here's my code so far:
#define AppName "Gone Home"
#define AppPublisher "test"
#define AppVersion "1.0.0.0"
#define AppExec "GoneHome.exe"
#define SetupName "Setup"
#define SetupOut "Output"
[Setup]
AppName={#AppName}
AppPublisher={#AppPublisher}
AppVersion={#AppVersion}
AppComments={#AppName}
DefaultDirName={pf}\{#AppPublisher}\{#AppName}
DefaultGroupName={#AppName}
OutputBaseFilename={#SetupName}
OutputDir={#SetupOut}
InternalCompressLevel=none
DiskSpanning=True
DiskSliceSize=1566000000
SlicesPerDisk=3
[Icons]
Name: {group}\Uninstall {#AppName}; Filename: {app}\unins000.exe; WorkingDir: {app};
Name: {group}\{#AppName}; Filename: {app}\{#AppExec}; WorkingDir: {app};
Name: {commondesktop}\{#AppName}; Filename: {app}\{#AppExec}; WorkingDir: {app};
[Languages]
Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl"
[Dirs]
Name: "{app}\Gone Home\GoneHome_Data"
Name: "{app}\Gone Home\GoneHome_Data\Managed"
Name: "{app}\Gone Home\GoneHome_Data\Mono"
Name: "{app}\Gone Home\GoneHome_Data\Mono\etc"
Name: "{app}\Gone Home\GoneHome_Data\Mono\etc\mono"
Name: "{app}\Gone Home\GoneHome_Data\Mono\etc\mono\1.0"
Name: "{app}\Gone Home\GoneHome_Data\Mono\etc\mono\2.0"
Name: "{app}\Gone Home\GoneHome_Data\Mono\etc\mono\2.0\Browsers"
Name: "{app}\Gone Home\GoneHome_Data\Mono\etc\mono\mconfig"
Name: "{app}\Gone Home\GoneHome_Data\Plugins"
Name: "{app}\Gone Home\GoneHome_Data\Resources"
[Files]
Source: "C:\Program Files (x86)\Gone Home\Attributions.txt"; DestDir: "{app}\Gone Home"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome.exe"; DestDir: "{app}\Gone Home"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\Localization-howto.txt"; DestDir: "{app}\Gone Home"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\uninstall.exe"; DestDir: "{app}\Gone Home"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\level0"; DestDir: "{app}\Gone Home\GoneHome_Data"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\mainData"; DestDir: "{app}\Gone Home\GoneHome_Data"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\output_log.txt"; DestDir: "{app}\Gone Home\GoneHome_Data"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\PlayerConnectionConfigFile"; DestDir: "{app}\Gone Home\GoneHome_Data"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\resources.assets"; DestDir: "{app}\Gone Home\GoneHome_Data"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\ScreenSelector.bmp"; DestDir: "{app}\Gone Home\GoneHome_Data"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\sharedassets0.assets"; DestDir: "{app}\Gone Home\GoneHome_Data"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\sharedassets1.assets"; DestDir: "{app}\Gone Home\GoneHome_Data"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Thumbs.db"; DestDir: "{app}\Gone Home\GoneHome_Data"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Managed\Assembly-CSharp-firstpass.dll"; DestDir: "{app}\Gone Home\GoneHome_Data\Managed"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Managed\Assembly-CSharp.dll"; DestDir: "{app}\Gone Home\GoneHome_Data\Managed"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Managed\Assembly-UnityScript-firstpass.dll"; DestDir: "{app}\Gone Home\GoneHome_Data\Managed"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Managed\Assembly-UnityScript.dll"; DestDir: "{app}\Gone Home\GoneHome_Data\Managed"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Managed\Boo.Lang.dll"; DestDir: "{app}\Gone Home\GoneHome_Data\Managed"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Managed\Mono.Security.dll"; DestDir: "{app}\Gone Home\GoneHome_Data\Managed"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Managed\mscorlib.dll"; DestDir: "{app}\Gone Home\GoneHome_Data\Managed"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Managed\System.Core.dll"; DestDir: "{app}\Gone Home\GoneHome_Data\Managed"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Managed\System.dll"; DestDir: "{app}\Gone Home\GoneHome_Data\Managed"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Managed\System.Xml.dll"; DestDir: "{app}\Gone Home\GoneHome_Data\Managed"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Managed\UnityEngine.dll"; DestDir: "{app}\Gone Home\GoneHome_Data\Managed"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Managed\UnityScript.Lang.dll"; DestDir: "{app}\Gone Home\GoneHome_Data\Managed"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Managed\uScriptRuntime.dll"; DestDir: "{app}\Gone Home\GoneHome_Data\Managed"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Mono\mono.dll"; DestDir: "{app}\Gone Home\GoneHome_Data\Mono"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Mono\etc\mono\browscap.ini"; DestDir: "{app}\Gone Home\GoneHome_Data\Mono\etc\mono"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Mono\etc\mono\config"; DestDir: "{app}\Gone Home\GoneHome_Data\Mono\etc\mono"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Mono\etc\mono\1.0\DefaultWsdlHelpGenerator.aspx"; DestDir: "{app}\Gone Home\GoneHome_Data\Mono\etc\mono\1.0"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Mono\etc\mono\1.0\machine.config"; DestDir: "{app}\Gone Home\GoneHome_Data\Mono\etc\mono\1.0"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Mono\etc\mono\2.0\DefaultWsdlHelpGenerator.aspx"; DestDir: "{app}\Gone Home\GoneHome_Data\Mono\etc\mono\2.0"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Mono\etc\mono\2.0\machine.config"; DestDir: "{app}\Gone Home\GoneHome_Data\Mono\etc\mono\2.0"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Mono\etc\mono\2.0\settings.map"; DestDir: "{app}\Gone Home\GoneHome_Data\Mono\etc\mono\2.0"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Mono\etc\mono\2.0\web.config"; DestDir: "{app}\Gone Home\GoneHome_Data\Mono\etc\mono\2.0"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Mono\etc\mono\2.0\Browsers\Compat.browser"; DestDir: "{app}\Gone Home\GoneHome_Data\Mono\etc\mono\2.0\Browsers"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Mono\etc\mono\mconfig\config.xml"; DestDir: "{app}\Gone Home\GoneHome_Data\Mono\etc\mono\mconfig"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Plugins\steam_api.dll"; DestDir: "{app}\Gone Home\GoneHome_Data\Plugins"; Flags: ignoreversion
Source: "C:\Program Files (x86)\Gone Home\GoneHome_Data\Resources\unity default resources"; DestDir: "{app}\Gone Home\GoneHome_Data\Resources"; Flags: ignoreversion

You have Defined Dafault Folder (in the code it's {app}) to DefaultDirName={pf}\{#AppPublisher}\{#AppName}, where {#AppName} is Gone Home but later on you set DestDir to {app}\Gone Home.
You should set DestDir to just {app}, which will be C:\Program Files (x86)\test\Gone Home in your case.
Regarding Separate ICO file, you just add something like IconFileName: "{app}\MySpecialAppIcon.ico" - you should point your icon there.
You also do not have to write single line for every single file you want to copy. You may use wildcard * along with flags reateallsubdirs recursesubdirs. That will copy all files and directories to the destination directory.
[Files]
Source: "C:\Program Files (x86)\Gone Home\*"; DestDir: "{app}"; Flags: createallsubdirs recursesubdirs ignoreversion

Related

Inno Setup : Exclude all files with extension

I want to exclude all files with a specific extension - ".ecw". I use the following script, but it does nothing:
[Files]
Source: "*"; Excludes: .ecw; DestDir: "{app}"; Flags:ignoreversion recursesubdirs createallsubdirs
Source: "*"; Excludes: "*.ecw"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Here is working script:
Source: "..\ZP\bin\x64\Debug\*"; Excludes: "*.BIN,*.pdb,*.ecw"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Adding Excludes: "...bla bla..."; parameter for every path where you need to exclude specific extensions made it work.

inno setup first start Components

I'm a Korean. So English is poor.
I will use inno setup.
but There was a problem.
I want to do 'setup.exe compornet' I want to do first.
[Components]
Name: "sybase"; Description: "sybase"; Types: full
Name: "old_NIS"; Description: "old_NIS"; Types: full
Name: "new_NIS"; Description: "new_NIS"; Types: full
Name: "sybase_file"; Description: "sybase_file"; Types: full
[Files]
;sybase 프로그램
Source: "D:\a\setup.exe"; DestDir: "{app}"; Components: sybase
;신NIS
Source: "D:\b\*"; DestDir: "D:\b"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: new_NIS
;구NIS
Source: "D:\c\*"; DestDir: "C:\c"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: old_NIS
;***********sybase 설치후 작업단계*********************;
;sybase 설치후 32bit , 64bit 모두 설치.
Source: "D:\a\*"; DestDir: "C:\sybase"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: sybase_file
;system 파일 32bit 64bit 구분설치
Source: "D:\a\*"; DestDir: "C:\Windows\System32"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: not Is64BitInstallMode; Components: sybase_file
Source: "D:\a\*"; DestDir: "C:\Windows\SysWOW64"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: Is64BitInstallMode; Components: sybase_file
;regsvr32 ezftp.ocx 처리하는것.
Source: ..\..\..\Windows\System32\EZFTP.OCX; DestDir: {app}; Flags: regserver; Components: sybase_file
Components are not run. Component is just a grouping for installation files/tasks/etc.
The files/tasks/etc are processed in the order in which they appear in the script.
So if you put files for "sybase" component first, they will be installed first. But you are actually doing that.

Update application with Inno Setup installer

I am learning how to use Inno Setup to create an installer for my project. I am having an issue though when it comes to updating. I've created the installer, and installed my application successfully. I've then updated my version number within the script and recompiled however when I run the installer it seems to treat it as a new install still.
For example, it will ask me where I want the application to be installed and when I click next then tells me the directory already exists. As the application has already been installed. I expected this bit to be skipped.
Below is my InnoSetup Script
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "SQLite Manager"
#define MyAppVersion "1.0.0.2"
#define MyAppPublisher "Boardies IT Solutions"
#define MyAppURL "http://www.boardiesitsolutions.com"
#define MyAppExeName "SqliteManager.exe"
[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={{98A016AD-2DE2-4FF9-B639-0FDCA0BE41FD}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\Boardies IT Solutions\{#MyAppName}
DefaultGroupName=Boardies IT Solutions
LicenseFile=C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\Terms.txt
OutputBaseFilename=sqliteman
SetupIconFile=C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\Logo.ico
Compression=lzma
SolidCompression=yes
UsePreviousAppDir=yes
CreateUninstallRegKey=no
UpdateUninstallLogAppName=no
DisableDirPage=auto
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
[Files]
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\SqliteManager.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\BoardiesITSolutions.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\BoardiesITSolutions.INIReader.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\changelog.xml"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\EntityFramework.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\EntityFramework.SqlServer.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\Middleware.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\MySql.Data.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\System.Data.SQLite.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\System.Data.SQLite.EF6.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\System.Data.SQLite.Linq.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Chris\Documents\Visual Studio 2013\Projects\SqliteManager\SqliteManager\bin\Debug\WhatsNew.dll"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
I've noticed that little detail
AppId={{98A016AD-2DE2-4FF9-B639-0FDCA0BE41FD}
Looks like you have a missing right curly brace.

Verify if is installed, if yes then ignore some files

I need ignore some files (".sdf" and ".config") only when I'm doing a update on a installed application.
I'm getting the files recursively:
[Files]
Source: "..\..\bin\Release\MyApp.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\Release\*"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Permissions: everyone-full; Excludes: "*.key, *.udb, *.~db, *.crt"
Exist some way?
Thanks in advance.
Answer 1
Using onlyifdestfileexists and onlyifdoesntexist:
If the files don't exist (onlyifdoesntexist), copy all you want on first installation.
If the files exist (onlyifdestfileexists), add in Excludes those extensions that you don't want to update.
Source: "..\..\bin\Release\MyApp.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\Release\*"; DestDir: "{app}"; Flags: ignoreversion onlyifdoesntexist recursesubdirs createallsubdirs; Permissions: everyone-full; Excludes: "*.key, *.udb, *.~db, *.crt"
Source: "..\..\bin\Release\*"; DestDir: "{app}"; Flags: ignoreversion onlyifdestfileexists recursesubdirs createallsubdirs; Excludes: "*.key, *.udb, *.~db, *.crt, *.sdf, *.config"
Answer 2 (It was not fully tested)
Using function to verify the existence of application folder.
[Files]
Source: "..\..\bin\Release\MyApp.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\Release\*"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Permissions: everyone-full; Excludes: "*.key, *.udb, *.~db, *.crt"; Check: not IsInstalled
Source: "..\..\bin\Release\*"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs createallsubdirs; Permissions: everyone-full; Excludes: "*.key, *.udb, *.~db, *.crt, *.sdf, *.config"; Check: IsInstalled
[code]
function IsInstalled: Boolean;
begin
if DirExists(ExpandConstant('{app}\')) then
begin
Result := True;
end else
Result := False;
end;
Add Check parameter in entry and make sure that check function returns false in update case. Below is the example can be referred.
[Files]
Source: "MYPROG.EXE"; DestDir: "{app}"; Check: MyProgCheck
http://www.jrsoftware.org/ishelp/index.php?topic=scriptcheck

Innosetup Create Folders in Application directory

Hej guys!
I am trying to make a installer for my application with innosetup, everything goes finde, just a little problem:
It does not create the directorys i put in
Source: "C:\Users\Etix\Desktop\Fower\data\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\Etix\Desktop\Fower\Media\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
It just puts all files of the directorys in the application folder but does not create the directorys and put the files into them.
Do you know how to make it realy CREATE the folder and put the files into him?
Here my whole code:
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Fower"
#define MyAppVersion "1.0"
#define MyAppPublisher "FoxFire Development"
#define MyAppURL "http://www.foxfiredev.net"
#define MyAppExeName "Fower.exe"
[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={{1D8512EB-BA40-41B9-8E38-262D637508B9}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputDir=C:\Users\Etix\Desktop\FowerSetup
OutputBaseFilename=FowerSetup
SetupIconFile=C:\Users\Etix\Desktop\FoxFireDev\Projekt - Fower\ManagementNeu\Release\icon.ico
Compression=lzma
SolidCompression=yes
[Languages]
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
[Files]
Source: "C:\Users\Etix\Desktop\Fower\Fower.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Etix\Desktop\Fower\data\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\Etix\Desktop\Fower\Media\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\Etix\Desktop\Fower\icon.png"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Etix\Desktop\Fower\libsndfile-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Etix\Desktop\Fower\msvcp110.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Etix\Desktop\Fower\msvcr110.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Etix\Desktop\Fower\openal32.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Etix\Desktop\Fower\sansation.ttf"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Etix\Desktop\Fower\sfgui wqeq.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Etix\Desktop\Fower\sfgui.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Etix\Desktop\Fower\sfml-audio-2.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Etix\Desktop\Fower\sfml-graphics-2.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Etix\Desktop\Fower\sfml-network-2.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Etix\Desktop\Fower\sfml-system-2.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Etix\Desktop\Fower\sfml-window-2.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Etix\Desktop\Fower\tgui.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Etix\Desktop\Fower\thor.dll"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
you can change the code as follows to copy the contents seperately in respective folders ,
Source: "C:\Users\Etix\Desktop\Fower\data\*"; DestDir: "{app}\data"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\Etix\Desktop\Fower\Media\*"; DestDir: "{app}\Media"; Flags: ignoreversion recursesubdirs createallsubdirs
What about using the [Dirs] section to get {app}\data and {app}\Media created first?

Resources