Создать и написать и прочитать реестр в C#
Во время установки (я использую Clickonce) я хотел бы создать реестр, мой проект на.Net 3.5 в настоящее время.
Мое приложение 32-битное, и оно может быть установлено на 32- или 64-битном компьютере, у меня есть некоторые проблемы при создании реестра.
В функции VerifyReg я создаю реестр, если их не было (Моя программа - это имя родительской ветви, которая должна находиться в разделе "Программное обеспечение" в зависимости от 32- или 64-разрядной машины.
Моя проблема в функции: CreateMoreRegistryKeys в
RegistryKey RegKeyWow64 = RegKeyMain.OpenSubKey(@"SOFTWARE\Wow6432Node", true);
У меня ошибка записи в реестр, даже если я администратор машины
Это функция, я что-то упустил во время создания и чтения?
public void VerifyReg()
{
string keyName = @"SOFTWARE\Myprogram";
RegistryKey RegKeyMain = Registry.LocalMachine;
RegistryKey skSub = null;
skSub = RegKeyMain.OpenSubKey(keyName);
if (skSub == null)
{
skSub = RegKeyMain.CreateSubKey(keyName);
}
CreateMoreRegistryKeys();
}
public void CreateMoreRegistryKeys()
{
bool bIs64bits = Environment.Is64BitOperatingSystem;
string keyName = @"SOFTWARE\Myprogram\Folder";
RegistryKey RegKeyMain = Registry.LocalMachine;
if (bIs64bits)
{
keyName = @"Myprogram\Folder";
RegistryKey RegKeyWow64 = RegKeyMain.OpenSubKey(@"SOFTWARE\Wow6432Node", true);
CreateRegKeyFor64or32Bits(RegKeyWow64, keyName);
}
else
{
CreateRegKeyFor64or32Bits(RegKeyMain, keyName);
}
}
public void CreateRegKeyFor64or32Bits(RegistryKey RegKeyMain, string keyName)
{
RegistryKey skSubWy = RegKeyMain.CreateSubKey(keyName, RegistryKeyPermissionCheck.ReadWriteSubTree);
if (skSubWy != null)
{
..Do something
}
}