2012-06-15 12 views
5

Utworzono i skompilowałem moją usługę systemu Windows przy użyciu .NET 4.0 . Przechodzę do folderu .NET 4.0 i wypowiadam coś takiego: Skopiowałem folder bin na dysk C, aby skrócić ścieżkę:Błąd BadImageFormatException przy użyciu narzędzia InstallUtil

InstallUtil.exe "C: \ bin \ Debug \ MyTestService.exe"

i jest to błąd otrzymuję:

wyjątkowych możliwości Wystąpił podczas inicjowania instalacji: System.BadImageFormatException: Nie można załadować pliku lub zestawu "file: /// C: \ bin Debug \ MyTestService.exe" lub jednej z jego zależności. Podjęto próbę załadowania programu o nieprawidłowym formacie.

Więc nie wiem, co robić.

+0

Hmm - Twój komunikat o błędzie mówi ... C: \ bin Debug ... czyli spacja zamiast \. –

Odpowiedz

16

Ten błąd występuje, gdy używasz niewłaściwej wersji installutil. Na przykład używasz installutil.exe dla .NET 2.0, ale twój docelowy exe jest zbudowany z 4.0 lub używasz 32-bitowej wersji installutil na 64-bitowym dll/exe.

+5

+1, ponieważ jest to poprawne, ale, co ważniejsze, śmiałem się z twojego bio. –

+0

Ten błąd występuje również podczas próby załadowania usługi z lokalizacji sieciowej z wersją .NET większą niż 2.0 bez włączonego CAS. – MatUtter

0

Został on zbudowany w VisualStudio z "AnyCPU", ale używałem wersji X64 Install util, zmieniłem ją na wyraźną, powiedzmy, zbudowałem dla maszyny X64 i pozbyłem się tego błędu. Jednak teraz mówi inny błąd, ale ten błąd zostanie rozwiązany.

+0

Uratowałeś mój dzień! Dzięki! – Matheno

0

Ustawiono jako AnyCPU dla konfiguracji 32-bitowych i 64-bitowych. Zadziałało.

Powiązane problemy