You might try downloading Microsoft's Process Explorer program. It's part of the old Sysinternal suite of tools. This link runs it from their cloud, which I've never used.
I'm old school so I just download the apps here . Put them in a folder and just click the app in explorer. You may need to add the folder to the user or system path although I think procexp.exe may not need it unless you want to access the help. Or you can drop what you need into d:\windows or some other folder that is always in the path (after a suitable battle with UAC of course).
You want to fire up ViewNX and then open up Process Explorer, looking at the (I suspect rather long) list of DLL's and other objects that ViewNX is loading. You're looking for something that "doesn't look right", either an old file date or especially something loaded from a folder that you wouldn't expect ViewNX to be looking at.
Years ago I had a problem with this, related to Nikon DLLs, and was able to diagnose it this way. The problem may not be Nikon at all, but some other app that is colliding with it by installing its own versions of Nikon's DLLs. Or an incomplete uninstall of some prior Nikon app version. Or some such related thing.
(I had something like 4 different versions of Nikon's DLLs on my machine, related to old Nikon versions, other apps, etc. It was a mess)
This is a good practice to diagnose any misbehaving app, not just Nikon's. Job #1 is to confirm the app is loading the right version of everything.
The registry cleanup is a good idea too, but this may fix the problem and if it is the problem then registry cleaning may not help. Unless the registry has some old obsolete path, for example, in which case Process Explorer would show you the symptom but not the cure