VisualStudio安装项目:通过CustomAction BadImageFormatException部署带有数据库的项目

时间:2010-11-26 13:22:25

标签: database visual-studio-2010 installation badimageformatexception custom-action

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

所以我使用this教程生成了CustomAction Installer类,并尝试了类似的this C#Solution。

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

  

初始化安装时   发生异常:   System.BadImageFormatException:File   或汇编... \ CustomAction.dll或   找不到其中一个依赖项。该   通过术语插入程序集   比当前加载的更新   期限,不能加载。

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

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

问候

2 个答案:

答案 0 :(得分:1)

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

似乎有两种可能的原因:

  1. DLL路径未正确解析,因此找不到DLL。您可以尝试检查如何针对工作目录解析DLL相对路径。
  2. 自定义操作存在问题。在这种情况下,您可以尝试创建日志,看看是否可以找到更多信息。您可以使用msiexec.exe创建日志,例如:
  3. msiexec.exe / i package.msi / l * v“C:\ package.log”

答案 1 :(得分:1)

不使用InstallUtil(安装程序类)自定义操作的众多原因之一是,当涉及托管进程和正在进行的CLR版本时,它们是“粘性的”。如果1.1 CA触发,那么2.0将触发,它将以BadImageFormat异常失败。

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