This was a fun issue to troubleshoot! The problem : Compose a new mail in Outlook 2010, Insert a image and send it to yourself. The expected behavior is that when you open the received mail, you see the Image.
In this case, instead of the Image we saw Red X mark with the message “The linked image cannot be displayed. The file may have been moved, renamed, or deleted. Verify that the link points to the correct file and location.”
The interesting part was that everything worked fine in Safe mode! What could be causing this issue? In general, when we open an Item that has embedded images, the images are copied to a temp location which is then used for displaying the image. When the Item is closed the Images are deleted from that location. On further troubleshooting and debugging the issue, we noticed that in this case the Images never got created!
Knowing this was a BIG help to track down this issue. The question: Where is the temp location picked up from and does it really exist? On debugging we found that Outlook was reading the value from the follow key:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Cache
For others having this issue I fixed this by using the above instructions BUT instead of putting this as the "Cache" value:
%USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files
...I just put %TEMP% as the Cache value. That fixed Outlook.
Looks like the default path is somehow Write access blocked which prevents Outlook from downloading the images. As this worked fine a few weeks ago I don't know what caused it but this fix is less painful than creating a new User Profile, etc.
I worked on this problem for days. The post with the title, "a different fix that worked for me" did the trick. Thank you for posting that fix. I really appreciate it.
Sorry guys if I don`t even know the basics, how can I change the registry cache value: %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files to: %TEMP% ?
If I right click the value I get a small windows that says : String value, Binary value Multi-String Value, Expandable String Value, I don`t know how to type in the proper place:%TEMP% . Thank you very much for your help.
Thanks for leaving this up... I used %TEMP% as the path. When I put the original path from the registry in Explorer the files in there were grey. I didn't have any permissions on these. going up a folder level didn't even display the Temporary Internet Files folder. Looks like it's most likely a corrupted windows profile.