Служба Windows, написанная на C # .NET 4 vs2010, не будет установлена ​​на Server 2008 R2 Enterprise - PullRequest
11 голосов
/ 22 марта 2011

Я написал множество версий служб Windows и установил их в 64-разрядной системе с 32 ГБ под управлением Server 2008 R2 Enterprise.

Я создаюслужбы, использующие этот рецепт:
http://msdn.microsoft.com/en-us/zt39148a.aspx
«Пошаговое руководство. Создание приложения-службы Windows в конструкторе компонентов»

Я создаю .msi и соответствующий setup.exe на моем ноутбуке с Win 7 ( c #, vs2010 SP1, .NET 4 ).

НОРМАЛЬНОЕ ПОВЕДЕНИЕ

после тестированияСлужба Windows на моем ноутбуке, я копирую .msi и setup.exe в папку на сервере win2008 R2 Enterprise (используя копирование и вставку через удаленный рабочий стол);Я использую панель управления сервера для удаления, щелкните правой кнопкой мыши MSI-файл и выберите «Установить», а затем пройдите мастер установки.Нет проблем.Работает большинство времени.

НЕПРАВИЛЬНОЕ ПОВЕДЕНИЕ

Установка выполняется, возможно, 15минуты или дольше;это никогда не заканчивается;в итоге диалоговое окно сообщает
"(?) Установщик больше не отвечает."
с опциями [Повторить] или [Отмена].

На этом этапе индикатор выполнения является коротким, как это может быть, и в крайнем левом положении, под буквой "P" в "Please wait ...".

Нажатие Повтор не помогает.Прошло более 30 минут и считал с тех пор, как я нажал Повторить , а индикатор выполнения не продвинулся даже на пиксель.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

(a) служба устанавливается без каких-либо проблем на другом сервере, в веб-выпуске Win 2008 R2.
(b) как уже упоминалось выше, служба Windows устанавливает и правильно работает в моей среде разработки и тестирования Win 7.

ИСТОРИЯ / СПЕКУЛЯЦИЯ

Пару недель назад мне не удалось установить службу с сервера win 2008 R2 Enterprise.Я не смог найти его в Панели управления / Деинсталляции, хотя MSI утверждал, что он установлен, и служба также продолжала появляться в консоли services.msc.Даже отключение сервиса не помогло.По этой причине я клонировал код, слегка изменил имя службы и успешно установил эту службу , которая работает без проблем.

Сегодня произошло похожее событие, с той лишь разницей, что я вижу этот сервис в панели управления Uninstall.Поскольку он не удалялся, я попробовал тот же трюк с клонированием, но на этот раз не получилось.

Следующий шаг: с помощью описанного выше пошагового руководства я создал службу Windows «ничего не делать» и сделал ее полезной, импортировав в нее свои классы клиентов из исходного файла проекта c #.

re-созданная с нуля Служба Windows работает так, как задумано на моем ноутбуке, но отказывается устанавливать на сервере R2 Enterprise.

Есть идеи?

Пожалуйста и спасибо.

PS: я опубликовал это так, потому что imho, скорее всего, с чем-то может столкнуться разработчик перед передачей.ее / его код сисадмином.

Кстати, я не мог найти ничего, связанного с этим;То же самое через Google.

Ответы [ 2 ]

3 голосов
/ 24 марта 2011

в данном конкретном случае это очень странное состояние прав сервера

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

хотя моя учетная запись сервера не является администратором, я являюсь членом и локальные администраторы и администраторы домена для этого блока 2008 R2.

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

Администратор бокса смог установить мой сервис с помощью installutil.exe, поэтому я попробовал installutil.exe, но он работал только для меня с использованием учетных данных администратора.

По этой причине я подозревал, чтоможет быть проблема с правами, поэтому я попытался с моими учетными данными установить пример пошагового руководства на диске H: \.Успех.Затем я попытался установить проблемную службу Windows на C: в другом месте.И снова успех.

Что самое странное в этой проблеме, так это то, что у меня много раз не возникало проблем, а затем внезапно возникала проблема, блокирующая мои усилия по разработке.

Признаком установки службы Windows является:когда диалог, запрашивающий разрешение на продолжение, появляется почти сразу после начала установки.Еще одним признаком того, что успех возможен, является возможность успешного удаления любой предыдущей версии через панель управления.

Я ценю усилия всех, кто помог мне с этим.Спасибо.

2 голосов
/ 22 марта 2011

У меня был похожий опыт работы с моими собственными MSI (не только для служб), а также сторонними MSI на Win2k3 и Win2k8. Я никогда (никогда) не доходил до сути без «свежей» переустановки операционной системы.

Так же, как и вы, я тоже полагаю, что что-то потеряно во (комбинации или во всех) внутренних компонентах ОС (реестр, файловая система, восстановление системы).

Я знаю, что это не то, что вы хотите услышать, но (если это вообще возможно) чистая установка ОС может помочь вам.

...