Я знаю, что есть много сайтов об этом. Я тестировал разные идеи около 6 часов. Я пытаюсь получить 32-битное приложение для изменения 64-битного реестра. Мне нужно установить разрешения для HKLM \ Software \ Microsoft \ Windows \ Текущая версия \ Installer \ UserData \ Если вам интересно, почему, это потому, что наше программное обеспечение выдает ошибку, если разрешения не верны.
Вот что я пытаюсь
static bool SetRegistryPermissions(string hkLmKey, string userAccount)
{
//this will force the app to see the 64bit registry instead of being redirected
RegistryKey localMachineX64View = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
RegistryKey rk = localMachineX64View.OpenSubKey(hkLmKey, true);
//This redirects to the Wow6432Node in the registry
//RegistryKey rk = Registry.LocalMachine.OpenSubKey(hkLmKey, true);
Программа работала нормально на тестовом ключе в WoW6432Node до изменения ключа на localMachineX64. Теперь я получаю исключение безопасности при отладке на OpenSubKey.
Любой совет приветствуется и спасибо за ваше время.
P.S. Любые предложения для книг, которые содержат хорошую информацию для написания разрешений NT на C #, будут бонусом.