2011-12-24 5 views
4

Существует служба WCF, работающая под IIS. Эта служба обращается к файлам в своей папке, она обращается к базе данных SQL Server и записывает сообщения в EventLog.Развертывание службы WCF - инструменты

Платформа развертывания - это Windows Server 2008 в некотором центре обработки данных. Я разработал сервис, но я действительно все еще новичок.

Развертывание приведет к созданию новой учетной записи пользователя Windows и, возможно, роли, назначенной этому пользователю. Это необходимо для запуска службы из отдельной учетной записи с строго определенными правами (как я понимаю, рекомендуется использовать этот подход, но не запускать сервис из учетной записи службы NT).

Очевидно, что развертывание должно запускать скрипты для создания базы данных, таблиц, планирования задач.

Какие инструменты вы могли бы посоветовать для такого развертывания? Может быть, я могу использовать стандартный проект установки? Или некоторые сторонние инструменты, такие как WiX Toolset? Должен ли я использовать PowerShell для создания учетной записи и роли пользователя Windows?

Существует также вопрос: следует ли использовать предварительные условия, такие как .NET framework installer, установщик SQL Server?

+0

любое окончательное решение с полным образцом исходного кода, работающим над этим? – Kiquenet

+0

Окончательное решение стало со стандартными функциями VS. VS может создать пакет развертывания, состоящий из службы WCF и скриптов, которые вы хотите. – EngineerSpock

+0

любой полный образец об этом? любой справочник по веб-справочнику? – Kiquenet

ответ

2

Вы можете положиться на инсталлятор Windows, используя такие инструменты, как WIX, InstallShield или Advanced Installer. WIX является единственным свободным, хотя он имеет более высокую кривую ученика. Существуют и другие бесплатные программные решения для установки окон, такие как NSIS. Вы также можете написать свои собственные сценарии, например, в Powershell, чтобы создать виртуальный каталог IIS, пул приложений и подключиться к RDBMS для создания схемы. Вероятно, вы также захотите иметь решение для развертывания, чтобы его можно было удалить и обновить в будущем. Инструменты, основанные на установщике Windows, почти дают вам возможность удалить бесплатно, поскольку он поддерживает базу данных обо всем, что было сделано во время установки, без пользовательских действий, которые вы пишете, таких как настройка схемы базы данных.

Для части конфигурации пользователя некоторые из этих инструментов, таких как Advanced Installer, могут создавать новые учетные записи пользователей. Однако для определения назначения прав пользователей вам, возможно, придется полагаться на собственный скрипт, используя ntrights.exe из комплекта ресурсов Windows.

+0

А как насчет Inno Setup? Предоставляет ли WiX или NSIS возможность выполнять сценарии .NET и сценарии PowerShell? – EngineerSpock

+0

Wix может запускать код .NET, вызывая его в пользовательском действии. Вот [пример] (http://www.advancedinstaller.com/user-guide/qa-c-sharp-ca.html) о том, как структурировать ваш C#. Пользовательский код действия будет находиться в DLL, вызванной из механизма установки Windows. Я никогда не использовал NSIS или Inno, но просто смотрел на набор функций, и некоторые из них выглядели так, как будто вам нужно создать консольное приложение C# и вызвать его оболочку. Также похоже, что у них есть свои собственные движки и они не используют движок установки Windows.У Wix есть расширения для работы с базами данных и создания учетных записей пользователей. –

1

Насколько я знаю, для WCF не доступно средство автоматического развертывания, поскольку для этого требуется большая ручная настройка.

Но вы можете попробовать осьминога для приложений .NET

http://www.paulstovell.com/octopus/intro

+0

Средство автоматического развертывания WCF в VS2010. VS может создать пакет развертывания, состоящий из службы WCF и скриптов, необходимых для создания базы данных. Проблема заключается в настраиваемых настройках, которые мне нужно настроить. – EngineerSpock

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