从子目录安装外部文件(相对路径)

时间:2016-05-24 08:25:16

标签: inno-setup

我想安装一个外部文件。

我的安装程序位于

c:\somedir\setup.exe

外部文件位于

c:\somedir\download\MyApp.exe

我的代码是

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

出于某种原因,Inno Setup似乎找不到此文件。

有谁能告诉我我做错了什么?

谢谢。

2 个答案:

答案 0 :(得分:2)

你有两个问题:

  • 相对于\download\MyApp.exe的路径c:\somedir\解析为c:\download\MyApp.exe,因为前导\会返回根文件夹。您需要使用download\MyApp.exe

  • Inno Setup无法相对于安装程序解析外部文件路径。您必须使用完整路径,请参阅Source parameter的文档:

      

    指定标记external后,Source必须是分发媒体或用户的现有文件(或通配符)的完整路径名系统(例如" {src} \ license.ini")。

    您可以使用{src} constant获取安装程序文件夹的完整路径。

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

答案 1 :(得分:1)

使用{src}常量:

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