WIX自定义操作错误

时间:2015-09-07 08:38:22

标签: wix

我需要在安装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。请联系您的支持人员或软件包供应商” 你能帮忙解决一下这个决议吗

1 个答案:

答案 0 :(得分:0)

您的自定义操作已崩溃或无法加载,因此您可能需要说明它是什么语言并担心缺少依赖项,或者如果您没有随时随地显示代码。但是:

  1. 在安装任何内容之前运行立即自定义操作,因此如果它具有任何依赖Dll,则它们将无法安装。

  2. 立即自定义操作不应该更改系统,因为如果安装失败,它们将无法撤消。它应该通过回滚来推迟以撤消它。

  3. 它不会立即升级,所以如果它需要特权才能工作,那么它就会失败。如果延迟CA使用系统帐户升级,如果它们是模拟=否,那么这可能就是您所需要的。