0

Я работаю над обновлением службы C# с помощью нового установщика Visual Studio 10. Старый установщик - пакетный установщик, который больно использовать с Windows 7 и выше, но все же работает правильно (как для установки, так и для удаления).Сбой службы C# при удалении

Я создал новый проект установки Visual Studio, используя this в качестве моего руководства.

Решение включает небольшое приложение, используемое для отображения статуса обслуживания в лотке. Этот вывод добавляется в проект установки и включается во все пользовательские действия наряду с сервисом.

Служба устанавливает и работает правильно с моим новым установщиком, но удаление приводит к счастливому голубому экрану смерти. Дамп показывает, что авария происходит от ntoskrnl.exe + 22fa3 (Critical_Object_Termination).

Какие методы можно использовать для отслеживания сбоя, возникающего во время удаления?

+0

Что произойдет, если вы наберете net stop servicename? Вы все еще получаете BSOD? –

+0

Служба останавливается успешно. Я могу начать и остановить обслуживание без проблем. – Renfro

ответ

0

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

+0

Удаление пользовательских действий действительно остановило крах; конечно, это также мешает службе быть зарегистрированным \ незарегистрированным, но я могу сделать это вручную. Я не смогу использовать модуль инициализации третьей стороны, такой как ISWIX, но я мог бы использовать модуль слияния по умолчанию. Спасибо за предложение. – Renfro

+0

ISWIX просто помогает создавать модули объединения WiX. WiX строит их. Реальная точка видео заключалась в том, чтобы показать, как выразить службу в модуле слияния и использовать ее в MSI. Если вы поняли эту часть, вам действительно не нужен ISWIX. :) –

+0

Я нашел и исправил основной вопрос. Крис был прав, в коде пользовательских действий было что-то ужасное, и я неправильно предположил, что он был полностью реализован. Я собираюсь оставить проблему открытой на некоторое время, чтобы узнать, есть ли у кого-нибудь какие-либо данные по вопросу: какие методы можно использовать для отслеживания проблем, возникающих во время удаления. Например, можно ли использовать отладку Visual Studio для «Присоединения к процессу» в установщике окон? – Renfro

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