2

我正在努力集成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代码可在此处获得。

4

1 回答 1

1

使用{app}而不是硬编码路径。

如果您愿意,您仍然可以提供默认路径DefaultDirName并阻止用户更改此路径DisableDirPage,但您应该始终设置{app}适当的内容并在整个安装程序中使用它,否则您会遇到问题。

于 2013-09-17T03:15:47.197 回答