2016-05-24 26 views
0

我想安装一个外部文件。从子目录安装外部文件(相对路径)

我的安装程序位于

c:\somedir\setup.exe 

和外部文件位于

c:\somedir\download\MyApp.exe 

我的代码,这样做是

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

出于某种原因,Inno Setup的不似乎没有找到这个文件。

有人可以告诉我我做错了什么吗?

谢谢。

回答

1

你有两个问题:

  • 路径\download\MyApp.exe相对于c:\somedir\解析为c:\download\MyApp.exe为龙头\追溯到根文件夹。您需要使用download\MyApp.exe

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

    当指定标志externalSource必须分发媒体或上全路径名的现有文件的(或通配符)用户的系统(例如“{src} \ license.ini”)。

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


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

使用{src}字符串常量:

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