让我的应用程序隐身(避免剩菜剩饭)

Making my app stealth (avoiding leftovers)

我有一个不是隐形的便携式应用程序。隐身,我的意思是:

"Stealth" means when an application is launched, used and terminated properly, it does not leave behind any entries in the registry or filesystem.

我的应用程序在 .Net Framework 4.6.1 下运行,并在以下文件夹下留下一个日志文件:

%AppData%\Local\Microsoft\CLR_v4.0_32\UsageLogs\ [App Name].exe.log


谁创建了这个日志文件?

有什么方法可以避免创建(不破坏应用程序)?

此日志的用途是什么?

With Windows 8 (.NET 4.5), a new NGen mode: "Auto NGen" has been introduced. Basically, the .NET runtime generates usage logs for managed applications. Source

Every time the application run it creates a new type of logs called “Assembly Usage Logs” in the AppData windows directory. Source

根据我的研究,我主要发现它 仅在 Windows 8+ 上完成这项工作。

但是在这个 source 中它也在 Windows Server 2012 上说,但我已经在 [=30 上试过了=] Server 2012 R2 并且可以不能重现它!

我没有找到禁用此功能的方法,一个解决方案可能是在我们的应用程序中定位较低的 .net Framework。