3
votes

I would like to install an external file.

My installer is located in

c:\somedir\setup.exe

And the external file is located in

c:\somedir\download\MyApp.exe

My code to do that is

[Files]
Source:"\download\MyApp.exe"; DestDir: "{app}";Flags: external skipifsourcedoesntexist

For some reason, Inno Setup does not seem to find this file.

Can anybody tell me what I'm doing wrong?

Thank you.

2

2 Answers

3
votes

You have two problems:

  • The path \download\MyApp.exe relative to c:\somedir\ resolves to c:\download\MyApp.exe, as the leading \ goes back to the root folder. You would need to use download\MyApp.exe.

  • The Inno Setup does not resolve external file paths relatively to the installer anyway. You have to use a full path, see the documentation for the Source parameter:

    When the flag external is specified, Source must be the full pathname of an existing file (or wildcard) on the distribution media or the user's system (e.g. "{src}\license.ini").

    You can use the {src} constant to get a full path to the installer folder.


[Files]
Source: "{src}\download\MyApp.exe"; DestDir: "{app}"; \
    Flags: external skipifsourcedoesntexist
1
votes

Use the {src} constant:

[Files]
Source:"{src}\download\MyApp.exe"; DestDir: "{app}";Flags: external skipifsourcedoesntexist