Shades it sounds like something is using a .net4 file when you are trying to update and it is locked. Try making sure you exit all applications (including anything in the system tray) and disable any AV.
Also try downloading the installer form MS and doing it manually - sometimes the Windows Update version gets damaged and if it is a cached version it will never work!
If that doesn't work try running MSCONFIG and disable all Startup items and all non-MS services so that you get as near to a clean Windows startup environment as possible. Note some security software doesn't like you doing this so it may be best to leave any such software allowed to run and disable it before trying to install again.
Terraria comes with a webinstaller so I downloaded the installer from Microsoft and used that as my PC is not (or will be) connected to the internet anymore. That installer worked great on several PC's but not on mine. Because it is not connected to any network I didn't see the direct need for security software, so I uninstalled Avira and disabled the firewall. Actually, that PC is quite devoid of sofware/service as I use more and more portable apps these days.
All that didn't help, so I thought that there is some security setting in place that doesn't allow access to the folder .Net4 wants to install into.
The log file from the .Net4 installer shows one error:
Launching CreateProcess with command line = wusa.exe "D:\d4ab5f75b780171ea7f2662625\Windows6.1-KB958488-v6001-x64.msu" /quiet /norestart
Exe (D:\d4ab5f75b780171ea7f2662625\Windows6.1-KB958488-v6001-x64.msu) failed with 0x5 - Access is denied.
I am able to access and extract the .msu file mentioned above. to Granting read/write capability to everyone in the folder from the wusa.exe command didn't help. Copying the extracted data from the installer to another (also fully shared) folder and executing the command in the console returns the same 'Access is denied' result.
The above I tried with the Administrator account and the account that belongs to the Administrators group.
It appears to me that the command 'wusa.exe' is not sufficiently elevated to install .Net4.
Ah well, at least this is becoming an interesting puzzle to solve...