When I install my application using the setup executable (generated using NSIS) on certain computers a particular DLL does not get the ACL for the the local Users group in its security permissions. The result is that loading the DLL in question only works for administrators.
It is always the same DLL that is affected. All the other DLLs install perfectly. The DLL is properly signed.
The DACL for a DLL usually contains these entries:
- SYSTEM
- John Doh ([email protected])
- Administrators (PC-NAME\Administrators)
- User (PC-NAME\Users) --- this one is missing on the affected DLL
What could cause this, and how can I fix it?
I think I found it. The local user installs the program using the administrator account, but some dll is locked. After a reboot, the dll is getting overwritten, but now the rights for the local user(s) are missing!