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

时间:2012-05-11 08:43:54

标签: dll installer installshield

我正在重构一个旧的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复制到包含在PATH中的文件夹时,安装程​​序正常工作,但如果我没有,则会失败。

1 个答案:

答案 0 :(得分:1)

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