Почему нельзя записать реестр из приложения, которое автоматически запустилось из HKLM Software Microsoft Windows CurrentVersion Run

#vb.net #windows #registry #uac

#vb.net #Windows #реестр #uac

Вопрос:

Мой VB.NET программа автоматически запускается из реестра

HKLMSoftwareMicrosoftWindowsCurrentVersionRun

Но когда он пытается записать раздел реестра, возникла эта ошибка:

System.UnauthorizedAccessException: Access to the registry key HKEY_LOCAL_MACHINESOFTWAREMyCorporationMyApplication is denied.

Комментарии:

1. Это может быть проблема UAC или из-за ограниченного доступа к учетной записи пользователя или проблемы с антивирусом.

Ответ №1:

Потому что для записи в HKLM, как правило, требуется доступ администратора, и ваше приложение запускается как непривилегированный пользователь. Измените свое приложение, чтобы вместо него использовать HKCU. В качестве альтернативы вы можете добавить манифест, требующий повышенных привилегий.

Вам следует рассмотреть возможность создания службы вместо приложения, которое запускается при запуске.