The actual question here is, how to tell that an app is installed by user or System (including the IT department, etc. etc.). To use the
Registry
and find
all the apps installed you have already checked this
SO thread. But again, what is the purpose of using .NET Core for a task that can be done easily by UWP runtime —
PackageManager
[
^] object in Windows Runtime? This API makes it super easy to check who installed the app, from the Remarks section at,
PackageUserInformation
[
^],
Quote:
To enumerate the users who have installed a package, use the PackageManager.FindUsers
[^] method.
And you can then check who installed it.
If you still want to use .NET Core, then you might want to use a workaround, one way to tell who installed the app is to check the Windows logs and events to see what happened and with whose account. Last approach will be — might be — to check the executable files for each of the app installed, and see who created the app and this requires that you enable auditing of the files, please check this Windows Server related thread;
4.18. Finding Who Last Opened or Modified a File - Windows Server Cookbook [Book][
^]
Still I am unaware of any way that you can tell natively and without any modifications to the system, who did what.