问题
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.
回答1:
You have two problems:
The path
\download\MyApp.exerelative toc:\somedir\resolves toc:\download\MyApp.exe, as the leading\goes back to the root folder. You would need to usedownload\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
externalis specified,Sourcemust 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
回答2:
Use the {src} constant:
[Files]
Source:"{src}\download\MyApp.exe"; DestDir: "{app}";Flags: external skipifsourcedoesntexist
来源:https://stackoverflow.com/questions/37408121/install-external-file-from-subdirectory-relative-path-using-inno-setup