Installshield使用来自另一个自定义dll的自定义dll

Installshield使用来自另一个自定义dll的自定义dll,dll,installation,installshield,Dll,Installation,Installshield,我正在重构一个旧的installshield应用程序,需要执行一个从自定义dll调用函数的操作。不幸的是,此操作执行的函数依赖于另一个自定义dll。所以我的问题是:“有没有可能让一个自定义dll依赖于另一个自定义dll?如果有,如何实现?” 当我尝试运行安装程序时,它会崩溃,错误为“安装程序在完成之前被中断…”,然后我将第二个自定义dll复制到我添加到PATH的文件夹中,一切正常。当然,我不能指望我的客户用手来做这件事 我使用的是Installshield 2008,但我相信对于所有版本,我的问

我正在重构一个旧的installshield应用程序,需要执行一个从自定义dll调用函数的操作。不幸的是,此操作执行的函数依赖于另一个自定义dll。所以我的问题是:“有没有可能让一个自定义dll依赖于另一个自定义dll?如果有,如何实现?”

当我尝试运行安装程序时,它会崩溃,错误为“安装程序在完成之前被中断…”,然后我将第二个自定义dll复制到我添加到PATH的文件夹中,一切正常。当然,我不能指望我的客户用手来做这件事

我使用的是Installshield 2008,但我相信对于所有版本,我的问题的答案都是相同的

编辑:由于我的问题可能不够清楚,我将举个例子: 假设我有一个.dll,它有一个函数:

UINT __stdcall
PerformAction(MSIHANDLE hInstall)    // IN
{
  ...
  help();
  ...
}
help()是在b.dll中定义的。现在,当我创建一个新动作时,我将它的dll设置为a.dll,将它的函数名设置为PerformAction,但没有办法表明这取决于b.dll
当我将b.dll复制到包含在路径中的文件夹时,安装程序工作正常,但如果我不这样做,安装程序就会失败。

这里最简单的InstallShield方法是使用支持文件,而不是二进制表项,或者除了二进制表项之外。Windows Installer将仅为自定义操作提取一个DLL,但如果您在
SUPPORTDIR
中引用一个文件,它可以使用多个文件。

如何告诉install shield使用SUPPORTDIR中的文件?您能举个例子吗?我描述InstallShield将把文件提取到SUPPORTDIR,并设置一个与目录路径同名的属性(使用MsiGetProperty)。从那里,您可以使用LoadLibrary()将DLL加载到内存中。