2010-09-15 52 views
1

我正在嘗試運行安裝程序包。用於x64 Windows服務的x86安裝程序

如果我的應用程序和它的setupproject是針對x32的一切安裝很好。但是應用程序無法加載一些COM +組件,因爲它們是64位的。如果我用64位版本手動替換應用程序(安裝完成後),則一切運行良好。

當我將應用程序和安裝項目更改爲目標x64時,安裝失敗,指出:「system.BadImageFormatException:無法加載文件或程序集」C:\ xxxxxxx「或其中一個依賴項。加載格式不正確的應用程序「。

我該如何解決這個問題?

+0

這是什麼C:\ xxxxxxx文件,你確定你使用它的64位版本? – 2010-09-15 14:09:40

+0

C:\ XXX是我的應用程序(即msi包正在嘗試安裝)。我確定它是x64安裝包中的二進制文件,如果我嘗試在64位安裝中包含我的應用程序的32位版本,安裝項目會抱怨,反之亦然。 – jgauffin 2010-09-15 14:20:47

回答

0

保持設置爲64位,但將應用程序目標更改爲「AnyCPU」。

1

這聽起來像你的應用程序仍然開始構建目標x86。您可以仔細檢查Corflags.exe實用程序。請注意,目標平臺設置對於每種配置類型都是分開的。您可能已將其更改爲Debug配置,因此它會在您的開發計算機上運行,​​但不會用於您要部署的發佈配置。在更改選項之前先選擇配置。 Build +配置管理器。

+0

我可以提取msi包的內容以檢查每個打包文件嗎? – jgauffin 2010-09-16 11:45:04

+0

Erm,只需檢查正在放入的文件。項目的bin \ Release文件夾。 – 2010-09-16 12:07:11

+0

它們都沒有設置32位標誌。 – jgauffin 2010-09-21 09:07:02

相關問題