У меня есть самодельный загрузчик (назовите SetUp.exe), который проверяет, установлен ли .NET 3.5 на целевой машине, а если нет, запускает установку, запустив dotnetfx35.exe. Хорошо. Это работает для всех случаев, которые мне нужны EXCEPT для Windows 2008 Server R2. В этой ОС установщик .NET не устанавливает/не разрешает .NET 3.5. Вместо этого появляется диалоговое окно, указывающее, что нужно вручную включить его. Я бы предпочел сделать это автоматически из моего загрузочного exe OR или из моей основной MSI, основанной на WiX.Как добавить установку .NET 3.5 в Installer в Windows Server 2008 R2
ответ
Установка .NET Framework изменилась в Windows Server 2008 R2 - вы не можете просто запустить dotnetfx35.exe (как вы пытались), но вам нужно включить функцию сервера.
Обычно вы добавляете роль сервера через Диспетчер серверов> Добавить функции> Возможности .NET Framework 3.5.1, но вы сказали, что вам нужно установить его через установку WiX.
Единственный способ, которым я знаю, - использовать PowerShell. В PowerShell (запускается с правами администратора!), Необходимо выполнить следующие команды:
Import-Module ServerManager
Add-WindowsFeature as-net-framework
Это, конечно, можно было бы по сценарию вызывающему powershell.exe так:
powershell.exe -ImportSystemModules Add-WindowsFeature net-framework
ImportSystemModules
вы должны быть можно позвонить по номеру Add-WindowsFeature
. Если вы хотите, чтобы top keep powershell.exe был открыт для просмотра результатов (я думаю, не в ситуации развертывания), просто добавьте параметр -noexit
.
В блоге Microsoft SQL Server есть статья о How to install/enable .Net 3.5 SP1 on Windows Server 2008 R2 for SQL Server 2008 and SQL Server 2008 R2