Я только что создал программу VS C++ 6.0 с использованием VS 2008. Когда я пытаюсь запустить или отладить приложение, Vista запрашивает разрешение. Что вызывает это в том, как построена программа? Программа собирается и запускается из подпапки C: \ Dev.
Этот ответ не представлял для меня смысла как решение проблемы.
Я думал, но может ошибаться, что VS 2008 SP1 устранил эту проблему и будет запрашивать разрешение при загрузке.
Да, я работаю как администратор. VS 2005 был проблемой. Переход на 2008 год исправил ситуацию.





MVP говорил о том, что ваш код и проект запускаются из вашей пользовательской папки, например c: \ users \ yourname \ appdata или что-то еще по этому пути.
Не отключайте UAC, чтобы решить эту проблему, иначе ваше приложение не будет работать на другом компьютере, если на нем не отключен UAC. Это очень плохая практика. В идеальном мире ваше приложение должно запрашивать у пользователя повышенные разрешения.
Если вы не администратор, у вас, вероятно, нет разрешения на выполнение программ в C: \ Dev.
Возможность 1:
Ваша программа отмечена как требующая прав администратора в своем манифесте
Возможность 2:
Ваша программа называется setup.exe или install.exe - такие названия программ всегда требуют прав администратора.
Для подробного объяснения тех и других возможностей, почему вы видите эту, проверьте Знакомство со статьей о контроле учетных записей пользователей Technet
Спасибо, Сума. Ваш ответ пока самый лучший и помог мне прийти к решению. Я определил, что причина объясняется вашим первым предложением. Переименование файла во что-то, не содержащее слова «установка», не помогло.
Оказалось, я ошибался. У меня установлены и VS 2005, и VS 2008, и когда я попытался открыть старый файл .dsw, был запущен 2005 год, и было предложено обновить проект. В 2005 году явно был создан манифест с одной строкой с тегом «сборка». После того, как я обновил проект с помощью VS 2008, был создан более обширный файл манифеста. Я подтвердил, что манифест встраивается в мою программу, проверив параметр Manifest Tool ... Input and Output ... Embed Manifest. Этот новый манифест включает следующие данные:
<trustInfo xmlns = "urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level = "asInvoker" uiAccess = "false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
Вы используете VS как администратор? Я считаю, что это необходимо