Я создал службу Windows с использованием С# в Visual Studio 2010. Я провел много исследований по автоматизации процесса установки. Получил много советов, но никто не работал у меня. У службы Windows, которую я создал, есть много зависимостей, и я бы хотел, чтобы клиент не имел взаимодействия с пользовательским интерфейсом во время установки. Я создал проект установки для этого, который включает в себя все мои зависимости внутри установщика.
Участвующий процесс:
- Создание сборки для службы Windows
- Нажмите установочный файл (.msi) на удаленное местоположение.
- Вызвать .msi и установить службу без вмешательства пользователя.
Что я сделал до сих пор:
- Создал powershell script для перемещения файлов в удаленное местоположение.
- Выполнить powershell script и установить службу
Пожалуйста, имейте в виду, что powershell script
sc create "servicename" binpath="somepath"
используется для установки службы из каталога проекта, а не для установки файла .msi, созданного с помощью Setup Project, это две разные вещи. Если вы не понимаете этого, не отвечайте, пожалуйста.
Возможные решения:
- Используйте (http://www.msbuildextensionpack.com/help/4.0.5.0/html/258a18b7-2cf7-330b-e6fe-8bc45db381b9.htm) пакет расширения msbuild.
- Используйте buildarguments для вызова пакета расширения msbuild для установки службы Windows.
- Использовать (http://msdn.microsoft.com/en-us/library/x8zx72cd.aspx) Задача Exec
- Используйте WIX (установщик Windows Xml)
Теперь мой вопрос. Как я могу нажать установщик служб Windows на удаленное местоположение? И как создать собственные аргументы сборки и использовать либо пакет расширения msbuild, либо Exec Task и установить службу?
Я знаю, что это звучит глупо и раздражает вопрос для тех, кто не установил службу, использующую (.MSI), созданную Project Setup. Но его мои требования, которые я пытаюсь решить с недель в корпоративной среде.