在InstallShield中使用的DLLWrap.dll是什么?

时间:2013-06-05 19:31:37

标签: installshield installshield-2010

我正在使用较旧的InstallShield 2010安装程序。它放下了从programfiles \ installshield引用的DLLWRAP。在安装Finialize之后有两个自定义操作调用函数DLLWrapCleanup,在SetupCompleteSuccess之后调用DLLWrapStartup。

任何人都可以解释这是什么以及它做了什么 - 或者即使需要它?感谢。

1 个答案:

答案 0 :(得分:2)

正如Installsheild Help所述:它是来自标准DLL的自定义操作的辅助DLL。

如果将自定义操作从“标准”更改为“msi dll”,则可以从ISM中删除DLL和dllwrap操作。

Stefan Krueger describes the differences here

  

“MSI DLL”是一个DLL,它导出一个与MSI文档中定义的原型匹配的函数。这是Windows Istaller可以直接用作自定义操作的唯一DLL类型。

     

“标准DLL”可以(实际上)具有任何原型。 InstallShield在其周围添加一个包装器,它仅向Windows Installer显示MSI DLL接口,并将所有其他参数转换为属性。所以基本上你的cuatom动作调用一个DLL(由InstallShield提供)调用另一个DLL(你的标准DLL)。

就我多年前开始做的时候,我使用的是标准的DLL。当我了解到差异时,我转而使用MSI DLL。