Скрипт NSIS - скачать .NET framework, DirectX

Может ли сценарий NSIS загрузить .NET и DirectX из Microsoft, а затем установить их?

Я не хочу включать установщики в мой установщик, потому что они огромны.


person Kevin    schedule 12.02.2010    source источник


Ответы (3)


Вот пример для .Net:

Function GetDotnet ;// looks for local copy before downloading, returns path in $0
    Pop $0
    ${If} ${FileExists} "$InitDir\dotnetfx35.exe"
        StrCpy $0 "$InitDir\dotnetfx35.exe"
    ${ElseIf} ${FileExists} "$InitDir\dotnetfx35setup.exe"
        StrCpy $0 "$InitDir\dotnetfx35setup.exe"
    ${Else}         
        Call DownloadDotnet
        StrCpy $0 $0
    ${EndIf}
    Push $0
FunctionEnd

Function DownloadDotnet ;// downloads .Net, returns download path in $0
    NSISDL::download "${DotnetDownloadUrl}" "${TempDir}\dotnetfx35setup.exe"
    Pop $0  
    ${If} $0 == "cancel"
        Quit    
    ${EndIf} 
    StrCpy $0 "${TempDir}\dotnetfx35setup.exe"
    Push $0
FunctionEnd 

Function InstallDotnet ;// kicks off the .Net installer
    Pop $0
    Push $1 
    ExecWait '"$0" /norestart' $1       
FunctionEnd
person Seba Illingworth    schedule 22.02.2010

Вот: информация о загрузке DirectX из Интернета

person Dave    schedule 12.02.2010
comment
Я хочу загрузить файл во время установки и не включать DirectX или .NET framework в мой 8-мегабайтный установщик. - person Kevin; 13.02.2010
comment
Упомянутый здесь файл является не полным установщиком, это веб-установщик. - person Dave; 13.02.2010

Для DX вы можете использовать dxwebsetup.exe в качестве начальной загрузки. Это небольшая программа установки, которая сканирует систему пользователя, а затем загружает необходимые компоненты:
http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&displaylang=en

Не уверен, что есть аналогичный веб-установщик для обычного .net-фреймворка, но, по крайней мере, это полдела.

person Joel Martinez    schedule 12.02.2010