Deploy .net 4 via Active Directory group policy or WSUS

Is there a way to automatically deploy .net 4 using Active Directory group policy or WSUS?

I want to push it out to lots of machines without having to go around to each one.

Background: I have a VSTO ClickOnce application I want to deploy to non-admin users, but it uses .net 4, which won't install without admin rights, so ClickOnce fails for non-admins unless .net 4 is already installed.


We used a script via Altiris Deployment. It should function as computer logon script or via remote cli. You need to grab the stand-alone installer from Microsoft.

START "" /WAIT dotNetFx40_Full_x86_x64.exe /q /norestart /log %TEMP%\dotNet4.log

Edit:

Also wanted to add that this install will take a couple minutes, or longer, depending on the speed of the client's computer. Performing the install should likely be scheduled during a maintenance window where users will not restart their computers for "not-responding". It may also be wise to restart the machine post-install. We don't as we perform an Altiris software inventory immediately after.


For versions 2.0, 3.0, and 3.5, installing .NET Framework directly from the .msi database would fail with a message about needing to launch setup.exe unless either the ADDEPLOY or VSEXTUI properties were set to 1. I'm assuming that when using Group Policy it automatically sets ADDEPLOY to 1 for every installation it performs, but otherwise you'd need to do this explicitly.

For both the Client Profile and Extended editions of .NET Framework 4.0, it works the same way except the one and only property you can set is called EXTUI; ADDEPLOY won't have the desired effect. (If you look at the CA_BlockDirectInstall action in the InstallExecuteSequence table of the .msi database you'll see that the condition for that particular action is "NOT (EXTUI = 1 OR Installed)"). After setting that property to 1, I've been able to perform deployments directly from the .msi via Novell ZENworks or msiexec.exe with no issues whatsoever. One would think Active Directory should be just as easy except, unlike with ADDEPLOY, I'm guessing you'll probably need to set the EXTUI property yourself, which can be done with a transform.

A minimal command line to perform an unattended installation of, for example, 64-bit .NET Framework 4.0 Client Profile would be...

msiexec.exe /i netfx_Core_x64.msi EXTUI=1

...or simply...

netfx_Core_x64.msi EXTUI=1

Since there are no installation options for the user to customize, the (default) full interface mode is already effectively an unattended installation, so you don't need to add /passive or any /q switches to make it execute unattended.