2010-10-07 2 views
0

У меня есть самодельный загрузчик (назовите 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

ответ

0

Установка .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