2012-04-24 2 views
2

У меня есть служба WCF для установки на окна.с помощью Installutil для установки службы

Теперь я хочу установить его на обозревающем компьютере и установить v3.5 .net framework.

Это касается того, что служба была написана в рамках 4, и поэтому она не будет работать.

Мой вопрос: Можно ли использовать «installutil» из фреймворка 3.5 для установки службы и почему?

=== ОБНОВЛЕНО ===

У меня есть служба Windows, которая работает ФОС внутри.

ответ

5

Вы используете InstallUtil для установки службы Windows. Ваша служба WCF могла быть разработана в службе Windows, если вы следовали чему-то вроде следующей статьи MSDN How to: Host a WCF Service in a Managed Windows Service.

Однако если (Windows) Услуга написана на .NET 4 и вы пытаетесь запустить InstallUtil из .net 3.5 вы получите следующее сообщение об ошибке:

Exception occurred while initializing the installation: System.BadImageFormatException: Could not load file or assembly 'file:///C:\MyService.exe' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded..

Чтобы установить .NET 4 (Windows) вам понадобится использовать .NET 4 installutil, который будет доступен в: C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ installutil.exe после установки .NET 4.

4

InstallUtil используется для установки окон служба не на службе ФОС

1

Если у вас есть контроль за строительством службы, просто измените его целевой платформы .NET 3.5, и вы должны быть в состоянии установить его.

В противном случае, если служба была создана для установки .NET Framework 4.0, и на сервере установлен только .NET 3.5, я не думаю, что он будет запущен, если вы явно не переопределите его в файле конфигурации, который будет запущен под .NET. 3.5 (что я бы не рекомендовал).

В качестве альтернативы, я всегда рекомендую пользователям использовать WiX Toolset для написания инсталляторов для служб Windows вместо использования InstallUtil, поскольку InstallUtil - это настраиваемый, нестандартный инструмент Visual Studio для установки служб Windows, тогда как установщик Windows (MSI), утвержденный стандарт для оконных установок имеет встроенную поддержку для установки проверенных и проверенных служб Windows и дает вам больше контроля, например услуги по остановке и запуску и т. д.

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