Files
hDM/docs/DEPLOYMENT.md
2026-05-06 15:59:53 +03:00

4.3 KiB
Raw Blame History

hOLOlu Download Manager (hDM) Dağıtım ve Kurulum Rehberi

Bu belge, hDM uygulamasının son kullanıcıya dağıtımı (Deployment) ve Advanced Installer gibi araçlarla kurulum (Setup) paketlerinin hazırlanması konularında izlenmesi gereken yolları ve en iyi pratikleri içermektedir.

1. Dağıtım Stratejileri (Deployment Strategies)

.NET 8 ile geliştirilen WPF/Windows Masaüstü uygulamalarını yayınlarken (publish) genel olarak iki farklı strateji tercih edilir:

A. Framework-Dependent (Çerçeveye Bağımlı) Dağıtım

Uygulamanın çalışması için kullanıcının bilgisayarında .NET Desktop Runtime'ın kurulu olmasını gerektiren yöntemdir.

  • Avantajları: Derlenmiş uygulama boyutu çok küçüktür (Yaklaşık 5-15 MB). Güncellemeler hızlıdır.
  • Dezavantajları: Kullanıcıda doğru .NET sürümü yoksa uygulama açılmaz ve kullanıcıyı indirme sayfasına yönlendirir.
  • Yayınlama Komutu:
    dotnet publish src/DownloadManager.WPF/DownloadManager.WPF.csproj -c Release -r win-x64 --self-contained false
    

B. Self-Contained (Kendi İçinde Barındıran) Dağıtım

.NET kütüphanelerinin ve uygulamanın ihtiyaç duyduğu tüm çalışma zamanı (runtime) dosyalarının .exe içerisine veya yanına gömüldüğü yöntemdir.

  • Avantajları: Kullanıcının bilgisayarında .NET kurulu olmasına gerek yoktur. Hata riski sıfıra yakındır, "tıkla ve çalıştır" mantığıyla çalışır.
  • Dezavantajları: Dosya boyutu çok yüksektir (Yaklaşık 150-250 MB arası).
  • Yayınlama Komutu (Tek Dosya - Single File):
    dotnet publish src/DownloadManager.WPF/DownloadManager.WPF.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true
    

C. Boyutu Küçültülmüş Self-Contained (Trimming)

Eğer dosya boyutu (210 MB) sizin için sorunsa, kullanılmayan .NET kodlarını silen PublishTrimmed bayrağını kullanabilirsiniz. Bu, boyutu 80-100 MB arasına düşürebilir ancak Reflection kullanan paketlerde (JSON dönüştürücüler vb.) çalışma zamanı hatalarına yol açabileceğinden kapsamlı test gerektirir.

dotnet publish src/DownloadManager.WPF/DownloadManager.WPF.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:PublishTrimmed=true

2. Advanced Installer ile Kurulum Önerileri

Eğer Framework-Dependent (A stratejisi) yayınlama yapıyor ve kurulum dosyasının boyutunu küçük tutmak istiyorsanız, Advanced Installer içerisinde doğru "Prerequisites" (Önkoşullar) ayarını yapmanız hayati önem taşır.

"You must install .NET Desktop Runtime" Hatasının Çözümü

Advanced Installer'da sadece ".NET Runtime" eklerseniz WPF arayüzü çizilemez. Kesinlikle "Desktop" sürümü eklenmelidir.

  1. Advanced Installer projenizi (hdm_kur.aip) açın.
  2. Sol menüden Prerequisites sekmesine tıklayın.
  3. Listeden eklediğiniz yanlış veya eksik .NET gereksinimlerini silin (Örn: .NET Runtime 8.0.x veya ASP.NET Core Runtime).
  4. Packages kısmından şu paketi bulup ekleyin:
    • 👉 .NET Desktop Runtime 8.0.x (x64)
  5. Kurulum seçeneklerinde (Setup Files), bu runtime paketinin kurulum dosyasına gömülmesini (Include in setup) veya internetten indirilmesini (Download from URL) seçebilirsiniz. İnternetten indirme seçeneği, .msi / .exe dosyanızın boyutunu çok küçük (15 MB altı) tutmanızı sağlar.

Ek Tavsiyeler

  • Kısayol ve Simgeler: Advanced Installer'da masaüstü kısayolu oluştururken, hDM.exe dosyasını seçtiğinizde simge otomatik olarak Down_nb-02.ico algılanacaktır.
  • Tarayıcı Eklentisi (Browser Bridge): DownloadManager.BrowserBridge.exe dosyasını da hDM.exe ile aynı klasöre kurduğunuzdan emin olun. Ayrıca Advanced Installer'ın Registry bölümüne girip, eklentinin çalışması için gereken register_bridge.reg içeriğini kurulum sırasında otomatik yazılacak şekilde ekleyin.
  • Mimariler: Uygulamanızı x64 (64-bit) olarak yayınlıyorsanız, Advanced Installer projesinin Install Parameters kısmından "Package Type" ayarını 64-bit package olarak seçmeyi unutmayın. Aksi takdirde "Program Files (x86)" klasörüne kurulmaya çalışır.