2013-10-07 2 views
0

Моя машина разработки - VirtualBox с Window Server 2008 R2. Мы используем CRM2011 с рулонной 12. Для моего развития я использую рамку 4Чтение реестра

От CRM я называю ASPX-страницу, эта страница содержит сетку с записями я могу выбрать. После того, как я сделал выбор, я нажимаю кнопку и передает выбор на сборку. Эта сборка имеет функцию, которая проверяет наличие определенного ключа в реестре. Если так, то он продолжается, если не возвращается.

Проблема, с которой я столкнулся, заключается в том, что я получаю сообщение об ошибке, пытаясь прочитать реестр, используя OpenSubKey(), сообщающий мне, что я не уполномочен делать это. Для извлечения ключа я использую код ниже. Сборка не подписана. Подписание сборки не приводит к изменению результата.

RegistryKey localKey = null; 
if (Environment.Is64BitOperatingSystem) 
{ 
    localKey = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.CurrentUser, RegistryView.Registry64); 
} 
else 
{ 
    localKey = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.CurrentUser, RegistryView.Registry32); 
} 

Выполнение этой же задачи из консольного приложения с использованием той же сборки не создает проблем.

С уважением, Martin

+0

Проблема решена. Это связано с правами пользователя. Тестпрограмма запускалась под руководством администратора, в то время как другая программа выполнялась под управлением crm-user rigths. – Bokkie

ответ

1

Убедитесь, что ваша личность ApplicationPool имеет доступ к ключу реестра в вопросе чтения.

Проверьте, какой пользователь использует ваш пул приложений в IIS, затем откройте раздел реестра Regedit и проверьте разрешения.

Смежные вопросы