@ECHO off & setlocal EnableDelayedExpansion SET "O_LOGFILE=%systemdrive%\install.log" :PROCESSOR REM :: Detect OS bit-ness on running system. Assumes 64-bit unless 64-bit components do not exist. SET "ARCH=64" & SET "ARCHP=x64" IF /I NOT EXIST "%SystemRoot%\SysWOW64\cmd.exe" ( IF NOT DEFINED PROCESSOR_ARCHITEW6432 (SET "ARCH=32" & SET "ARCHP=x86") ) ECHO>>"%O_LOGFILE%" 2>>&1 System architecture is %ARCH% bit. :PROCESSOR_end :NET_Framework_45 REM :: Change below path to where the NET45 installer/updates are stored. SET "D_NET45path=%CD%" IF /I NOT EXIST "%D_NET45path%\dotnetfx45_full_x86_x64.exe" GOTO NET_Framework_45_end ECHO>>"%O_LOGFILE%" ...................... ECHO>>"%O_LOGFILE%" 2>>&1 Installing .NET 4.5 Framework SET "F_NET45msp=" FOR /F %%m IN ('dir /b /s "%D_NET45path%\%ARCHP%\NDP45-KB*.msp"') DO ( IF NOT DEFINED F_NET45msp (SET "F_NET45msp=%%m") ELSE (SET "F_NET45msp=!F_NET45msp!;%%m") ECHO %%m ) 1>>"%O_LOGFILE%" 2>>&1 ECHO>>"%O_LOGFILE%" 2>>&1 Executing: %D_NET45path%\dotnetfx45_full_x86_x64.exe /passive /norestart /msioptions "PATCH=%F_NET45msp%" %D_NET45path%\dotnetfx45_full_x86_x64.exe /passive /norestart /msioptions "PATCH=%F_NET45msp%" >>"%O_LOGFILE%" 2>>&1 ECHO>>"%O_LOGFILE%" 2>>&1 Completed .NET 4.5 Framework installation :NET_Framework_45_end EXIT