@strell, thanks for your improvement!
My final script for dutch language looks like this and passes Windows Update
install.infCODE
[Version]
Signature = "$Windows NT$"
[DefaultInstall]
RunPreSetupCommands = NetFX20.Install:1,NetFX30.Install:1,NetFX35.Install:1
[DestinationDirs]
;All users application data directory
NetFX.CopySetup = 16419,".NET Framework"
[NetFX.CopySetup]
"install.inf"
"NetFX30SP2_x86.msi"
"NetFX30SP2_x86_nld.msi"
"NetFX35SP1_x86.msi"
"NetFX35SP1_x86_nld.msi"
[NetFX20]
RunPreSetupCommands = NetFx20.Install:1
CopyFiles = NetFX.CopySetup
[NetFX30]
RunPreSetupCommands = NetFx30.Install:1
[NetFX35]
RunPreSetupCommands = NetFx35.Install:1
AddReg = Uninstall.Reg,KB951847.AddReg,KB928416.AddReg
[NetFX20.Install]
;Microsoft .NET Framework 2.0 SP2
"msiexec /i ""%01%\NetFX20SP2_x86.msi"" /qb-! ALLUSERS=1"
;Microsoft .NET Framework 2.0 SP2 dutch language pack
"msiexec /i ""%01%\NetFX20SP2_x86_nld.msi"" /qn ALLUSERS=1"
[NetFX30.Install]
;Microsoft .NET Framework 3.0 SP2
"msiexec /i ""%01%\NetFX30SP2_x86.msi"" /qb-! ALLUSERS=1"
;Microsoft .NET Framework 3.0 SP2 dutch language pack
"msiexec /i ""%01%\NetFX30SP2_x86_nld.msi"" /qn ALLUSERS=1"
[NetFX35.Install]
;Microsoft .NET Framework 3.5 SP1
"msiexec /i ""%01%\NetFX35SP1_x86.msi"" /qb-! ALLUSERS=1"
;Microsoft .NET Framework 3.5 SP1 dutch language pack
"msiexec /i ""%01%\NetFX35SP1_x86_nld.msi"" /qn ALLUSERS=1"
[Uninstall.Reg]
;Fix .NET 3.5 SP1 uninstall information
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{CE2CDD62-0124-36CA-84D3-9F4DCF5C5BD9}","SystemComponent",0x10001,00,00,00,00
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{101738D7-D805-37A9-BB91-1F2C351782BF}","SystemComponent",0x10001,00,00,00,00
[KB951847.AddReg]
;KB958481
HKLM,"%INSTUSERDATA_KEY%\Products\DC3BF90CC0D3D2F398A9A6D1762F70F3\Patches\C3CFBEEB1B8483A43A5C18AB91FDF504","DisplayName",0x0,"KB958481"
HKLM,"%INSTUSERDATA_KEY%\Products\DC3BF90CC0D3D2F398A9A6D1762F70F3\Patches\C3CFBEEB1B8483A43A5C18AB91FDF504","LUAEnabled",0x10001,00,00,00,00
HKLM,"%INSTUSERDATA_KEY%\Products\DC3BF90CC0D3D2F398A9A6D1762F70F3\Patches\C3CFBEEB1B8483A43A5C18AB91FDF504","MSI3",0x10001,01,00,00,00
HKLM,"%INSTUSERDATA_KEY%\Products\DC3BF90CC0D3D2F398A9A6D1762F70F3\Patches\C3CFBEEB1B8483A43A5C18AB91FDF504","MoreInfoURL",0x0,"http://www.microsoft.com/"
HKLM,"%INSTUSERDATA_KEY%\Products\DC3BF90CC0D3D2F398A9A6D1762F70F3\Patches\C3CFBEEB1B8483A43A5C18AB91FDF504","PatchType",0x10001,00,00,00,00
HKLM,"%INSTUSERDATA_KEY%\Products\DC3BF90CC0D3D2F398A9A6D1762F70F3\Patches\C3CFBEEB1B8483A43A5C18AB91FDF504","State",0x10001,01,00,00,00
HKLM,"%INSTUSERDATA_KEY%\Products\DC3BF90CC0D3D2F398A9A6D1762F70F3\Patches\C3CFBEEB1B8483A43A5C18AB91FDF504","Uninstallable",0x10001,00,00,00,00
;KB958483
HKLM,"%INSTUSERDATA_KEY%\Products\0DC1503A46F231838AD88BCDDC8E8F7C\Patches\E54DA494170E9184E8511E40F1FB0F37","DisplayName",0x0,"KB958483"
HKLM,"%INSTUSERDATA_KEY%\Products\0DC1503A46F231838AD88BCDDC8E8F7C\Patches\E54DA494170E9184E8511E40F1FB0F37","LUAEnabled",0x10001,00,00,00,00
HKLM,"%INSTUSERDATA_KEY%\Products\0DC1503A46F231838AD88BCDDC8E8F7C\Patches\E54DA494170E9184E8511E40F1FB0F37","MSI3",0x10001,01,00,00,00
HKLM,"%INSTUSERDATA_KEY%\Products\0DC1503A46F231838AD88BCDDC8E8F7C\Patches\E54DA494170E9184E8511E40F1FB0F37","MoreInfoURL",0x0,"http://www.microsoft.com/"
HKLM,"%INSTUSERDATA_KEY%\Products\0DC1503A46F231838AD88BCDDC8E8F7C\Patches\E54DA494170E9184E8511E40F1FB0F37","PatchType",0x10001,00,00,00,00
HKLM,"%INSTUSERDATA_KEY%\Products\0DC1503A46F231838AD88BCDDC8E8F7C\Patches\E54DA494170E9184E8511E40F1FB0F37","State",0x10001,01,00,00,00
HKLM,"%INSTUSERDATA_KEY%\Products\0DC1503A46F231838AD88BCDDC8E8F7C\Patches\E54DA494170E9184E8511E40F1FB0F37","Uninstallable",0x10001,00,00,00,00
;KB958484
HKLM,"%INSTUSERDATA_KEY%\Products\26DDC2EC4210AC63483DF9D4FCC5B59D\Patches\2F2AEE7ADCFB45A45A57B7187A686E85","DisplayName",0x0,"KB958484"
HKLM,"%INSTUSERDATA_KEY%\Products\26DDC2EC4210AC63483DF9D4FCC5B59D\Patches\2F2AEE7ADCFB45A45A57B7187A686E85","LUAEnabled",0x10001,00,00,00,00
HKLM,"%INSTUSERDATA_KEY%\Products\26DDC2EC4210AC63483DF9D4FCC5B59D\Patches\2F2AEE7ADCFB45A45A57B7187A686E85","MSI3",0x10001,01,00,00,00
HKLM,"%INSTUSERDATA_KEY%\Products\26DDC2EC4210AC63483DF9D4FCC5B59D\Patches\2F2AEE7ADCFB45A45A57B7187A686E85","MoreInfoURL",0x0,"http://www.microsoft.com/"
HKLM,"%INSTUSERDATA_KEY%\Products\26DDC2EC4210AC63483DF9D4FCC5B59D\Patches\2F2AEE7ADCFB45A45A57B7187A686E85","PatchType",0x10001,00,00,00,00
HKLM,"%INSTUSERDATA_KEY%\Products\26DDC2EC4210AC63483DF9D4FCC5B59D\Patches\2F2AEE7ADCFB45A45A57B7187A686E85","State",0x10001,01,00,00,00
HKLM,"%INSTUSERDATA_KEY%\Products\26DDC2EC4210AC63483DF9D4FCC5B59D\Patches\2F2AEE7ADCFB45A45A57B7187A686E85","Uninstallable",0x10001,00,00,00,00
[KB928416.AddReg]
;KB928416
HKLM,"SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Servicing\Windows Workflow Foundation\NL",,0x0
HKLM,"SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1043","InstallSuccess",0x10001,01,00,00,00
HKLM,"SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1043","Version",0x0,"3.0.04506.30"
HKLM,"SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\Windows Communication Foundation\1043","InstallSuccess",0x10001,01,00,00,00
HKLM,"SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\Windows Presentation Foundation\NL","InstallSuccess",0x10001,01,00,00,00
HKLM,"SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\Windows Presentation Foundation\NL","Version",0x0,"3.0.6920.0"
HKLM,"SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\Windows Workflow Foundation\NL","InstallSuccess",0x10001,01,00,00,00
[Strings]
INSTUSERDATA_KEY="SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18"
I have modified the msi to remove the setup files and custom uninstall entries. No other modifications except for merging the following hotfixes:
CODE
NDP20SP2-KB958481-x86.exe
NDP30SP2-KB954743-x86.exe
NDP30SP2-KB954744-x86.exe
NDP30SP2-KB958483-x86.exe
NDP35SP1-KB958484-x86.exe
Filesizes for reference (XP SP3) as displayed in Add/Remove Software Panel
.NET 2.0 SP2 22.7 MB msi, 185,00 MB installed
.NET 3.0 SP2 22.7 MB msi, 169,00 MB installed
.NET 3.5 SP1 8.8 MB msi, 58,94 MB installed
Languagepacks
.NET 2.0 SP2 NLD 1,9 MB msi, 6,18 MB installed
.NET 3.0 SP2 NLD 1,5 MB msi, 3,88 MB installed
.NET 3.5 SP1 NLD 1,0 MB msi, 1,50 MB installed