Como posso fazer com que o .NET Framework 3.5 SP1 seja instalado silenciosamente?

5

Estou tentando instalar, como parte do projeto de instalação de bootstrapper encadeado, o .NET Framework 3.5 SP1. Mas, quando você executa o instalador, mesmo sozinho, com /q /norestart , é tudo menos silencioso. Eu não esperaria nenhuma interface de usuário, mas me apresentam o seguinte:

Existe alguma maneira de realmente torná-lo quieto? Eu olhei para outros tópicos no Stack e em outros lugares, e todos eles parecem implicar que essa seria a maneira de fazer a instalação acontecer calmamente, mas isso não acontece.

Nota : Eu sei, na tela de prompt de comando eu usei \ , mas mesmo com / , mesma coisa.

Observação : tentei as versões completa e não completa do .NET Framework 3.5 SP1 redistribuíveis; mesma coisa.

    
por Alexandru 29.09.2014 / 23:18

3 respostas

5
O

.Net 3.5 já faz parte do Windows 8, por isso o instalador não funciona. Você pode usar o DISM para instalar o .Net 3.5 :

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:d:\sources\sxs
    
por 30.09.2014 / 06:15
0

Tente chamar o instalador com estes parâmetros:

dotnetfx35setup.exe /qb /norestart

Além disso, certifique-se de que todos os pacotes de instalação não estejam faltando, você pode usar pacote de instalação completa do .NET Framework 3.5 SP1 .

    
por 29.09.2014 / 23:55
0

A opção /q é a correta ( /q , não \q ):

dotnetfx35.exe /lang:ENU /q

Esta sintaxe é usada em winetricks e instala .NET corretamente (veja: load_dotnet35sp1() ).

Se isso não acontecer, verifique se você tem a versão correta do dotnetfx35.exe file .

AutoHotKey

Como alternativa, você pode usar o AutoHotKey para automatizar qualquer wizzard do instalador.

Aqui está o exemplo retirado de winetricks :

SetTitleMatchMode, 2
run, dotnetfx35.exe /lang:ENU /q

Loop
{
    sleep 1000
    ifwinexist,, cannot be uninstalled
    {
        WinClose,, cannot be uninstalled
        continue
    }
    Process, exist, dotnetfx35.exe
    dotnet_pid = %ErrorLevel%
    if dotnet_pid = 0
    {
        break
    }
 }
    
por 09.11.2017 / 16:03