包含空格的外部对象路径

时间:2013-09-16 13:38:42

标签: inno-setup pascal

我正在努力集成psvince.dll库,以便在安装和卸载时检测正在运行的应用程序。问题是external关键字的路径包含一个破坏整个事物的空白。代码如下:

#define INSTALL_PATH "{pf}\My Plugin"

[Files]
Source: psvince.dll; flags: dontcopy
Source: psvince.dll; DestDir: "{#INSTALL_PATH}"

[Code]
function IsModuleLoadedU(modulename: String ):  Boolean;
external 'IsModuleLoaded@{#INSTALL_PATH}\psvince.dll stdcall uninstallonly' ;

代码产生Invalid External错误。

INSTALL_PATH宏用于指定目标应用安装目录,因此用户无需指定它。我也在其他陈述中使用它。

我已经尝试引用使用宏的点,将字符串拆分为多个与+连接的字符串,但无济于事。

整个psvince代码可用here

1 个答案:

答案 0 :(得分:1)

使用{app}代替硬编码路径。

您仍然可以通过DefaultDirName提供默认路径,并阻止用户根据需要通过DisableDirPage进行更改,但您应始终设置{app}适当的东西,并在整个安装程序中使用它,或者你提出问题。