*** Create a MST for MS .NET Framework v2.0.
1) Create a Admin Install (DotNetFx.exe /c:"MsiExec.exe /a NetFx.msi TARGETDIR=[Path] /l* DotNetFx_Admin.log" /q) ---
2) Make a backup copy of the original NetFx.msi file as example I use: NetFx_ORCA.msi.
3) Open NetFx_ORCA.msi in Orca.
Note: This file comes with the Microsoft Platform SDK.
You can change the following propertys:
* In the Table row (left screen) click on the 'Property' table.
USING_EXUIH = (1/0), Disable the forced use of Install.exe, you have to create this property. Default =0 (Force it).
4) Create the FINAL Transforms file (MST): "NetFx.mst"
MsiTran.exe -g "[PathTo]/NetFx.msi" "[PathTo]/NetFx_ORCA.msi" "[PathTo]/NetFx.mst"
5) Now you can apply the transform on the command line as follows:
MsiExec.exe /i NetFx.msi TRANSFORMS="NetFx.mst" /qb!
Or it can be applied through the modification tab in the Group Policy using Active Directory.
--- Do the same (0 to 4) for the languagepack (replace NetFx with LangPack) ---
--- Update: It is possible to use the same mst for NetFx and LangPack installations!
*** Notes ***
Most propertys discussed can be given in the commandline, like:
MsiExec.exe /i ....msi OPTION=...
Orca.exe is a FREE database table editor for creating and editing Windows Installer packages and merge modules.
MsiTran.exe is a FREE tool to generate or apply a transform file.
MsiTran.exe will be installed in: "C:\Program Files\Microsoft Platform SDK\Bin".
ORCA and MsiTran Notes:
- ORCA and MsiTran come with the Microsoft Platform SDK.
See: http://www.microsoft.com/msdownload/platformsdk/sdkupdate / http://msdn.microsoft.com/library/en-us/msi/setup/platform_sdk_components_for_windows_installer_developers.asp
- Orca.msi, MsiTran.exe and others will be installed in: "C:\Program Files\Microsoft Platform SDK\Bin".
- Instead of the the executable MsiTran.exe you could use the new 'Gen.vbs' ~ Create this vbs as described in the Platform SDK help file ~. But, as far as I tried it, it didn't work!
To deploy only the MSI without a command line do the following:
1. Extract the contents of the setup package - dotnetfx.exe /t:c:\temp /c (or you can substitute any path of your choosing for c:\temp)
2. Create an administrative install point - c:\temp\install.exe /a
3. Remove the following custom action from the MSI: CA_BlockDirectInstall_GUIH_SKU_URT
You should now be able to deploy only the MSI from the administrative installation point.
I was able to add only the MSI to a WinINSTALL package list and it deployed successfully.
That means that if you want to install the .NET Framework 2.0 and create a log file in a path with spaces you need to use a command line like the following:
dotnetfx.exe /q:a /c:"install.exe /l ""c:\Documents and Settings\myusername\Local Settings\Temp\netfx.log"" /q"
The key thing to note in this command line is that you have to double-quote any quotation marks that appear inside the quotes for the /c command line parameter. Double-quoting is the way that you have to escape quotation marks when passing command line parameters to an IExpress self-extracting executable package.
Deployment of Microsoft .NET Framework 2.0 SP2 x86 using Active Directory.
Microsoft Windows Installer 3.1 must already be deployed.
1. Download dotnetfx35.exe from http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-4892-b6db-bd4f42510f28/dotnetfx35.exe
2. Run dotnetfx35.exe /x to extract the files
3. Move wcu\dotNetFramework\dotNetFX20 into the root, eg to D:\dotNetFX20.
4. To create Microsoft .NET Framework 2.0 SP2 admin install run
msiexec /a Netfx20a_x86.msi /update D:\dotNetFX20\ASPNET.msp;D:\dotNetFX20\clr.msp;D:\dotNetFX20\crt.msp;D:\dotNetFX20\dw.msp;D:\dotNetFX20\NetFX_CA.msp;D:\dotNetFX20\NetFX_Core.msp;D:\dotNetFX20\NetFX_Other.msp;D:\dotNetFX20\prexp.msp;D:\dotNetFX20\winforms.msp USING_EXUIH=1 REBOOT=ReallySuppress /log D:\dotNetFX20\netfx20a_x86.txt TARGETDIR=D:\dotNetFX20admin
then copy D:\dotNetFX20\Netfx20a_x86.msi to D:\dotNetFX20admin and move D:\dotNetFX20admin to network share.
5. Add Netfx20a_x86.msi to an Active Directory GPO.
An x64 version can also be created and deployed using this method.