How to prevent black boxes on desktop icons in Windows after removing shortcut arrows?

The following value in regedit

%windir%\System32\shell32.dll,-50

is a transparent icon in shell32.dll (in this case value -50). Using any of these values to remove shortcut arrows in shell32.dll will corrupt the IconCache.db file located in C:\Users\UserName\AppData\Local. This can temporarily be fixed by deleting IconCache.db and restarting or logging off and on your computer. However, the black boxes will come back because Windows continues to corrupt IconCache.db each time it tries to overwrite it with value -50 in shell32.dll.

To permanently fix the problem without using 3rd party software, do this...

Download this blank.ico and save it somewhere on your C: drive.

For example,

C:\Users\UserName\Pictures\Desktop Icons.

Then use this value instead of %windir%\System32\shell32.dll,-50 in Shell Icons value 29 in regedit (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer) like this:

C:\Users\UserName\Pictures\Desktop Icons\blank.ico

This will use the blank.ico file on your C: drive instead of accessing the transparent icon files on shell32.dll and your IconCache.db will no longer be corrupted, removing the black boxes and the shortcut arrows forever.

For those who want steps on how to do this in regedit, reading material can be found here on How-To Geek.