#c_sharp #net
Необходимо чтобы при запуске программы (обязательно C#) происходила проверки наличия установленного .NET Framework 3.5 и выше. Пока есть два варианта решения проблемы: 1. Открывать программу .NET Framework 2.0 и если проходит проверка, то запускать на версии выше. 2. Писать в другой среде, которая может проверить наличие .NET Framework как такового и после чего уже запускать программу. Хотелось бы услышать ваши мнения. По первому пункту я не могу найти как поменять запускаемую платформу и как потом перейти на другую программу. По второму - на чём писать и, опять таки, как запустить программу написанную в C#.
Ответы
Ответ 1
Не-не, так не катит. Программа должна не просто запускаться, а инсталлироваться на клиентской машине. Инсталляция включает установку всех необходимых redistributables, включая и нужную версию .NET. Это значит, что если ваш target — платформа младше Windows 7 (на которой .NET 3.5 ставится автоматически), вам нужно таскать с собой либо полный redistributable, либо web-инсталлятор. В любом случае, проверка и инсталляция необходимых библиотек — это проблема не программы, а её инсталлятора.Ответ 2
Помимо ответа @VladD, с которым я полностью согласен, в голову приходит ещё пару вариантов: Вместе с программой поставляйте .config-файл с указанием необходимой платформы (подробнее можно почитать здесь), пример содержания конфигурационного файла:В теории, при отсутствии нужной версии платформы, должно будет появиться окно с запросом на установку нужной версии framework'а. Сделать небольшое вспомогательное приложение - bootstrapper (собранное под второй framework, если оно на .net, или простое нативное приложение на любом языке), которое при запуске проверит версию Framework'а (лучше всего по реестру), и если всё плохо, то сообщит об этом, а если всё хорошо - запустит основное приложение.
Комментариев нет:
Отправить комментарий