Page 1 of 1

[solved] dot net installation

PostPosted: 01.09.2011, 12:12
by brundleflyguy
I know that the Updater downloads the main dotnet files and patches, but it doesn't appear that it will install them (I always end up running Windows Update to get all these updates. Is there a way to do these updates silently (either through the Updater or on a command line?) I did find this on another site:

start /wait dotnetfx35.exe /passive /norestart
start /wait NDP20SP2-KB958481-x86.exe /passive /norestart
start /wait NDP30SP2-KB958483-x86.exe /passive /norestart
start /wait NDP35SP1-KB958484-x86.exe /passive /norestart
start /wait NDP30SP2-KB982524-x86.exe /passive /norestart

But that only does 3.5, and from what I can see looking in my dotnet\x86-glb folder, there are ton more updates in that folder. Would it be worth doing a silent install of these files from the command line?

Thanks!

Re: dot net installation

PostPosted: 01.09.2011, 13:48
by brundleflyguy
Please excuse my lousy coding, but here's what I did, and it appears to work.

Code: Select all
pushd %cd%
IF "%PROCESSOR_ARCHITECTURE%"=="x86" set OSBits=
IF NOT "%PROCESSOR_ARCHITECTURE%"=="x86" set OSBits=64
IF "%PROCESSOR_ARCHITEW6432%"=="AMD64" set OSBits=64
:: 3.5
start /wait dotnetfx35.exe /passive /norestart
:: 4
start /wait dotNetFx40_Full_x86_x64.exe /passive /norestart
:: Go to the x86 or x64 folder
if "%OSBits%"=="64" goto x64
:32
w:
cd \dotnet\x86-glb
for /f %%f in ('dir /b') do start /wait %%f /q
c:
cd x86
for /f %%f in ('dir /b') do start /wait %%f /q
goto end
:x64
cd \dotnet\x64-glb
for /f %%f in ('dir /b') do start /wait %%f /q
c:
cd x64
for /f %%f in ('dir /b') do start /wait %%f /q
goto end
:end
c:
net use w: /d

There is one bug with this, which is that dotnetfx35langpack_x86de.exe doesn't install in 7, so I need to look at that, but still, it's a lot faster than using WindowsUpdates to get all these installs done.

If anyone sees a problem with my solution, please let me know.

Re: dot net installation

PostPosted: 01.09.2011, 13:56
by boco
It does install Dotnet updates if it detects the Dotnet installed.

Re: dot net installation

PostPosted: 01.09.2011, 14:22
by brundleflyguy
No, I just do the install of both 3.5 and 4 (regardless if they are already installed) and then install the updates.

Re: dot net installation

PostPosted: 01.09.2011, 15:33
by brundleflyguy
I changed the code to:
Code: Select all
pushd %cd%
IF "%PROCESSOR_ARCHITECTURE%"=="x86" set OSBits=
IF NOT "%PROCESSOR_ARCHITECTURE%"=="x86" set OSBits=64
IF "%PROCESSOR_ARCHITEW6432%"=="AMD64" set OSBits=64
:: 3.5
start /wait dotnetfx35.exe /passive /norestart
:: 4
start /wait dotNetFx40_Full_x86_x64.exe /passive /norestart
:: Go to the x86 or x64 folder
if "%OSBits%"=="64" goto x64
:32
w:
cd \dotnet\x86-glb
for /f %%f in ('dir n* /b') do start /wait %%f /q
c:
cd x86
for /f %%f in ('dir n* /b') do start /wait %%f /q
goto end
:x64
cd \dotnet\x64-glb
for /f %%f in ('dir n* /b') do start /wait %%f /q
c:
cd x64
for /f %%f in ('dir n* /b') do start /wait %%f /q
goto end
:end
c:
net use w: /d


And that resolves the problem with the language pack. So far, it appears to work. I'm running as part of my scripted install once OfflineUpdater finished, before I manually check WindowsUpdates.

Re: dot net installation

PostPosted: 01.09.2011, 15:51
by aker
Are there problems with dotnetupdates?
If you check "Install Dotnet" (3.5 & 4) the program will install all needed updates for .NET if they were downloaded.
And LanguagePacks will be installed if you need to install one (English doesn't need any) and you ran .\cmd\AddLanguageSupport.cmd <your Language>.

Re: dot net installation

PostPosted: 01.09.2011, 17:13
by brundleflyguy
aker wrote:Are there problems with dotnetupdates?
If you check "Install Dotnet" (3.5 & 4) the program will install all needed updates for .NET if they were downloaded.
And LanguagePacks will be installed if you need to install one (English doesn't need any) and you ran .\cmd\AddLanguageSupport.cmd <your Language>.


It wasn't working for me. I'm using the DoUpdate.cmd, not the GUI. That could be my problem.

Re: dot net installation

PostPosted: 01.09.2011, 18:58
by WSUSUpdateAdmin
Hi.

You don't need to modify the code.
Just call
Code: Select all
DoUpdate.cmd /instdotnet35 /instdotnet4


As you can see in DoUpdate.cmd:
Code: Select all
:EvalParams
if "%1"=="" goto NoMoreParams
for %%i in (/nobackup /verify /instie7 /instie8 /instie9 /updatecpp /updatedx /updatewmp /updatetsc /instdotnet35 /instdotnet4 /instpsh /instmsse /instwd /instofccnvs /autoreboot /shutdown /showlog /all /excludestatics) do (
  if /i "%1"=="%%i" echo %DATE% %TIME% - Info: Option %%i detected >>%UPDATE_LOGFILE%
)
if /i "%1"=="/nobackup" set BACKUP_MODE=/nobackup
if /i "%1"=="/verify" set VERIFY_MODE=/verify
if /i "%1"=="/instie7" set INSTALL_IE=/instie7
if /i "%1"=="/instie8" set INSTALL_IE=/instie8
if /i "%1"=="/instie9" set INSTALL_IE=/instie9
if /i "%1"=="/updatecpp" set UPDATE_CPP=/updatecpp
if /i "%1"=="/updatedx" set UPDATE_DX=/updatedx
if /i "%1"=="/updatewmp" set UPDATE_WMP=/updatewmp
if /i "%1"=="/updatetsc" set UPDATE_TSC=/updatetsc
if /i "%1"=="/instdotnet35" set INSTALL_DOTNET35=/instdotnet35
if /i "%1"=="/instdotnet4" set INSTALL_DOTNET4=/instdotnet4
if /i "%1"=="/instpsh" set INSTALL_PSH=/instpsh
if /i "%1"=="/instmsse" set INSTALL_MSSE=/instmsse
if /i "%1"=="/instwd" set INSTALL_WD=/instwd
if /i "%1"=="/instofccnvs" set INSTALL_CONVERTERS=/instofccnvs
if /i "%1"=="/autoreboot" set BOOT_MODE=/autoreboot
if /i "%1"=="/shutdown" set FINISH_MODE=/shutdown
if /i "%1"=="/showlog" set SHOW_LOG=/showlog
if /i "%1"=="/all" set LIST_MODE_IDS=/all
if /i "%1"=="/excludestatics" set LIST_MODE_UPDATES=/excludestatics
shift /1
goto EvalParams


RTW

Re: dot net installation

PostPosted: 01.09.2011, 22:51
by brundleflyguy
Oh. Stupid of me. Thanks!