Потрясающая проблема. Вы используете старую версию VS, которая не встраивает манифест в EXE-файл автоматически, чтобы сообщить Vista, что ваша программа знает о политиках Vista UAC. Это заставляет ее обращаться с вашей программой как с устаревшей программой, она автоматически перенаправляет доступ к файлам и реестру в безопасные места.
Это очень хорошо работает для старых программ, кроме тех, которые предназначены для обновления, исправления или установки программ. Для Vista нет простого способа увидеть, что программа является установщиком. Кроме, как вы уже догадались, названия программы.
Начните с установки специального пакета для Vista для VS2005 . Вам, вероятно, также необходимо исправить то, что делает ваша программа, и сделать ее совместимой с UAC.