관리 메뉴

why don't do your best

파워빌더 웹브라우저 컨트롤 버전 지정하기 본문

Programming/PowerBuilder

파워빌더 웹브라우저 컨트롤 버전 지정하기

빅셔 2021. 3. 7. 22:36

  파워빌더 11.5 의 기본 인터넷 익스플로러 버전은 기본 7버전으로 적용되게 되어있습니다.

 

하지만 지금은 시간이 많이 흘러 7버전의 경우 HTML5 나 기타 새로운 스크립트들을 대응하지 못해 에러창이 발생합니다.

 

 따라서 웹브라우저의 컨트롤의 버전을 최신 버전으로 지정해야 할 필요성이 있습니다.

 

그래서 오늘은 웹브라우저의 컨트롤을 변경하는 방법을 설명드리고자 합니다.

(하단에 registry 적용 파일을 첨부하였습니다. 내용을 생략하고 적용하시고자 하시는 분은 파일을 다운로드 하여 적용하시면 관리자 권한으로 실행해 주시면 되겠습니다.)

 

 

 

 

 Windows 는 웹브라우저 컨트롤 실행 시 레지스트리를 확인하여 웹브라우저의 버전 컨트롤을 지정합니다.

아무지정을 하지 않기 때문에 7.0 버전을 사용한다는 말입니다.

 

따라서 다음의 부분을 수정해 줍니다.

-키값-

 

 

 

64bit의 경우

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]

 

32bit의 경우

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]

 

64bit의 경로

 

여기에 파워빌더 11.5 실행파일과 FRiENDERP40의 실행파일을 명기해 줍니다.

새키 를 추가하고 DWORD 값을 실행합니다. 키값은 어플리케이션의 명을 지정합니다.

 

DWORD값 추가

 

추가한 DWORD값에 이름을 pb115.exe 와 frienderp.exe 로 지정합니다.

 

frienderp.exe 와 pb115.exe 추가한 모습

 

값을 더블 클릭하여 데이터를 지정합니다.(10진수로 변경하여 11001 값을 입력합니다.)

 

 

 

여기서 11001값의 데이터는 마이크로 소프트에 다음과 같이 인터넷 익스플로러의 버전을 지정하고 있습니다.

 

 

데이터 값 별 인터넷 익스플로러 버전

11001 - Internet Explorer 11. 웹 페이지는 선언 된! DOCTYPE 지시문에 관계없이 IE11 edge 모드로 표시

(불행히도 edge로 실행되지는 않습니다. ie11버전으로 실행은 되네요.)

 

11000 - IE11. 표준 기반 ! DOCTYPE 지시문 이 포함 된 웹 페이지 는 IE11 edge 모드로 표시

 

10001 - Internet Explorer 10. 웹 페이지는 ! DOCTYPE 지시문에 관계없이 IE10 표준 모드로 표시

 

..... 

 

이렇게 해서 아무 지정 안했을 때는 

7000 번이 기본입니다.(그래서 IE7버전으로 작동됩니다.)

 

버전에 맞게 처리하면 되나 기본적으로 11001로 지정하시면 됩니다.(WINDOWS 7, XP의 경우도 IE 11버전이 지정되어있다고 가정)

 

자 여기까지 설정하고 나면 재부팅 후 IE버전이 어떻게 변화가 있는지 확인합니다.

 

웹버전을 확인하는 사이트 www.whatismybrowser.com/

 

What web browser are you using? Is it up to date?

Check your web browsing set up to make sure your software is up to date.

www.whatismybrowser.com

 

 

파워빌더에 웹 컨트롤을 달아서 아래처럼 실험해보면

 

11 ON WINDOWS 8 이라고 뜨네요(실제는 11 ON WIDNOWS 10 환경인데.....) 

 

어쨋거나 11버전으로 인식됩니다.

 

위 레지스트리를 추가 하지 않고 실행해보시면 

IE 7버전으로 확인됩니다.

 

다음으로 테스트 하는 방법으로는 구글맵스에 들어가보는 방법입니다.

파워빌더로 구글맵스를 실행해본 결과

 

구글맵스가 정상적으로 표시됩니다.

(IE7 버전으로 구글맵스 실행시 오류가 발생됩니다.)

 

 

 

이렇게 레지스트리에 값을 추가하여 브라우저 컨트롤의 버전을 지정하는 방법을 알아보았습니다.

 

개발자의 PC나 이 화면을 봐야하는 클라이언트 PC 모두 지정이 되야 합니다.

 

 

직접 수정하기 어려우시면 다음의 파일을 받아 관리자 권한으로 실행하여 레지스트리에 입력하셔도 됩니다.

explorer_OLE_Patch_x64.reg
0.00MB
explorer_OLE_Patch_x86.reg
0.00MB

 

그리고 향후 파워빌더의 REGISTRYGET, REGISTRYSET 명령어를 사용하여 처리하는 방법도 열려 있다고 볼수 있겠습니다.

 

아니면 NSIS 배포파일 생성시 레지스트리를 적용하는 방법도 있겠습니다.

 

 

 

자 마지막으로 단점을 적어보도록 하겠습니다.

 

IE11 버전을 지정하여도 HTML5 에 100% 적용되지는 않습니다.

IE11은 LAGACY될 예정이기 때문에 100% 커버는 무리가 있습니다.

 

그래도 7보다는 훨씬 더 경고메시지 창의 건수 가 줄어듭니다.

7에서 구글맵스를 들어가보면 거의 모든게 에러메시지 입니다.

하지만 11로 구글맵스에 들어가보면 오류가 나지 않습니다.

 

향후에는 다른 방법을 사용해야 될 것으로 보입니다.  

 

필요하신 분들게 도움이 되길 바라며, 글 마치겠습니다.

 

 

 

 

 

 

 

Comments