我正在努力集成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。
答案 0 :(得分:1)
使用{app}
代替硬编码路径。
您仍然可以通过DefaultDirName
提供默认路径,并阻止用户根据需要通过DisableDirPage
进行更改,但您应始终设置{app}
适当的东西,并在整个安装程序中使用它,或者你提出问题。