2016-10-26 3 views
0

Я пытаюсь установить .NET Framework 4.6.1 с помощью извлеченного файла MSI (netfx_Full_x64.msi) из NDP461-KB3102436-x86-x64-AllOS-ENU.exe в Windows 8. Это необходимо, потому что мы упаковываем это в другой пакет msi с помощью InstallShield. Он отлично работает с Windows 7 и Windows Server 2008. Когда я пытаюсь установить его в Windows 8, я получаю следующую ошибку: Microsoft .NET Framework 4.5 уже входит в состав этой операционной системы, но в настоящее время отключен. Чтобы включить .NET Framework 4.5, включите или выключите функции Windows в панели управления.InstallShield .NET 4.6.1 Установка платформы в Windows 8

  1. Я проверил функцию Windows и включился.
  2. Не уверен, почему он просит об этом, когда я пытаюсь установить более позднюю версию .NET Framework.
  3. Я попытался запустить .NET Framework исполняемый файл в бесшумный в фазе UI установки MSI, но я получаю сообщение об ошибке: WM_ACTIVATEAPP: окна Фокус похититель был виден, не отводя назад фокусировать

Каждый имеет опыт работы с это и может помочь?

Благодаря

ответ

0

Я не имел опыта с этим, но на основе ошибки, установщик .NET Framework для Windows 8 и, возможно, более новый, требует включения в .NET Framework 4.5 первым. В Windows 8 .NET Framework указана как функция, но биты, которые ее устанавливают, отсутствуют локально. Вы должны убедиться, что платформа .NET для Windows 8 включена.

В зависимости от версии InstallShield вы можете добавить платформу .NET к функции (для MSI) или установить пакет/расширенный интерфейс, связать его с пакетом, который будет установлен. Обязательно выполните последовательность перед установкой .NET Framework 4.6.

В противном случае вам необходимо создать пользовательское предварительное условие, которое вызывает DISM для установки пакета.

Если вы настроите таргетинг на системы, находящиеся в автономном режиме, без какого-либо доступа к Интернету, вам нужно будет попросить пользователя установить .NET Framework 4.5 перед установкой и выйти из программы установки. Это связано с тем, что в Windows 8 бит не является локальным, и он попытается загрузить их. Если подключение к Интернету отсутствует, ОС нуждается в доступе к исходному установочному носителю, который выходит за рамки большинства установщиков.


EDIT: Я прочитал ваше описание еще раз и заявляю, что вы подтвердили, что функция .NET Framework 4.5 включена. В этот момент я был бы так же смущен, как вы. Вы проверили состояние функции с помощью подсказки CMD или PowerShell? Попробуйте следующую команду,

DISM.exe /Online /Get-FeatureInfo /FeatureName:NetFx3 
DISM.exe /Online /Get-FeatureInfo /FeatureName:NetFx4-AdvSrvs 
DISM.exe /Online /Get-FeatureInfo /FeatureName:NetFx4Extended-ASPNET45 

Проверьте текущую версию и состояние каждого пакета. Ирония заключается в том, что в Windows 10 (где я сделал проверку на предмет безопасности). Это показывает, что 4.6 установлен, но все еще показывает майор/младший из 4.5. Идите фигуру.

0
  • On Windows 8 and Windows Server 2012, it's listed as Update for Microsoft Windows (KB3102439) under the Installed Updates item in Control Panel.

  • On Windows 8.1 and Windows Server 2012 R2, it's listed as Update for Microsoft Windows (KB3102467) under the Installed Updates item in Control Panel.

  • On Windows 10, it's listed as Update for Microsoft Windows (KB3102495) under the Installed Updates item in Control Panel.

https://support.microsoft.com/en-us/kb/3102436

вы должны проверить его с помощью условия запуска.Вы можете сделать это с помощью этого ключа реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full 

Version значение должно быть больше, чем 4.6.01055

сообщение может попросить вашего пользователя, чтобы обновить его установки с конкретным KB