【问题标题】:What is DLLWrap.dll used for in InstallShield?DLLWrap.dll 在 InstallShield 中的用途是什么?
【发布时间】:2013-06-05 19:31:37
【问题描述】:
我正在使用较旧的 InstallShield 2010 安装程序。它放下从 programfiles\installshield 引用的 DLLWRAP。有两个自定义操作在安装完成后调用函数 DLLWrapCleanup 和在 SetupCompleteSuccess 后调用函数 DLLWrapStartup。
谁能解释这是什么以及它的作用 - 或者即使它是需要的?谢谢。
【问题讨论】:
标签:
installshield
installshield-2010
【解决方案1】:
正如Installsheild Help 在这里描述的那样:它是一个帮助 DLL,用于来自标准 DLL 的自定义操作。
如果您将自定义操作从“标准”更改为“msi dll”,您可以从 ISM 中删除 DLL 和 dllwrap 操作。
斯蒂芬·克鲁格describes the differences here.
“MSI DLL”是导出与 MSI 文档中定义的原型相匹配的函数的 DLL。这是 Windows Istaller 可以直接用作自定义操作的唯一 DLL 类型。
“标准 DLL”可以(实际上)具有任何原型。 InstallShield 在其周围添加了一个包装器,该包装器仅显示 Windows Installer MSI DLL 接口并将所有附加参数转换为属性。所以本质上你的 cuatom 动作调用了一个 DLL(由 InstallShield 提供),它调用了另一个 DLL(你的标准 DLL)。
就个人而言,当我几年前开始这样做时,我使用了标准 DLL。当我了解到差异后,我转而使用 MSI DLL。