Мне интересно, могу ли я запустить службу Windows, написанную на C#, в .NET Framework 4.7.2 на компьютере с Windows, на котором не установлена .NET Framework? Есть ли способ запустить такой сервис?
Я установил службу на свой компьютер, но на нем установлен .NET Framework, и для установки я использовал installutil.exe. Однако как будет выглядеть процесс установки на компьютере без .NET Framework?
Нет необходимости устанавливать Net. Вы должны опубликовать приложение и использовать setup.exe для запуска кода. Net вызывает библиотеки DLL Windows, а библиотеки Windows необходимо обновить для запуска сетевого приложения. Setup.exe, как и любые обновления коммерческого программного обеспечения, развертывает машину, поэтому код будет работать.
Нет, вы не можете запустить любую программу .net без установленной совместимой версии .net, если только вы не используете автономное приложение .net core.
Совместимая версия .Net framework может быть предустановлена в Windows, в зависимости от того, какую версию Windows вы используете. Посмотрите эту таблицу, чтобы проверить, какие версии предустановлены на какой версии. .Net 4.8 должен быть обратно совместим с 4.7.2, поэтому самые последние версии Windows 10 должны подойти.
Если .Net не установлен, Windows должен представить диалоговое окно, спрашивающее пользователя, хочет ли он установить .Net при первом запуске приложения. Но если это служба Windows, это может быть невозможно, поскольку у служб отсутствует пользовательский интерфейс. Я также столкнулся с ошибками при попытке установить .net framework в некоторых версиях Windows, но должны быть доступны обходные пути.
Распространенным решением является создание установщика, который также автоматически устанавливает правильную версию .net, если это необходимо.
Я думаю, что невозможно запустить даже базовую программу на С#, если не установлен .NET framework.