선택
[C#] 1. WebView2 구성 및 설치 본문
모 프로젝트를 진행하며 IE 기반의 구 ActiveX 시스템을 Non-ActiveX로 변환하는 작업을 했다.
작업을 하면서 WebView2를 활용했는데 아무래도 IE가 종료된 지금 WebView2로 대응하는 경우가 많아지지 않을까 싶다.
웹 브라우저 컨트롤을 이용해 HTML5 페이지를 부를 때, 기존에 제공하고 있던 웹브라우저 컨트롤로는 정상적으로 사이트를 로딩하거나 사용하기 어렵다. (레지스트리를 바꾸면 IE10으로도 실행시킬 수 있지만 일반적인 경우에는 IE7로 읽어온다. 어차피 IE도 종료된 마당에...)
따라서 MS는 Edge 엔진 기반으로 새로운 브라우저 컨트롤을 만들었는데 이것이 WebView2 런타임 이다.
WebView2는 기존에 쓰이던 웹브라우저 컨트롤보다 더 많은 기능을 지원하며 독립적인 환경을 제공하기 때문에 아무래도 더 나은 호환성을 보장하지 않을까 싶다.
WebView2의 소개는.. MSDN에게 맡기겠다.
https://docs.microsoft.com/en-us/microsoft-edge/webview2/
우리는 WebView2를 어떻게 설치하고 써먹는지가 중요하니까.. 설치부터 시작!
1. WebView2 런타임 다운로드
우선 WebView2는 일반적으로 nuget에서 패키지 설치로만 사용할 수 있는 것이 아니라 WebView2 런타임도 같이 설치를 해야 한다. nuget에서 패키지 형태로 설치하는 WebView2 라이브러리는 실질적으로 WebView2 런타임을 호출해서 사용하게 된다.
따라서 WebView2 런타임을 다운로드 해야 한다. (WebView2는 MS Edge와 엄연히 다른 독립적인 프로그램이다!)
*URL (https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section)
다운로드 페이지에서는 세 가지 방법의 설치 형식을 제공한다.
- 에버그린 부트스트래퍼 (Evergreen Bootstrapper)
온라인으로 다운로드 받는 형식이다. 인터넷이 연결된 환경이라면 알아서 다운로드하고 설치해준다.
- 에버그린 독립 실행형 설치 관리자 (Evergreen Standalone Installer)
오프라인 환경에서 설치할 수 있도록 셋업 파일을 통째로 다운로드 받는 형식이다.
당연히 인터넷에서 받아와 설치하는게 아니기 때문에 용량이 에버그린 부트스트래퍼보다 용량이 크다. (당연한 소리)
- 최종 버전 (Fixed Version)
위 에버그린 설치 방법은 프로그램을 설치하는 방식으로 WebView2 런타임 환경이 구성되는데, Fixed Version은
버전에 상관 없이 독립적으로 관리를 할 수 있다. 가령 에버그린의 경우 103버전이 설치되어 있더라도 이전 버전의 Fixed Version을 다운로드 받아 다른 버전의 여러 환경을 구성할 수 있다는 것. (독립 환경 구성이 용이하다)
우선 에버그린 오프라인 기준 (x64) 파일을 다운로드 받아 설치했다.
보면 알겠지만 MS Edge와 WebView2 런타임은 엄연히 다른 프로그램이다. Edge 엔진을 쓰는 공통점을 제외하고 엄연히 다른 프로그램이다. 헤깔리지 않도록 하자.
독립적인 WebView2 런타임 환경을 구성하고자 한다면 최종 버전(Fixed Version)을 다운로드 받으면 되는데 Fixed Version은 cab 파일 형식으로 다운로드 받게 된다. cab 파일 형식의 Fixed Version을 사용하는 방법은 코드 작성 단에서 설명하도록 하겠다.
'프로그래밍 > C#, .NET' 카테고리의 다른 글
MFC SysTreeView32 컨트롤 내 node 텍스트 값 추출하기 (0) | 2023.11.06 |
---|---|
[C#] 5. WebView2 양방향 통신 (AddHostObjectToScript, ExecuteScriptAsync) (0) | 2022.08.02 |
[C#] 4. WebView2 속성 설정으로 WebView 런타임 Fixed Version 사용 (0) | 2022.08.02 |
[C#] 3. WebView2를 이용해 사이트 호출 (0) | 2022.08.02 |
[C#] 2. WebView2 패키지 설치 (Nuget) (0) | 2022.08.02 |