У меня такая проблема, когда приложение закрывается, то выполняется этот код. | Код | if (Properties.Settings.Default.AutoRun) { Microsoft.Win32.RegistryKey myKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run\", true); myKey.SetValue("MyProgramm", Application.ExecutablePath); Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run\", true); } else { Microsoft.Win32.RegistryKey myKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run\", true); myKey.SetValue("MyProgramm", Application.ExecutablePath); myKey.DeleteValue("MyProgramm"); } }
|
В учётной записи администратора, всё нормально, а вот в учётке с ограничениями, вылетает ошибка: | Код | Подробная информация об использовании оперативной (JIT) отладки вместо данного диалогового окна содержится в конце этого сообщения.
************** Текст исключения ************** System.Security.SecurityException: Запрошенный доступ к реестру запрещен. в System.ThrowHelper.ThrowSecurityException(ExceptionResource resource) в Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable) в WindowsFormsApplication1.MainForm.AutoRunCreateOrDelete() в WindowsFormsApplication1.MainForm.SaveAllSettings() в WindowsFormsApplication1.MainForm.MainForm_FormClosing(Object sender, FormClosingEventArgs e) в System.Windows.Forms.Form.OnFormClosing(FormClosingEventArgs e) в System.Windows.Forms.Form.RaiseFormClosingOnAppExit() в System.Windows.Forms.Application.ExitInternal() в System.Windows.Forms.Application.Exit(CancelEventArgs e) в System.Windows.Forms.Application.Exit() в WindowsFormsApplication1.MainForm.pictureBox1_Click(Object sender, EventArgs e) в System.Windows.Forms.Control.OnClick(EventArgs e) в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) в System.Windows.Forms.Control.WndProc(Message& m) в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) Ошибкой завершилась сборка со следующим параметром Zone: MyComputer
************** Загруженные сборки ************** mscorlib Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3603 (GDR.050727-3600) CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll ---------------------------------------- mscorlib.resources Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3603 (GDR.050727-3600) CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll ---------------------------------------- AlarmClock-Old Версия сборки: 2.0.0.0 Версия Win32: 2.0.0.0 CodeBase: file:///D:/MyProgram%20C%23/MyProgram.exe ---------------------------------------- System.Windows.Forms Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3053 (netfxsp.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ---------------------------------------- System Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3053 (netfxsp.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll ---------------------------------------- System.Drawing Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3053 (netfxsp.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ---------------------------------------- System.Configuration Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3053 (netfxsp.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll ---------------------------------------- System.Xml Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3082 (QFE.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll ---------------------------------------- Accessibility Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3053 (netfxsp.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll ---------------------------------------- f-44gdi9 Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3053 (netfxsp.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll ---------------------------------------- System.Windows.Forms.resources Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3053 (netfxsp.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll ----------------------------------------
************** Оперативная отладка (JIT) ************** Для подключения оперативной (JIT) отладки файл .config данного приложения или компьютера (machine.config) должен иметь значение jitDebugging, установленное в секции system.windows.forms. Приложение также должно быть скомпилировано с включенной отладкой.
Например:
<configuration> <system.windows.forms jitDebugging="true" /> </configuration>
При включенной отладке JIT любое необрабатываемое исключение пересылается отладчику JIT, зарегистрированному на данном компьютере, вместо того чтобы обрабатываться данным диалоговым окном.
|
Как это исправить? В Delphi например таких проблем нету, если в качестве ветви реестра использовать HKEY_CURRENT_USER
|