Как включить. NET Framework вместе с установкой моего проекта? - PullRequest
0 голосов
/ 23 января 2020

У меня есть сервис Windows, созданный с использованием . NET Framework (версия 4.6.2). Это было сделано с использованием шаблона «Windows Service (. NET Framework)» в Visual Studio 2017. Для справки я следовал этому руководству .

Будет сделан пользовательский установщик установить / обновить / поддерживать эту службу Windows на клиентских машинах. Вот краткий обзор установщика:

  • Пользователь вводит некоторую информацию в форму / пользовательский интерфейс.
  • Проверка ввода пользователя.
  • Размещение двоичных файлов проекта службы Windows в указанном пользователем каталоге.
  • Запустите команду для установки службы Windows. Он будет использовать утилиту Windows s c.
  • Создать раздел реестра. Вставьте значения в этот раздел реестра.
  • Убедитесь, что на компьютере установлена ​​NET Framework 4.6.2. Установите его, если он еще не установлен.

Насколько я могу судить, когда служба запущена, NET Framework 4.6.2 необходимо уже установить на машине, чтобы служба работала.

Как убедиться, что на машине клиента установлена. NET Framework 4.6.2, установленная на нем?

Также будут другие версии. NET Framework - например, версия 4.8 - уже установленная на машине вызывает проблемы?

Я провел поиск в Интернете, но не нашел решений для моей ситуации. Это решение работает, только если мы решили использовать проект установщика Visual Studio для нашего установщика. Автономные развертывания , очевидно, работают только для проектов на основе. NET Core, а не. NET Framework.

1 Ответ

0 голосов
/ 25 февраля 2020

Хотя мы еще не внедрили наш пользовательский установщик, после некоторых исследований мы, скорее всего, сделаем следующее:

  • Включите автономный установщик для. NET Framework (в нашем случае нам нужна версия 4.6.2 ) в нашем пользовательском установщике.
  • Попросите наш пользовательский установщик проверить существующую версию. NET Framework. См. этот документ для получения подробных сведений об определении установленной версии. NET Framework.

    • Если клиент имеет. NET Framework версия 4.6.2. (или более поздней версии), затем перейдите к процессу установки.
    • Если на клиенте установлена ​​более старая версия. NET Framework, спросите его, хотят ли они выполнить обновление до версии 4.6. 2. Если они отклоняются, прервите пользовательский установщик. Если они решат обновить до. NET Framework версии 4.6.2, мы запустим автономный установщик. См. Приведенный ниже пример кода basi c для вызова автономной программы установки:

      // NOTE: This code is just a crude example.
      
      // Invoke the offline installer.
      System.Diagnostics.Process process = new System.Diagnostics.Process();
      System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
      startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
      startInfo.FileName = "cmd.exe";
      startInfo.Arguments = "/C path\\to\\offline\\installer\\NDP462-KB3151800-x86-x64-AllOS-ENU.exe";
      process.StartInfo = startInfo;
      process.Start();
      
      process.WaitForExit();
      
      // Handle the exit code.
      if (process.ExitCode == ...)
      {
          ...
      }
      

Ссылки

Связанные

Во время некоторых моих испытаний / исследований было обнаружено следующее:

  • По умолчанию эти операционные системы установлены следующие версии. NET Framework:
    • Windows 7 SP1 -. NET Версия Framework 3.5.30729.5420
    • Windows 10 ноября Обновление 2019 (версия 1909) -. NET Версия платформы 4.8 * 10 58 *
    • Windows Server 2012 R2 Standard (версия 6.3.9600) -. NET Версия платформы 4.5.1
    • Windows Сервер 2019 (версия 10.0.17763; версия 1809) -. NET Версия платформы 4.7.2
  • С последними обновлениями ( около февраля 2020 ) эти операционные системы установлены следующие версии. NET Framework:
    • Windows 7 SP1 -. NET Версия Framework 4.8
    • Windows 10 ноября 2019 г. Обновление (Версия 1909) -. NET Версия Framework 4.8
    • Windows Server 2012 R2 Standard (Версия 6.3.9600) -. NET Версия Framework 4.8
    • Windows Сервер 2019 (версия 10.0.17763; он же версия 1809) -. NET Версия платформы 4.7.2

Устранение неполадок

  • Этот документ содержит информацию о способах устранения неполадок. NET Установка / удаление установки.
  • Этот документ содержит информацию об устранении ошибок, связанных с запуском приложения в зависимости от. NET Framework.
...