Pepa Čumpelík
Pepa Čumpelík

Reputation: 75

InnoSetup creates two of the same folder

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

Upvotes: 4

Views: 745

Answers (1)

RobeN
RobeN

Reputation: 5456

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 

Upvotes: 2

Related Questions