我需要在安装MSI包期间执行一个DLL。 DLL将创建一个DSN。我为此添加了自定义操作。
<Binary Id="CustomActionBinary" SourceFile="C:\MemDbDrv_3010.dll"/>
<CustomAction Id="CustomActionId" BinaryKey="CustomActionBinary" DllEntry="SelfInstall" Execute="immediate" Return="check" />
<InstallExecuteSequence>
<Custom Action="CustomActionId" Before='InstallFinalize'/>
</InstallExecuteSequence>
编译正常。但在安装软件包时,我收到以下错误 “此Windows安装程序包存在问题。无法运行此安装所需的DLL。请联系您的支持人员或软件包供应商” 你能帮忙解决一下这个决议吗
答案 0 :(得分:0)
您的自定义操作已崩溃或无法加载,因此您可能需要说明它是什么语言并担心缺少依赖项,或者如果您没有随时随地显示代码。但是:
在安装任何内容之前运行立即自定义操作,因此如果它具有任何依赖Dll,则它们将无法安装。
立即自定义操作不应该更改系统,因为如果安装失败,它们将无法撤消。它应该通过回滚来推迟以撤消它。
它不会立即升级,所以如果它需要特权才能工作,那么它就会失败。如果延迟CA使用系统帐户升级,如果它们是模拟=否,那么这可能就是您所需要的。