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部署工具基金會進行很好的搜索。這是託管代碼更好的託管模式,可以解決問題和其他問題。