1

我有一个使用MSSQL数据库并为此VisualStudio安装项目生成的项目的解决方案。然后我做了一个安装程序类的另一个项目,应该在安装中部署我的数据库。VisualStudio安装项目:通过CustomAction部署包含数据库的项目BadImageFormatException

因此,我使用this教程生成了CustomAction安装程序类,并尝试使用类似于C#Solution的this

现在,当我运行安装项目和IM想安装我的申请,我总是得到一个错误:

While initializing the installation an exception occurred: System.BadImageFormatException: File or assembly ... \ CustomAction.dll or one of its dependencies not found. The assembly is inserted by a term that is more recent than the currently loaded term, and can not be loaded.

我希望错误是可以理解的,我从德国到englisch翻译吧...

因此,我很感激任何提示或技巧来解决这个问题。

问候

回答

1

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

好像有2个可能的原因:

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

MSIEXEC.EXE/I package.msi/L * V “C:\ package.log”

+0

这对测井thx帮助很大。但它认为这是VStudio2010的一个问题,安装程序类在msdn上找到了一些问题。当我记住链接时,我会在这里发布。四处走动是用控制台项目替换安装程序类。这对我来说很好。 – Mark 2010-12-07 09:11:15

1

其中一个原因是多方面的,不使用InstallUtil(安装程序类)自定义操作对于主机进程和CLR版本正在被激化时是“粘性”的。如果1.1 CA触发,然后2.0触发,它将失败并出现BadImageFormat异常。

我真的推荐对WiX部署工具基金会进行很好的搜索。这是托管代码更好的托管模式,可以解决问题和其他问题。

相关问题