А я-то уже успел накатать скрипт
Код:

; Microsoft .NET Framework 2.0
RegRead("HKLM\Software\Microsoft\.NETFramework\Policy\v2.0", "")
If @error <> 1 Then Exit
BlockInput(1)
Run("dotnetfx.exe")
WinWait("Microsoft .NET Framework 2.0 Setup", "Welcome")
WinSetState("Microsoft .NET Framework 2.0 Setup", "Welcome", @SW_MINIMIZE)
ControlClick("Microsoft .NET Framework 2.0 Setup", "Welcome", "Button12", "Left", 1, 37, 11)
ControlCommand("Microsoft .NET Framework 2.0 Setup", "End-User License Agreement", "Button11", "Check", "")
ControlClick("Microsoft .NET Framework 2.0 Setup", "End-User License Agreement", "Button8", "Left", 1, 37, 11)
WinWait("Microsoft .NET Framework 2.0 Setup", "Setup Complete")
ControlClick("Microsoft .NET Framework 2.0 Setup", "Setup Complete", "Button2", "Left", 1, 37, 11)
;Repaire
;WinWait("Microsoft .NET Framework 2.0 Setup", "Maintenance mode")
;WinSetState("Microsoft .NET Framework 2.0 Setup", "Maintenance mode", @SW_MINIMIZE)
;ControlCommand("Microsoft .NET Framework 2.0 Setup", "Maintenance mode", "Button9", "Check", "")
;ControlClick("Microsoft .NET Framework 2.0 Setup", "Maintenance mode", "Button7", "Left", 1, 37, 11)
;WinWait("Microsoft .NET Framework 2.0 Setup", "Setup Complete")
;ControlClick("Microsoft .NET Framework 2.0 Setup", "Setup Complete", "Button2", "Left", 1, 37, 11)
BlockInput(0)
...
Exit