Скажем, на сервере установлена пользовательская служба Windows. Служба написана с использованием .NET и устанавливается с помощью InstallUtil, пакета MSI или ManagedInstallerClass (если это имеет значение, выберите тот, который решает проблему). Регулярно вам нужно будет вносить изменения в сервис, и, конечно, вы хотите сделать это как можно проще.
Безопасно ли просто останавливать службу, заменять файл .exe и перезапускать службу? Или вам придется удалить и переустановить с новым файлом .exe? Было бы проще, если бы «развивающаяся» часть сервиса была разделена на отдельную сборку? Существуют ли какие-либо инструменты или API, которые могут помочь при разработке или развертывании службы?