Microsoft Edge WebView2 Kullanımı

Ouzz_z

Altın Üye
Katılım
19 Nisan 2024
Mesajlar
111
Excel Vers. ve Dili
LTSC Pro Plus 2024
Altın Üyelik Bitiş Tarihi
20-04-2026
Fixed olarak kullanmak için nasıl bir yol izlemeliyim, daha önce uğraşanl varsa yardımcı olabilir mi?
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
1,214
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
WebView2’nin “Fixed Version” dağıtımı vardır.

Evergreen (varsayılan): Kullanıcıda her zaman en güncel sürüm bulunur, otomatik güncellenir.
Fixed Version: Uygulamanız belirli bir sürümle çalışır, güncellemelerden etkilenmez. Bu, uyumluluk gereksinimleri olan kurumsal uygulamalar için idealdir

Runtime yoksa uygulama çalışmaz; bu yüzden dağıtım stratejisini iyi seçmelisiniz.
Fixed sürüm kullanıyorsanız, güvenlik güncellemelerini manuel takip etmeniz gerekir.
WebView2, Edge motoruna bağlıdır; bu yüzden Chromium tabanlı davranışlar beklenmelidir.

Uygulamanızı Evergreen mi yoksa Fixed sürümle mi dağıtmayı düşünüyorsunuz? Eğer kurumsal bir ortamda sabit sürüm istiyorsan, Fixed Version paketlemeyi seçmen mantıklı olur.

WebView2’yi Fixed Version olarak kullanmak için Evergreen’den biraz farklı bir dağıtım yolu izlemen gerekiyor. Evergreen sürümde runtime kullanıcıya otomatik güncellenmiş şekilde gelirken, Fixed Version’da sen uygulamanla birlikte belirli bir sürümü paketlersin ve o sürüm sabit kalır.

Microsoft’un sitesinden Fixed paketini indirip uygulamanla birlikte dağıtmalı ve kodda o klasörü işaret etmelisin.

Test için Fixed Version Kurulumu

Fixed Version Runtime sitesinden indir
Microsoft Edge WebView2 indirme sayfasından istediğin sürümü seçip indir (örneğin WebView2FixedVersionRuntime_x64_xxx.zip).

Klasörü aç ve uygulamana ekle
Zip dosyasını aç, içindeki klasörü uygulamanın dizinine kopyala (örneğin MyApp\WebView2Runtime).

Kodda Fixed Version yolunu belirt

csharp
var env = await CoreWebView2Environment.CreateAsync(
browserExecutableFolder: @"C:\MyApp\WebView2Runtime",
userDataFolder: @"C:\MyApp\UserData");
await webView21.EnsureCoreWebView2Async(env);
Burada browserExecutableFolder senin indirdiğin Fixed Version runtime klasörünü gösteriyor.

Uygulamayı çalıştır

Artık uygulaman her zaman bu sabit sürümü kullanır. Güncellemelerden etkilenmez, test için stabil bir ortam sağlar.

  • Yukarıdaki bağlantıya git.
  • “Download the WebView2 Runtime” bölümünde Fixed Version paketlerini bulacaksın.
  • İhtiyacına göre işletim sistemine uygun sürümü seç (x64, x86 veya ARM64).
  • İndirdiğin .zip dosyasını açıp uygulamanın dizinine kopyala.
  • Fixed Version güncellenmez; güvenlik yamalarını manuel olarak takip etmen gerekir.
  • Test için sabit sürüm kullanmak mantıklı, ama dağıtımda Evergreen genelde daha güvenlidir.
  • Kod tarafında CoreWebView2Environment.CreateAsync() ile Fixed Version klasörünü işaret etmelisin.
 
Son düzenleme:

Ouzz_z

Altın Üye
Katılım
19 Nisan 2024
Mesajlar
111
Excel Vers. ve Dili
LTSC Pro Plus 2024
Altın Üyelik Bitiş Tarihi
20-04-2026
W11'de yüklü olarak geliyormuş artık ve W10'da yok. Yüklemek problem olduğu için fixed versiyonu portable gibi düşünmüştüm ancak öyle değilmiş. Birkaç deneme yaptım ancak Edge motorunu görmüyor dediğiniz gibi. Eski tarayıcı denetimi de js vs. desteklemiyor. Şimdilik çözüm yok gibi duruyor durumum için. Teşekkürler.
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
1,214
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
WinForms üzerinde WebView2 Fixed Version ile çalışan basit bir mini proje şablonu için adımlar

  • Visual Studio’da yeni bir Windows Forms App (.NET Framework) projesi oluştur.
  • NuGet üzerinden Microsoft.Web.WebView2 paketini yükle.
  • Toolbox’tan WebView2 kontrolünü sürükleyip formuna ekle.
  • Örneğin adı webView21 olsun.
Formun Load event’ine aşağıdaki kodu ekle:

Kod:
using Microsoft.Web.WebView2.Core;

namespace WebView2FixedWinForms
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private async void Form1_Load(object sender, EventArgs e)
        {
            // Fixed Version runtime klasörünü işaret et
            var env = await CoreWebView2Environment.CreateAsync(
                browserExecutableFolder: @"C:\MyApp\WebView2Runtime",   // Fixed Version klasörün
                userDataFolder: @"C:\MyApp\UserData");                  // Kullanıcı verileri için klasör

            await webView21.EnsureCoreWebView2Async(env);

            // Test için basit bir site aç
            webView21.CoreWebView2.Navigate("https://www.microsoft.com");
        }
    }
}
  • Fixed Version Runtime .zip paketini indirip C:\MyApp\WebView2Runtime klasörüne çıkar.
  • Uygulamayı çalıştırdığında form içinde sabit sürümle açılan web sayfasını göreceksin.
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
1,214
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
W11'de yüklü olarak geliyormuş artık ve W10'da yok. Yüklemek problem olduğu için fixed versiyonu portable gibi düşünmüştüm ancak öyle değilmiş. Birkaç deneme yaptım ancak Edge motorunu görmüyor dediğiniz gibi. Eski tarayıcı denetimi de js vs. desteklemiyor. Şimdilik çözüm yok gibi duruyor durumum için. Teşekkürler.
Evet, durumu çok doğru özetlemişsin 👌.
  • Windows 11: WebView2 Runtime işletim sistemiyle birlikte geliyor, bu yüzden ekstra kurulum derdi yok.
  • Windows 10: Varsayılan olarak yok, dolayısıyla Evergreen Runtime yüklemek gerekiyor. Fixed Version paketini “portable” gibi düşünmek cazip ama aslında öyle çalışmıyor; çünkü WebView2 motoru uygulamanın yanında bulunsa bile, doğru şekilde işaret edilmezse uygulama motoru göremiyor.
Senin denemelerinde “Edge motorunu görmüyor” hatası alman da bundan kaynaklanıyor. Fixed Version, gerçekten portable bir çözüm değil; uygulamanın kod tarafında CoreWebView2Environment.CreateAsync() ile o klasörü işaret etmen şart. Ama bu da kurulum ve dağıtımda ek yük getiriyor.

Eski WebBrowser kontrolü (Internet Explorer tabanlı) ise dediğin gibi modern JS/CSS desteği çok sınırlı, güncel web uygulamalarını çalıştırmak için uygun değil.

Özetle:
  • W11 → sorunsuz, runtime hazır.
  • W10 → ya Evergreen yüklemek gerekiyor ya da Fixed Version paketini uygulamayla birlikte dağıtıp kodda işaretlemek.
  • “Portable” gibi çalıştırmak mümkün değil, çünkü motorun doğru şekilde bağlanması gerekiyor.
Şimdilik gerçekten pratik bir çözüm yok gibi görünüyor. Eğer kurumsal ortamda W10 makineler için dağıtım yapacaksan, Evergreen Runtime’ı kurulum paketine dahil etmek en sorunsuz yol oluyor.
 
Üst