2

我有一个使用 MSSQL 数据库并为此生成 VisualStudio 设置项目的项目的解决方案。然后我用一个安装程序类制作了另一个项目,该项目应该在安装时部署我的数据库。

因此,我使用本教程生成了 CustomAction Installer 类,并尝试类似的 C# 解决方案。

当我现在运行我的设置项目并想要安装我的应用程序时,我总是收到错误消息:

初始化安装时发生异常: System.BadImageFormatException: File or assembly ... \ CustomAction.dll 或其依赖项之一未找到。该程序集由比当前加载的术语更新的术语插入,并且无法加载。

我希望这个错误是可以理解的,我把它从德语翻译成英语......

所以我很感激任何提示或提示来解决这个问题。

问候

4

2 回答 2

1

也许这篇文章会有所帮助: http: //msdn.microsoft.com/en-us/library/k7137bfe (VS.80).aspx

似乎有两个可能的原因:

  1. DLL 路径未正确解析,因此找不到 DLL。您可以尝试检查如何根据工作目录解析 DLL 相对路径。
  2. 自定义操作存在问题。在这种情况下,您可以尝试创建日志并查看是否可以找到更多信息。您可以使用 msiexec.exe 创建日志,例如:

msiexec.exe /i package.msi /l*v "C:\package.log"

于 2010-12-02T13:09:41.437 回答
1

不使用 InstallUtil ( Installer Class ) 自定义操作的众多原因之一是在托管过程和被 jitted 的 CLR 版本方面是“粘性的”。如果 1.1 CA 触发然后 2.0 触发它将失败并出现 BadImageFormat 异常。

我真的建议好好搜索一下 WiX 部署工具基金会。对于您的托管代码来说,这是一个更好的托管模型,可以解决问题和许多其他问题。

于 2010-12-24T00:43:23.907 回答