이 내가 성공적으로 가장을 만든 다음 단계 How to run wpf(c#) application by service account and integrated security이상한 오류가 다른 사용자에게 가장하는 동안
이후,하지만 난 정말 이상한 오류가 발생하고있다.
날 상황을 설명하자- 내 애플 WPF
- 이다 나는 2 명의 사용자가 내 로컬 계정 (localUser) 및 서비스 계정 (소서).
- 나는
- 내가 localuser와 응용 프로그램을 열 내 프레임 개의 다른 모듈을 표시하고 내가 localUser 내 응용 프로그램을 실행하면 (그것을 확인 작동 소서
를 가장 Frame.Navigate() 함수를 사용하고 로컬 관리자 권한없이) saUser로 내 응용 프로그램을 실행할 때 saUser가 로컬 관리자인지 여부와 관계없이이 오류가 발생합니다. 가장 재미있는 것은 Navigate (...)가 2 번째로 호출 될 때 오류가 발생합니다. 시각! 정상 작동, 처음으로 ... :
Requested registry access is not allowed.
stackTrace:
at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)
at System.Windows.Application.GetSystemSound(String soundName)
at System.Windows.Application.PlaySound(String soundName)
at System.Windows.Application.FireNavigating(NavigatingCancelEventArgs e, Boolean isInitialNavigation)
at System.Windows.Navigation.NavigationService.FireNavigating(Uri source, Object bp, Object navState, WebRequest request)
at System.Windows.Navigation.NavigationService.HandleNavigating(Uri source, Object content, Object navState, WebRequest newRequest, Boolean navigateOnSourceChanged)
at System.Windows.Navigation.NavigationService.Navigate(Uri source, Object navigationState, Boolean sandboxExternalContent, Boolean navigateOnSourceChanged)
at System.Windows.Navigation.NavigationService.Refresh()
at MyApp.MyNavigation.Navigate(Module modul, Boolean reverse) -> my function
Guyz 도움, 어떤 제안? 내가 물었다 같은 몇 가지 코드를 추가하고, 그것의 단지 작은 평화 오류가 발생하는 경우 : 내가 나 한테 물어 충분히 명확 아니었다면 난
이편집 ... ... 무슨 일이 일어나고 있는지 을 모르는 :
I have public static class for navigation
MainWindow mainWin = Application.Current.Windows.Cast<Window>().FirstOrDefault(window => window is MainWindow) as MainWindow;
current <- currentlly selected module
mainFrame <- frame that is showing all pages
// if current module if already selected refresh frame content
if (current.Link == mainWin.mainFrame.NavigationService.CurrentSource.ToString()) mainWin.mainFrame.Refresh();
// else show page content in frame
else mainWin.mainFrame.NavigationService.Navigate(new Uri(current.acLink, UriKind.Relative));
Refresh() 및 Navigate()에서 오류가 발생합니다.
몇 가지 코드를 게시 할 수 있습니까? 그 오류는 일반적으로 Windows 레지스트리에서 작업 할 때 발생합니다 ... – Gonzix
GUI를 실행하기 위해 시스템 사용자로 가장하는 이유는 무엇입니까? 계정에 레지스트리를 읽을 수있는 기본 권한이없는 것처럼 보입니다. 백그라운드 작업, 시스템 서비스 등을 위해 시스템 계정을 사용해야하며, 정말로 필요한 경우에만 사용해야합니다. – Grzenio
예 오류는 레지스트리에 액세스 할 때 오류가 있음을 나타내지 만 두 계정 모두 로컬 관리자이므로 레지스트리에 대한 전체 액세스 권한을 갖기 때문에 내 로컬 사용자는 로컬 관리자가 아닌 경우에도 올바르게 작동합니다. – lanicor