[P3D] Windows 10 Compatibility flag issue로 인한 Prepar3D 실행 오류

 

 

Prepar3D를 실행하다 보면, 평소에는 잘 실행되다 가끔 아무런 이유 없이 로딩 과정에서 오류가 발생하는 문제가 발생하곤 합니다.

 

Prepar3D를 정상적으로 종료한 후 설정(cfg 파일 등)을 변경하거나 아무런 애드온도 설치하지 않았는데,

뜬금없이 오류 메시지가 표시되다 보니 당황스럽기 그지없더랍니다.

 

Prepar3D 공식 포럼 등지에서 이 현상의 원인과 해결방법을 찾아보았으나 명쾌한 답변은 찾을 수 없었고

Windows 10을 재설치할 심산으로 레지스트리를 헤집는 도중 뭔가 수상한 것을 발견하게 됩니다.

 

 

 

 

 

전날까지만 해도 잘 작동되었던 Prepar3D가 다음날에는 오류를 일으키며 실행이 되지 않는 황당한 현상...

그 사이에 컴퓨터를 사용하지도 새로운 애드온을 설치하지도 않았는데 이런 문제가 발생한다면 어딘가 심각한 문제가 있는 것 같습니다.

 

 

 

 

 

cfg 파일을 수정해 Prepar3D가 오류를 일으키며 실행되지 않을 때 콘텐츠 에러 리포트 파일을 생성하게 한 후

에러 로그를 살펴보니 dll.xml 파일을 제대로 로드하지 못해 오류가 발생했다는 것을 알게 되었고

dll.xml을 열어 등록해놓은 두 개의 모듈을 하나씩 제거해가며 Prepar3D가 정상적으로 로딩되는지 확인합니다.

 

그 결과 FSTramp 관련 모듈인 FSTrampX.dll 파일을 불러오지 않으면 Prepar3D가 정상적으로 실행되었고

이때까지는 FSTramp가 문제인 줄 알고 FSTramp를 수차례 재설치해보기도 하고 백신 프로그램으로 dll파일을 검사해보기도 했지만

역시 FSTramp 모듈을 dll.xml에 등록하면 로딩 시 오류가 뜨며 실행이 되지 않더랍니다.

 

FSTramp는 플래닝 및 항로, 입출항 절차를 확인하는데 사용하는 중요한 프로그램으로

이 프로그램이 없으면 국제선은 비행하기 힘들 정도인지라 FSTramp를 포기할 수 없어 결국 운영체제를 재설치하기에 이릅니다.

(심한 경우에는 운영체제 및 Prepar3D 그리고 애드온 재설치를 마치고 Prepar3D를 최초로 실행하는데도 이런 문제가 발생해 멘붕(!)했던 적도 있었습니다.)

 

 

 

 

 

하지만 문제의 근본적인 원인은 다른 곳에 있었으니...

이 문제는 Prepar3D의 문제가 아닌 Windows 10의 Compatibility flag issue로 인해 발생한 문제였습니다.

 

간혹 Prepar3D를 실행하면 FSTrampX.dll을 IgnoreFreeLibrary에 넣어버리던데,

운영체제가 호환성 플래그를 설정해버린 탓에 Prepar3D가 해당 DLL파일을 불러오려 해도 그렇게 하지 못하고 결국 오류 메시지를 표시합니다.

 

 

이 문제를 해결하는 방법은 다음과 같습니다.

 

1. 윈도우키 + R 을 눌러 실행 창 호출

 

2. 실행 창에 regedit 입력 후 엔터

 

3. 다음과 같은 경로로 이동 (레지스트리 편집기에 아래 주소를 붙여넣기 해도 이동 가능)

   HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

 

4. $ IgnoreFreeLibrary<FSTrampX.dll> 이라 표시된 키 삭제

   (이름은 Prepar3D가 설치된 경로의 Prepar3D.exe 로 표시)

   (데이터는 $ IgnoreFreeLibrary<FSTrampX.dll> 로 표시)

 

 

해당 키를 삭제하면 다시 정상적으로 Prepar3D를 실행할 수 있으며

만약 또다시 오류가 발생하면 위 방법을 통해 문제를 해결할 수 있습니다.

 

 

제 경우 dll.xml에 등록된 모듈이 FSUIPC와 FSTramp 뿐인지라 이 둘 중 FSTramp의 모듈이 Windows 10의 호환성 플래그에 등록돼버렸지만,

FSTramp가 설치되어있지 않더라도 dll.xml에 다른 애드온의 모듈이 등록된 경우, 해당 모듈이 호환성 플래그에 등록되어 문제를 일으키기도 합니다.

 

즉, FSTramp 이외에도 dll 모듈을 사용하는 애드온이라면 다들 이 문제가 발생할 가능성이 있고

실제로 Prepar3D 공식 포럼을 둘러본 결과, 다양한 dll 모듈들이 해당 오류의 희생양(!)이 되고 있음을 알 수 있었습니다.

 

이 때문에 이 문제는 Prepar3D나 관련 애드온 때문이 아니라 Windows 10 때문인 것으로 결론짓게 되었구요.

 

 

 

 

 

인위적인 상황을 만들어 이 문제가 발생하는 원인을 분석해본 결과

Prepar3D를 실행하여 종료한 후 프로그램이 메모리에서 완전히 빠져나가기 전에 다시 Prepar3D를 실행한 경우 이 문제가 발생함을 알 수 있었습니다.

물론, 메모리 반환 전에 다시 실행했다 해도 몇 번 정도는 정상적으로 실행될 수도 있지만, 이러한 상황이 계속되면 문제가 발생할 가능성이 커집니다.

 

어쨌거나 이 문제를 말끔하게 해결하는 방법은 지금 찾아낸 방법이 유일합니다.

이 문제를 영구적으로 해결할 방법을 계속 연구해봐야겠지만,

일단은 이 문제로 인해 운영체제를 재설치하거나 시스템을 복원해야 하는 번거로움을 덜었다는 것만으로도 큰 수확이지 않나 싶네요.

 

 

...이것 때문에 멀쩡한 운영체제를 수십번 갈아엎은 걸 생각하면...ㅜㅜ;;;

 

Comment 8
  1. sim 2017.09.24 08:25 address edit & del reply

    강제로 바로 실행 몇번 해보니 [ 작옹이 중지 되었습니다 ] 같은 증상 나옴

    레지키 제거한다음 실행하면 정상 Good~

    아주 대단한 이슈를 발견 했구려 예전 기억에 이런 경우 시스템 복구 돌려 해결한 거 같은데 ..

    • Favicon of https://hosii.info 반쪽날개 2017.09.24 19:40 신고 address edit & del

      이게 처음 몇차례는 증세가 나오지 않다가 어느 순간부터 갑자기 뜨는 탓에 그 원인을 파악하기 쉽지 않았습니다...ㅜㅜ
      어찌어찌 하다보니 레지스트리쪽에서 문제의 원인을 찾고 또 이렇게 해결 방법을 정리할 수 있었네요.
      ...저는 이 해결법을 알기 전까지 계속 윈도우를 밀었었답니다...ㅜㅜ;;;;

  2. 2017.09.24 13:43 address edit & del reply

    비밀댓글입니다

    • Favicon of https://hosii.info 반쪽날개 2017.09.24 19:40 신고 address edit & del

      트램프가 문제가 아니고 윈도우가 문제여~.

  3. Yuki 2017.09.24 22:47 address edit & del reply

    간만에 들럿다 갑니다, 저도 최근 드디어 (!!!) 컴퓨터를 장만해서 프삼디로 넘어갔는데, 갑자기 팅기는 현상이 일어나곤 했었는데 한번 테스트 해보겠습니다...
    (말고도 참 여러모로 오류가 많아 슬픕니다ㅠ)

    • Favicon of https://hosii.info 반쪽날개 2017.09.26 20:54 신고 address edit & del

      어서오세요~. 오랜만에 오셨네요.
      드디어 새 컴퓨터 장만하셨군요+_+ 축하드립니다~.
      ....그나저나 프삼디 넘어오신 뒤로 오류가 많아지셨다니 새 컴퓨터 영입하셔놓고도 스트레스 쌓이시겠는걸요...ㅜㅜ;;
      혹시 저 문제일지도 모르니 한번 체크해보신다거나요~.
      (프삼디도 은근히 구형 애드온이랑 안맞는 부분이 많지요ㅜㅜ)

  4. chany123 2018.04.26 18:11 address edit & del reply

    안녕하세요 저도 이 문제 때문에 몇주간 고생하다가 얼마전에 발견했는데, 이 글을 진작에 알았었으면 ㅜㅜ 이 후에 레지스트리 삭제 외에 이 문제에 대한 다른 해결책 발견한건 없으신지요?

    • Favicon of https://hosii.info 반쪽날개 2018.04.26 19:52 신고 address edit & del

      어서오세요~.
      이후 FSTramp에서도 이와 같은 문제를 인지했는지
      FSTramp를 사용 중인 상태에서 해당 문제가 발생한 경우 FSTramp Scenery Assembler를 실행하면
      자동으로 레지스트리를 정리해주도록 업데이트되었습니다.

      이외의 상황이라면 여전히 레지스트리 편집기를 열어 수정해줘야하구요.

prev 1 ··· 33 34 35 36 37 38 39 40 41 ··· 138 next