You need to turn your logic around, instead of having the installer copy the file (that the application deletes) you should have your application check to see if the file's there or not, if it's not there then it's a "first run" if it is there then the program's been run 1 or more times.

By having the application delete the file, when you use a shortcut created by the installer, it first checks to see that all the installed files are still present, if it's not, it extracts them. This is why you have turn your logic around.