简体   繁体   中英

Install external file from subdirectory (relative path) using Inno Setup

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.

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 (eg "{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

Use the {src} constant:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM