2010-11-08 2 views
1

Попытка запускать на W7 64-разрядных версиях с использованием .Net 3.5 на Visual C# 2008 Express, я попытался запустить installutil.exe в папке Framework и Framework64, и они вызывают ту же ошибку. 3.5 папка не имеет installutil.exe и 4.0 в обеих папках тоже не работает.Сообщение об ошибке установки InstallUtil

В IDE нет версии релиза, но опубликовано, они одинаковы?

Я следую учебник из этой статьи: http://www.switchonthecode.com/tutorials/creating-a-simple-windows-service-in-csharp

Что может быть не так?

D:\install>C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe setup.e 
xe 
Microsoft (R) .NET Framework Installation utility Version 2.0.50727.4927 
Copyright (c) Microsoft Corporation. All rights reserved. 

Exception occurred while initializing the installation: 
System.BadImageFormatException: Could not load file or assembly 'file:///D:\inst 
all\setup.exe' or one of its dependencies. The module was expected to contain an 
assembly manifest.. 
+0

Кто-нибудь получил эту работу? – user1040975

ответ

4

System.BadIMageFormatException The обычно возникает при попытке загрузить сборку 64-битной или DLL родной в контексте 32-битной или наоборот.

Если вы работаете на 64-битной версии окон, есть также каталог c:\windows\Microsoft.Net\Framework64\. Попробуйте установить installutil, который вы найдете в одном из подкаталогов.

Другой возможной проблемой является то, что вы используете InstallUtil против неправильной сборки (.exe или .dll). Вы используете его для setup.exe. В учебнике, в котором вы говорите, нет явной программы установки. InstallUtil работает от MyWindowsService.exe. В учебнике вы создаете программу, которая использует пространство имен System.Configuration.Install. InstallUtil использует атрибут [RunInstaller(true)] из этого пространства имен, чтобы найти «инструкции по установке» в сборке, поэтому нет необходимости в отдельной программе установки (setup.exe).

Вы сначала пробовали следовать руководству по письму, а затем расширили его собственным кодом?

+0

Я уже пробовал. – Proyb2

+0

Вы также просмотрели мое второе предложение? Что вы пытаетесь запустить installutil на неправильном объекте? –

+0

Я новичок в C#, так что же означает предложение по атрибуту? Так как я могу использовать, кроме setup.exe? – Proyb2

2

Та же проблема возникает при создании службы Windows в .NET 4 и пытается установить с помощью installutil.exe из каталога .NET v2. Вы должны использовать installutil.exe из каталога .NET v4 (Windows/Microsoft .NET/Framework/v4.0.30319/installutil.exe)

Смежные вопросы