У меня странная проблема, и я не могу найти рабочее решение. Заранее спасибо за любую помощь.
Я разработал Службу Windows на C #, которая использует библиотеку Newtonsoft.JSON для анализа результата из набора WebAPI. Служба развернута с MSI, и все работает отлично.
Первая версия сервиса использовала Newtonsoft.JSON 6.0.8, но недавно я перешел на версию 11.0.2.
Я упаковал новый MSI (с правильной версией / Product Id / Upgrade Id, чтобы обеспечить обновление), и я пытаюсь развернуть новую версию с помощью небольшого установочного приложения, которое выполняет следующее:
- Остановите службу (если она установлена и работает) с помощью System.ServiceProcess.ServiceController
- Удалите службу с помощью
System.ServiceProcess.ServiceController
- Запустите
System.Process
, который вызывает msiexec для нового файла MSI
Результат: служба не работает, и из журнала я вижу, что приложение все еще ищет версию 6.0.8 Newtonsoft.JSON.
Если я попробую следующее:
- Щелкните правой кнопкой мыши на msi -> Удалить
- Щелкните правой кнопкой мыши на msi -> Установить
Все работает нормально, сервис использует версию библиотеки 11.0.2 ...
Я схожу с ума по этому поводу ... Как я могу исправить / очистить процесс обновления?
Заранее спасибо