Как исправить ошибку System.Security.SecurityException в приложении Windows Forms? - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть приложение Visual Studio, которое я унаследовал (VS2010) и преобразовал в более новую версию (VS2013).За исключением нескольких незначительных изменений (строка подключения к базе данных, исходный файл отчета Crystal), приложение остается тем же.Это приложение Windows Form, которое позволяет пользователю выбирать отчет из базы данных SQL и отображать данные в отчетах Crystal.

Когда я запускаю приложение от имени администратора, отображается winform, и я могу выбратьотчет для просмотра из базы данных (все работает нормально).Когда я запускаю приложение от имени обычного пользователя, я сразу же получаю уведомление о том, что приложение перестало работать.Это также происходит, если я решу запустить приложение от имени администратора под стандартной учетной записью пользователя.

Файл журнала выглядит следующим образом:

"Исключение System.Security.SecurityException было обработано. Сообщение: в mscorlib.dll возникло необработанное исключение типа« System.Security.SecurityException ». Дополнительная информация: Запрошенодоступ к реестру запрещен. "

Это происходит на моей машине для разработки (Windows 7 64-разрядная версия), а также на компьютере конечного пользователя (Windows 7 32-разрядная версия).Я попробовал несколько предложений, найденных в Интернете, в том числе:

  1. Редактирование реестра, чтобы дать разрешения «полный контроль» как для ASPNET, так и для локальной учетной записи пользователя в HKEY_LOCAL_MACHINE \ SYSTEM \ CURRENTCONTROLSET \ SERVICES \Папка EVENTLOG.

  2. Проверка того, что две пользовательских * .dll, используемые в приложении, имеют правильный доступ в реестре (каждая группа, группа пользователей обе с правами чтения).Одна из библиотек пытается открыть ключ и прочитать связанные значения.

  3. Поместите пользователя «ASPNET» в группу администраторов (хотя это не приложение IIS, я думал, чтоя бы попробовал).

  4. Контроль учетных записей отключен.

Я ожидаю, что когда локальный пользователь (частьтолько группа пользователей) запускает приложение, появится форма win со списком доступных отчетов для выбора.

Я в растерянности и у меня закончились идеи.Кто-нибудь может указать мне правильное направление?

...