Развертывание собственных приложений C# на предприятии
Вопрос по теории. Развертывание и сопровождение программ на предприятии написанных на C#.
Немного о прошлом.
Начинал я свой путь программиста с Delphi на одном предприятии. В середине 90ыx. Достаточно крупном, на 1.5к сотрудников. Отдел IT был небольшой. 4-5 человек. И мы писали свою систему на Delphi от принятия заказа до выдачи со склада. Плюс сопровождающие программы расчета ЗП. Автоматизация отдела кадров. Планирование производства и т д. 200+пользователей онлайн. В общем, работы было много и интересно. Каждое приложение это отдельный exe модуль. Было их штук 7 или 8…. Был написан лаунчер который проверял актуальность версии и обновлял основную программу при запуске. Так как разработка велась постоянно. Программа могла обновляться по несколько раз в день. Даже если меняли что-то незначительно, обновить exe модули на локальных машинах приходилось. Все это прекрасно работало почти 10 лет. Частично писалось и на C#. Delphi умирал как язык. И чтобы идти в ногу со временем переходили на C#. Все так же работало через лаунчер. Я работал на одном заводе. И его обслуживал. Предприятие выросло для нескольких заводов, и задумались о приобретении Серьезной ERP системы. Был куплен ERP SAP R/3. И пошло внедрение. Все работает. В SAP системе там все удобней для разработки. Есть сервер разработки. Транспорт на продуктив. Если мелкая правка она на продуктив вообще влетает незаметно для пользователя. А мелкая правка на C# приведет к перезапуску exe модуля. Если сложная правка с изменениями таблиц, то делается обновление утром пока никого нет. Гемор с exe модулями как бы отсутствует. Ну и я уже лет 15 абапер. Возможно, в силу ряда причин придется вернуться к разработке на C#. Посему вопрос: А как сейчас сделать подобную систему, чтобы не морочиться с exe модулями? И как обновлять пользователю программу локально. Максимально для него удобно? Я напишу опять лаунчер(свой steam) и т д. Будет работать. Но может, есть способ проще? После сапа отстал я немного от технологий.
Надо учитывать следующее: Разработка будет идти в реальном времени. Есть сложные моменты, и придется обновляться по несколько раз в день. Если найдена критическая ошибка нужно исправить… срочно.
Сделать свой внутренний язык и компилиться при изменениях это сложновато, не та группа разработчиков. 1-2 человека. Это будет Winforms приложения. Web не предлагать. То что нужно на Web уже реализовано на WEB.Свести к минимум обновления на начальном этапе будет сложно. Так как группа небольшая. Много расчетов. Работать уже надо но ошибки править по ходу обнаружения. В общем давайте исходить из того что нужно написать программу на C# и будут работать 20 пользователей. Задача максимально просто производить обновления exe модулей.
Пока в мыслях написать свой мини steam :-)
Ваши предложения?
Спасибо.