I have this problem with a lot of games on Steam and was wondering if there is a general fix. What happens is I go to install a game, it asks for admin permission, does it's thing, installs and runs fine. Then next time I try to run, it pops up with an admin permission box and asks for permissions again. Now usually here, it doesn't actually matter whether I hit "OK" or "Cancel", the game still runs. The game was installed correctly, but Steam doesn't recognize it as such.
It's a minor annoyance, but I'd like to be able to get rid of it. I think one of the main culprits are the c++ redistributables and direct x redistrutables. If I go into the folder where the games are "installed" I can double click to run those installers again and it will tell me newer versions of those are already installed and thus skip installing the older version. However, I think this is what's tripping Steam up. Steam sees that as a failure to install (which it isn't).
Recent examples of games giving me this problem include Assassin's Creed 3 (which asks for admin rights twice(!) once for the game and once for uplay) and Mafia 2.
Edit: Should add, this is Windows 7 64-bit.
Edit 2: Searching around some more, this seems very similar (although I don't play DOTA 2): First Time Setup runs every time I click Play
I could try hacking around in the registry, but I have a lot of games which do this and I can't believe there isn't an easier solution somewhere.