Служба Windows, написанная на C# .NET 4 vs2010, не будет установлена на Server 2008 R2 Enterprise
Я написал много версий служб 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" "Пожалуйста, подождите...".
Нажатие " Повторить" не помогает. Прошло более 30 минут, и я считал с тех пор, как я нажал " Повторить", а индикатор выполнения не продвинулся ни на шаг.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
(a) служба без проблем устанавливается на другом сервере, веб-версии Win 2008 R2.
(б) как упоминалось выше, служба Windows устанавливает и работает должным образом в моей среде разработки и тестирования Win 7.
ИСТОРИЯ / СПЕКУЛЯЦИЯ
пару недель назад мне не удалось установить службу с сервера win 2008 R2 Enterprise. Я не смог найти его в Панели управления / Деинсталляции, хотя MSI утверждал, что он установлен, и служба также продолжала появляться в консоли services.msc. Даже отключение сервиса не помогло. По этой причине я клонировал код, слегка изменил имя службы и успешно установил эту службу, которая работает без проблем.
Сегодня произошло похожее событие, с той лишь разницей, что я вижу этот сервис в панели управления Uninstall. Поскольку он не удалялся, я попробовал тот же трюк с клонированием, но на этот раз не получилось.
Следующий шаг: с помощью описанного выше пошагового руководства я создал службу Windows "ничего не делать" и сделал ее полезной, импортировав в нее свои клиентские классы из исходного файла проекта C#.
Восстановленная с нуля служба Windows работает так, как задумано на моем ноутбуке, но отказывается устанавливать на сервере R2 Enterprise.
Есть идеи?
Пожалуйста и спасибо.
PS: я опубликовал это так, потому что imho, скорее всего, разработчик столкнется с этим перед передачей своего кода системному администратору.
Кстати, я не мог найти ничего похожего на это; тоже самое через гугл.
2 ответа
В данном конкретном случае это очень странное состояние прав сервера
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
хотя моя учетная запись сервера не является администратором, я являюсь членом как локальных, так и доменных администраторов в этом окне 2008 R2.
Я испробовал много идей, включая создание примера в пошаговом руководстве и его пробование. Неудачно.
Администратор бокса смог установить мой сервис, используя installutil.exe, поэтому я попробовал installutil.exe, но он работал только для меня, используя учетные данные администратора.
По этой причине я подозревал, что это может быть проблема с правами, поэтому я попытался с помощью своих учетных данных установить пример пошагового руководства на диске H:\. Успех. Затем я попытался установить проблемную службу Windows на C: в другом месте. Снова успех.
Что самое странное в этом вопросе, так это то, что много раз у меня не было проблем, а затем внезапно возникала проблема, блокирующая мои усилия по разработке.
Признак того, что служба Windows будет установлена, - это когда диалоговое окно, запрашивающее разрешение на продолжение, появляется практически сразу после начала установки. Еще одним признаком того, что успех возможен, является возможность успешного удаления любой предыдущей версии через панель управления.
Я ценю все усилия, чтобы помочь мне с этим. Спасибо.
У меня был похожий опыт работы с моими собственными MSI (не только для служб), а также сторонними MSI на Win2k3 и Win2k8. Я никогда (никогда) не доходил до сути без "свежей" переустановки операционной системы.
Как и вы, я тоже полагаю, что что-то потеряно во (комбинации или во всех) внутренних компонентах ОС (реестр, файловая система, восстановление системы).
Я знаю, что это не то, что вы хотите услышать, но (если это вообще возможно) чистая установка ОС может помочь вам.