Я написал три программы, которые изменяют реестр в Windows Mobile, чтобы установить и удалить плагин для отладки. Некоторое время они отлично работали, но один за другим они внезапно выдавали исключение UnauthorizedAccessException.
См. Код для двух программ ниже (обратите внимание, что следующий код находится непосредственно в Main, поэтому он запускается, а затем программа завершается) ...
RegistryInit.exe:
RegistryKey CustomItem = Microsoft.Win32.Registry.LocalMachine.CreateSubKey(@"Software\Microsoft\Today\Items\TodayLauncher");
CustomItem.SetValue("Type", 4, RegistryValueKind.DWord);
CustomItem.SetValue("Enabled", 1, RegistryValueKind.DWord);
CustomItem.SetValue("Options", 1, RegistryValueKind.DWord);
CustomItem.SetValue("DLL", @"\Program Files\TodayLauncher\TodayLauncher.dll", RegistryValueKind.String);
CustomItem.SetValue("Config", @"\Program Files\TodayLauncher\Settings.cfg", RegistryValueKind.String);
CustomItem.SetValue("Selectability", 1, RegistryValueKind.DWord);
SendMessage((IntPtr)HWND_BROADCAST, WM_WININICHANGE, 0xF2, 0);
RegistryClear:
Microsoft.Win32.Registry.LocalMachine.DeleteSubKey(@"Software\Microsoft\Today\Items\TodayLauncher");
SendMessage((IntPtr)HWND_BROADCAST, WM_WININICHANGE, 0xF2, 0);
Третья программа была программой конфигурации, в которой были опции для добавления и удаления ключей реестра с использованием точных копий приведенного выше кода, но она никогда не работала. Некоторое время он мог запускать код для RegistryInit, но это длилось недолго. Теперь исходная программа RegistryClear не работает, выдавая то же исключение UnauthorizedAccessException. Мне очень странно, что эти программы какое-то время работали find, а потом внезапно перестали работать.
Любые идеи?