2013-05-31 5 views
-4

이벤트 로그에 다음 줄이 나타나면 누군가 나를 도와주세요.응용 프로그램이 개발 컴퓨터에서 성공적으로 실행 중이지만 다른 컴퓨터에서 충돌이 발생했습니다.

Event Type: Error 
Event Source: .NET Runtime 
Event Category: None 
Event ID: 1026 
Date:  01/06/2013 
Time:  11:20:06 
User:  N/A 
Computer: BISO 
Description: 
Application: TMS.exe 
Framework Version: v4.0.30319 
Description: The process was terminated due to an unhandled exception. 
Exception Info: System.Security.SecurityException 

Stack: at System.ThrowHelper.ThrowSecurityException(System.ExceptionResource) 
at Microsoft.Win32.RegistryKey.InternalOpenSubKey(System.String, Microsoft.Win32.RegistryKeyPermissionCheck, Int32) 
at Microsoft.Win32.RegistryKey.OpenSubKey(System.String, Microsoft.Win32.RegistryKeyPermissionCheck, System.Security.AccessControl.RegistryRights) 
at System.TimeZoneInfo.CheckDaylightSavingTimeDisabledDownlevel() 
at System.TimeZoneInfo.TryCompareTimeZoneInformationToRegistry(TimeZoneInformation, System.String, Boolean ByRef) 
at System.TimeZoneInfo.FindIdFromTimeZoneInformation(TimeZoneInformation, Boolean ByRef) 
at System.TimeZoneInfo.GetLocalTimeZone()  
at System.TimeZoneInfo.get_Local() 
at System.DateTime.ToLocalTime() 
at System.DateTime.FromFileTime(Int64) 
at System.Timers.ElapsedEventArgs..ctor(Int32, Int32) 
at System.Timers.Timer.MyTimerCallback(System.Object) 
at System.Threading._TimerCallback.TimerCallback_Context(System.Object) 
at System.Threading.ExecutionContext.runTryCode(System.Object) 
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object) 
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) 
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) 
at System.Threading._TimerCallback.PerformTimerCallback(System.Object) 

자세한 내용은 도움말 및 http://go.microsoft.com/fwlink/events.asp 지원 센터를.

+2

앱 또는 차단 액세스를 샌드 박스 될 수있는 다른 컴퓨터에서 실행되는 안티 바이러스/보안 소프트웨어가 있는지 확인? 컴퓨터에 원격 디버거를 설치할 수 있습니까? –

+2

당신은 레지스트리를 읽을 수있는 권한이없는 것처럼 보입니다. –

+1

dev에있는 레지스트리에 permissiosn이있는 것처럼 보입니다. 다른 컴퓨터에는 없는데, 같은 계정/권한입니까? – Andrew

답변

1

두 가지 문제점이 있습니다.

  1. 당신이 당신의 자신의 컴퓨터에서 실행

    , 레지스트리를 액세스 할 수있는 권한이 같은 응용 프로그램이 실행되는 계정은, 그러나 당신은 다른 컴퓨터에이 권한을 누락되었습니다. 다른 컴퓨터에서 실행할 때 관리자 권한이나 에스컬레이션 된 권한으로 실행할 수 있습니까?

  2. 코드에서 Timer_Elapsed 메소드를 사용하여 예외를 처리/catch하고 처리하여 전체 애플리케이션이 손상 될 수있는 적절한 예외 처리 기능이 없습니다.

또한 당신이 어떤 코드가 참여했다 마십시오 레지스트리

+0

또 다른 가능성은 여기에 대한 답변입니다 : http://stackoverflow.com/questions/4692644/asp-net-site-throwing-a-system-security-securityexception/4695303#4695303 –

+0

T 사실 내 응용 프로그램에서 나는 어떤 시도도하지 않습니다. 레지스트리 값을 액세스하려는 위치와 레지스트리 값을 변경하려고 시도하지 않는 위치. 그리고 timer_elapsed 이벤트에서 내가하고있는 일은 직렬 포트에 ARM7 컨트롤러에 대한 명령을 작성하고 DateTime.now() 함수를 사용하여 시스템 시간을 가져 오는 응답을받는 것입니다. 그러나 빠른 응답과 도움을 주셔서 대단히 감사합니다. –

+0

당신은 아니지만 .NET 프레임 워크가 있습니다. 'System.DateTime.FromFileTime (Int64)'를 호출 할 때 스택 추적을 읽으면 로컬 시간이 호출되며, 로컬 시간은 레지스트리에서 지역화 설정을 가져와야합니다. 이것은 호출이 실패하는 곳입니다. 내 이전 의견에 질문에서 다른 사용자가 레지스트리에 대한 잘못된 사용 권한으로 인해 문제가 발생했습니다. –

관련 문제