0

I have a Desktop app that is distributed via a NSIS installer. During the install it runs NGEN on the host machine. Recently I got some bugs where I see a System.MissingMethodException, which I suspect is somehow related to the NGEN.

I would like to add a step in the installer to do an uninstall of the previous NGENd files during the next update because the previous version did have the NGEN install but did not have the NGEN uninstall during the uninstall phase. Therefore a user uninstalling the app will be left with NGEN artifacts on their machine which I probably have to programmatically remove rather than using NGEN uninstall during the next install.

Someone say the NGENd files are in C:\Windows\assembly but they're definitely not there in my case. I searched the whole drive by filename before and after the NGEN install and there's absolutely no difference. I was expecting to find some MyExecutable.ni.exe or MyLibrary.ni.dll.

Pinco Pallino
  • 916
  • 1
  • 6
  • 18
  • They are in c:\windows\assembly. The theory is quite a nonsensical one, a MissingMethodException can only ever be raised when the metadata of the assembly does not have a method. Which is not stored in the native image. Besides, a "MethodNotFoundException" is a Java exception, not a .NET exception. This question is not a useful start of a Q+A that is ever going to help anybody, please delete it. – Hans Passant May 19 '17 at 23:49
  • I don't have them in c:\windows\assembly, as I wrote above. If you have a more sensical explanation (better than the "method is not there") you're welcome. – Pinco Pallino May 20 '17 at 00:11

0 Answers0