One of the most frequent package compatibility issues found when users try their packages on Vista is the failure to properly set the msidbCustomActionTypeNoImpersonate bit.
I've blogged the conversation this error usually produces with customers at "The NoImpersonate Bit Mistake" (http://blogs.msdn.com/rflaming/archive/2006/09/23/768248.aspx)
With the permissions changes in the context of UAC, the server-side custom actions inside are script are executed as Standard User by default unless this bit is flipped.
Conversations Around this Mistake
Generally folks make this mistake due to lack of awareness.
If the custom action is logging its errors, the trick is to look for an error code that translates to Access Denied.
Robert Flaming
Windows Installer Program Manager
Team Blog: http://blogs.msdn.com/windows_installer_team
Own Blog: http://blogs.msdn.com/rflaming
All postings are provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at http://www.microsoft.com/info/cpyright.htm