For the .Net Framework eventlog class to function certain information needs to be read from and written to the HKLM registry key. This requires administrator privileges. Consequently, when an application running as a standard user makes the attempt to write a message to the Application event log a security exception will be thrown and the attempt will fail. No entry will be written.
Test WinForms App -
Run as standard user -
After running the application with Administrator privileges the eventlog class can create the necessary entries in the registry when the attempt to write a message to the Application log is made. Subsequent execution as a standard user will successfully write messages to the Application log.
You must install your application such that the required entries are made in the registry during installation. So the real issue seems to be that your method of installation is inadequate or improper.