(I think) Simple fix - use a manifest file....
This has been a known item for a long time. Basically heuristics (well, strstr()) are used to guess whether the software may need admin privs - anything called *setup*, *update*, or *install* for example, and in those instances, a LUA prompt will be popped up.
However, this (IIRC - I may be wrong) can be overridden if a manifest be applied to the .exe. As a rule of thumb, there should always be a manifest file with executables destined for Vista. The manifest can, IIRC, specify whether or not admin privs are required. The only problem with manifest files are that with some versions of XP, crashes can result. There was both a fix, and a workaround, for this issue - I can't remember the details though.
For more info, have a look at: http://blogs.msdn.com/uac/archive/2006/01/13/512776.aspx