Вопрос

Я написал кучу модульных тестов, чтобы охватить чтение / запись реестра Windows. Они используют CREGKEY ATL API.

Они отлично работали на моем настольном компьютере XP Pro, но когда тесты пришли к запуску на машине сборки - сервер Windows 2008 x64 - тесты сбоя с ERROR_ACCESS_DENIED При попытке создать ключ через Создавать.

Пользователь, который вошел в систему сборки, принадлежит группе администратора.

Google поднимает список того, как создать реестр в Notepad, и MSDN продолжает давать мне пропущенные страницы, когда я нажимаю на ссылки.

Что мне нужно знать, это то, что мне нужно, чтобы проверить тесты, когда он работает на сервере? Я думаю, что это требует атрибутов безопасности, но я никогда не разбиваю это, поэтому я не знаю, с чего начать. Любая помощь будет оценена.

Это было полезно?

Решение

Дни программ, модифицирующих или создание глобальных ключей реестра снова и выполнены. Он все еще работает на вашем поле XP, потому что вы входите в систему как администратор. Vista, Win7 и Windows 2008 имеют UAC, чтобы никто (то есть вредоносные программы) возиться с реестром, даже когда войти в систему с учетной записью администратора.

Вы можете добавить манифест к вашей программе, чтобы вызвать запрос UAC, но это совершенно неспектически для модульных тестов. Переделайте ваш модульный тест, чтобы написать на HKEY_CURRENT_USER THIVE. Такое же рассмотрение, вероятно, относится к программе, для которой вы написали тесты.

Другие советы

Недостаточно войти в систему в качестве администратора; Ваша программа должна быть запущена с административными привилегиями (т.е. с использованием манифеста).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top