Я прочитал каждую статью stackoverflow по установкам MSI, но не могу найти решение моей проблемы:
У меня есть решение VS2010 с 5 проектами, все нацеленные на .NET 2.0:
- DLL A, нет ссылок на проекты
- DLL B, ссылки на DLL
- A Приложение Windows Forms, ссылки на DLL B
- Служба Windows, ссылки на DLL B
- Проект установки
DLL A и DLL B настроены так, чтобы быть установленными в GAC во время установки.Я хотел бы запустить службу после завершения установки, но согласно тому, что я прочитал, сборки не регистрируются до самого последнего шага.Я доказал это, пытаясь запустить службу в событии AfterInstall моего класса ServiceInstaller, и я получаю следующую ошибку:
Ошибка 1001. Не удалось загрузить файл или сборку «DLL_B», версия 1.0.0.1, Культура = нейтральный, PublicKeyToken = 5e297270603814f4 'или одна из его зависимостей.Системе не удалось найти указанный файл.
Но, конечно, после завершения установки я могу вручную запустить службу, и она работает нормально.Кроме того, в Windows XP я обычно запускаю службу при запуске приложения (у меня есть флажок с Launch Application в качестве последнего шага установщика).Но в Windows 7 разрешения в это время больше не повышаются, и при запуске службы выдается ошибка.
Как выполнить установку и запуск службы без принудительной перезагрузки ?Процитирую моего клиента: «Сейчас 2011 год, и в этом не должно быть необходимости», и я искренне согласен.
Спасибо заранее.