Почему программа не может записать программу в HKEY_CURRENTUSER в Windows 7? - PullRequest
0 голосов
/ 13 августа 2011

Приведенный ниже код не работает при работе в Windows 7 с уровнями доступа по умолчанию. (Это приложение на C #, созданное с помощью Visual Studio 2010). Я пишу в HKEY_CurrentUser, где мне нужно разрешить создавать и читать ключи.

Нужно ли изменять манифест моей программы? или есть еще один тайный трюк?

В Windows 7, если вы установили опцию уведомления в своей учетной записи, код работает. Но не с заводскими настройками. Должны ли программисты отказаться от реестра?

RegistryKey regsoftware = Registry.CurrentUser.OpenSubKey("Software", true);
RegistryKey regsw = regsoftware.CreateSubKey("MyCompanyName");

regsw.SetValue("User", Id);
regsw.SetValue("Pwd", encodeString(Pw));

Спасибо, Gerry

Ответы [ 2 ]

1 голос
/ 16 августа 2011

По умолчанию, если вы хотите запустить свое приложение с правами администратора, вы можете попробовать это.

Перейдите в Project-> properties-> Option "Linker" -> Manifest File-> в правой панели проверки«Уровень выполнения UAC» -> выберите «requireAdministrator» (я использую VS2008, надеюсь, он будет таким же в VS2010).Вот и все, что тебе нужно сделать.

0 голосов
/ 13 августа 2011

Вы должны запустить свою программу от имени администратора.с помощью WinAPI CodePack для .NET Framework можно проверить, требуется ли операции повышение прав или нет, и при необходимости повысить ее.

...