After 3 weeks i finally stumbled upon the cause of the problem. All my non working applications had the string "update" in their filename/assemblyname... And of course everyone (except for me) knows that the UAC recognizes the program as an installer when the string "update" is found in the filename/assemblyname. :sigh: As found on technet[^]
Installer Detection Technology
Installation programs are applications designed to deploy software, and most write to system directories
and registry keys. These protected system locations are typically writeable only by an administrator
user, which means that standard users do not have sufficient access to install programs. Windows Vista
heuristically detects installation programs and requests administrator credentials or approval from the
administrator user in order to run with access privileges. Windows Vista also heuristically detects
updater and uninstallation programs. Note that a design goal of UAC is to prevent installations from
being executed without the user's knowledge and consent since they write to protected areas of the file system and registry.
Installer Detection only applies to:
32 bit executables
Applications without a requestedExecutionLevel
Interactive processes running as a Standard User with LUA enabled
Before a 32 bit process is created, the following attributes are checked to determine whether
it is an installer:
Filename includes keywords like "install," "setup," "update," etc.
Keywords in the following Versioning Resource fields: Vendor, Company Name, Product Name, File
Description, Original Filename, Internal Name, and Export Name.
Keywords in the side-by-side manifest embedded in the executable.
Keywords in specific StringTable entries linked in the executable.
Key attributes in the RC data linked in the executable.
Targeted sequences of bytes within the executable.