Может ли сценарий NSIS загрузить .NET и DirectX из Microsoft, а затем установить его?
Я не хочу включать установщики в мой установщик, потому что они огромные.
Вот пример для .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
Для DX вы можете использовать dxwebsetup.exe в качестве начальной загрузки. Это небольшой установщик, который сканирует систему пользователя и затем загружает необходимые компоненты: http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&displaylang=en
Не уверен, что есть аналогичный веб-установщик для обычной платформы .net, но, по крайней мере, это полдела
Вот, пожалуйста, информация о загрузке в Интернете для DirectX