UYAP Editörü

UYAP Doküman Editörü Güncellenmiyor mu? Eski Sürüm Kaldırılamıyor Hatası ve Adım Adım Çözümü

UYAP Doküman Editörü kurulum sırasında 'Eski Uyap Kelime İşlemci sürümü kaldırılamıyor' hatası mı veriyor? Bu rehberde hatanın gerçek nedenini ve PowerShell ile adım adım çözümünü açıklıyoruz. .udf belgeleriniz güvende.

R Recep Karaca 11 dk okuma 28 görüntülenme
UYAP Doküman Editörü Güncellenmiyor mu? Eski Sürüm Kaldırılamıyor Hatası ve Adım Adım Çözümü

HUKUK & TEKNOLOJİ  •  REHBER

"Eski Uyap Kelime İşlemci sürümü kaldırılamıyor" hatasının sebebi ve adım adım çözümü.

Yayın: ictihatpro  •  Hedef Kitle: Avukatlar  •  Seviye: Başlangıç-Orta

ℹ Bu yazıda neyi anlatıyoruz?

UYAP Doküman Editörü'nün (UDE) güncel sürümünü kurmaya çalışan birçok meslektaşımız kurulum sırasında aniden gelen bir hata mesajıyla karşılaşıyor: "Eski Uyap Kelime İşlemci sürümü kaldırılamıyor. Teknik destek grubuyla bağlantı kurun." Bu yazıda hatanın neden çıktığını basit bir dille anlatıyor, .udf belgelerinize hiç dokunmadan eski sürümü tamamen temizleyen ve yeni sürümü kurmanızı sağlayan bir yöntemi adım adım gösteriyoruz.

1. Hata Tam Olarak Neye Benziyor?

Adalet Bakanlığı'nın yayınladığı yeni UDE kurulum dosyasını çalıştırdığınızda kurulum ekranı açılır, ilerleme çubuğu hareket etmeye başlar, ardından durum satırında "Uygulamalar kaldırılıyor." yazar ve birden bire üzerine küçük bir uyarı kutusu düşer:

UYAP eski sürüm kaldırılamıyor hatası
Görsel 1: Kurulum sırasında gelen "Eski Uyap Kelime İşlemci sürümü kaldırılamıyor" hatası.

"Tamam"a tıklamanın hiçbir faydası yok; kurulum yarıda kalıyor. Denetim Masası → "Programları kaldır veya değiştir" listesine baktığınızda bazen UYAP hiç görünmüyor bile, bazen görünüp "kaldır" düğmesi de aynı hatayı veriyor. Klasik çözümler — yeniden başlatma, temiz başlatma, antivirüs kapatma — işe yaramıyor.

2. Sorunun Sebebi: Bozuk MSI Kayıtları

Bu hatayı anlamak için Windows'un program yüklü tutma şeklini kabaca bilmek gerekir. Windows, klasik kurulum dosyalarını (MSI uzantılı) Microsoft Installer adlı bir veritabanı üzerinden takip eder. Bu veritabanında her programın bir Ürün Kodu (Product Code), bir de Yükseltme Kodu (Upgrade Code) bulunur. Yeni sürüm yüklenirken Yükseltme Kodu sayesinde "bu programın eski hâli zaten kuruluymuş, önce onu temizleyeyim" diye karar verilir.

UYAP'ta sorun tam burada başlıyor. Eski bir UYAP sürümünün dosyaları zamanında (belki bir Windows güncellemesinden, belki manuel silmeden, belki başarısız bir güncellemeden sonra) yarım silinmiş; ama bu Yükseltme Kodu kayıtları registry'de olduğu gibi durmaya devam ediyor.

Bozuk MSI kayıtlarının yarattığı kurulum sorunu
Görsel 2: Hatanın oluşma silsilesi — yarım kalmış eski kurulumun yeni kuruluma engel olması.

Yeni installer çalıştığında 33DB2ADC... gibi rastgele görünen ama aslında UYAP'a ait bir Yükseltme Kodu görüyor ve "madem eskisi kayıtlı, ben onu kaldırayım önce" diyor. Lakin kaldırmaya çalıştığında C:\Program Files\UKI klasörü zaten yok, kaldırma scripti (msiexec) çalıştığında dosyaları bulamıyor, hata veriyor ve kurulum komple iptal oluyor.

ℹ Tek cümlede sebep:

Yeni installer eski sürümün kalıntı kayıtlarını görüyor, onları kaldırmaya çalışıyor, asıl dosyalar zaten silinmiş olduğu için kaldırma çöküyor — ve yeni sürümün kurulumu bu yüzden başlamadan bitiyor.

3. Neden "Programlar ve Özellikler"den Kaldıramıyoruz?

Çünkü Windows'un Programlar listesi sadece görünür yüzeyi gösterir. Listede görünen kaydı silseniz bile, asıl problemi yaratan üç tip kayıt çok daha derinde durur:

  • Ürün kaydı: Windows registry'sindeki ürün kayıt anahtarları (Installer\Products altında).
  • Yükseltme kodu: Yeni installer'ın "eski sürüm var mı?" sorusunun cevabı bu kayıtta saklı (UpgradeCodes altında).
  • Kullanıcı verisi: Sistem hesabına ait kullanıcı verileri (UserData\S-1-5-18\Products altında).

Programlar listesindeki "kaldır" düğmesi ne yazık ki bu üç katmanı temizlemek için yeterli yetkiye sahip değildir. Bu yüzden gerçek çözüm; Windows PowerShell'i Yönetici (Administrator) yetkisiyle açıp doğrudan registry temizliği yapmaktan geçer.

4. Adım Adım Çözüm

⚠ Önce dikkat:

.udf uzantılı belgeleriniz (UYAP'ta hazırladığınız sözleşmeler, dilekçeler, kararlar) bu işlemden ETKİLENMEZ — onlar bilgisayarınızda istediğiniz klasörde duruyor, biz yalnızca editör programını sistemden kaldırıyoruz. Yine de güvenlik açısından önemli belgelerinizin yedeğini almanızı tavsiye ederiz.

Adım 1: UYAP açıksa kapatın

Kurulum penceresi, daha önce açılmış UYAP Kelime İşlemci, Görev Yöneticisi'nde EditorProject.exe görünüyorsa hepsini kapatın. Açık UYAP varken kaldırma yapılamaz.

Adım 2: PowerShell'i "Yönetici olarak çalıştır" ile açın

Bilgisayarınızın sol alt köşesindeki Başlat tuşuna tıklayın. Açılan arama kutusuna powershell yazın. Üstte "Windows PowerShell" çıkacaktır; üzerine SAĞ tıklayın ve açılan menüden "Yönetici olarak çalıştır" seçeneğini seçin. Mavi kalkan ikonu olan satır budur.

PowerShell yönetici olarak çalıştır
Görsel 3: PowerShell sağ tık → "Yönetici olarak çalıştır".

Adım 3: UAC (Kullanıcı Hesabı Denetimi) penceresinde "Evet" deyin

Yönetici olarak çalıştırmak istediğinizde Windows size mavi bir kutu ile sorar. Bu pencereye "Evet" diyerek devam edin. Çıkan PowerShell penceresinin başlığında "Yönetici: Windows PowerShell" yazıyor olmalıdır.

UAC onay kutusu Evet
Görsel 4: UAC onay kutusunda "Evet" diyerek yönetici hakkı verin.

Adım 4: Aşağıdaki kaldırma scriptini PowerShell'e yapıştırın

Aşağıdaki kod kutusunu komple seçin (Ctrl+A — kutudaki tüm yazı) ve kopyalayın. Sonra PowerShell penceresine sağ tıklayın — bu, otomatik yapıştırma yapar. Enter'a basarak çalıştırın. Script ortalama 30 saniye sürer ve ekranda işlem adımlarını gösterir.

# UYAP Doküman Editörü - Tam Kaldırma Scripti
# Sadece yönetici yetkili PowerShell'de çalışır.
# .udf belgeleriniz ETKİLENMEZ.

$ErrorActionPreference = 'Continue'

function Step($t) { Write-Host ""; Write-Host "==> $t" -ForegroundColor Cyan }

# 1) UYAP süreçleri
Step "UYAP süreçleri kapatılıyor"
Get-Process -ErrorAction SilentlyContinue |
    Where-Object { $_.Name -match 'EditorProject|UYAP|Uyap|UKI' } |
    ForEach-Object {
        Write-Host "  Kapatılıyor: $($_.Name)"
        Stop-Process -Id $_.Id -Force -ErrorAction SilentlyContinue
    }
Start-Sleep -Seconds 2

# 2) Kayıtlı tüm UYAP MSI ürünlerini bul
Step "MSI ürün kayıtları bulunuyor"
$products = Get-ChildItem 'HKLM:\SOFTWARE\Classes\Installer\Products' -ErrorAction SilentlyContinue |
    ForEach-Object {
        $p = Get-ItemProperty $_.PSPath -ErrorAction SilentlyContinue
        if ($p.ProductName -match 'UYAP|Uyap|uyap|Kelime İşlemci|UKI|UDE') {
            [PSCustomObject]@{
                Packed = $_.PSChildName
                Name   = $p.ProductName
                Path   = $_.PSPath
            }
        }
    }

foreach ($prod in $products) {
    Write-Host "  Bulundu: $($prod.Name) [$($prod.Packed)]"
}

# 3) Her ürün için MSI cache, registry, klasörler
Step "Kayıtlar ve dosyalar temizleniyor"

# Uninstall girişleri (görünür kayıt)
$uninstallBases = @(
    'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall',
    'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall',
    'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall'
)
foreach ($base in $uninstallBases) {
    Get-ChildItem $base -ErrorAction SilentlyContinue | ForEach-Object {
        $props = Get-ItemProperty $_.PSPath -ErrorAction SilentlyContinue
        if ($props.DisplayName -match 'UYAP|Uyap|uyap|Kelime İşlemci|UKI|UDE') {
            Write-Host "  Silinen uninstall: $($props.DisplayName)"
            Remove-Item -LiteralPath $_.PSPath -Recurse -Force -ErrorAction SilentlyContinue
        }
    }
}

# Installer Products + UpgradeCodes + UserData
foreach ($prod in $products) {
    $packed = $prod.Packed

    # Products
    Remove-Item -LiteralPath "HKLM:\SOFTWARE\Classes\Installer\Products\$packed" `
        -Recurse -Force -ErrorAction SilentlyContinue

    # UpgradeCode bul
    Get-ChildItem 'HKLM:\SOFTWARE\Classes\Installer\UpgradeCodes' -ErrorAction SilentlyContinue |
        ForEach-Object {
            $key = Get-Item $_.PSPath -ErrorAction SilentlyContinue
            if ($key) {
                foreach ($n in $key.GetValueNames()) {
                    if ($n -eq $packed) {
                        Write-Host "  Silinen UpgradeCode: $($_.PSChildName)"
                        Remove-Item -LiteralPath $_.PSPath -Recurse -Force -ErrorAction SilentlyContinue
                    }
                }
            }
        }

    # Tüm SID'lerde UserData
    Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData' `
        -ErrorAction SilentlyContinue | ForEach-Object {
            $cand = Join-Path $_.PSPath "Products\$packed"
            if (Test-Path -LiteralPath $cand) {
                $ip = Get-ItemProperty (Join-Path $cand 'InstallProperties') -ErrorAction SilentlyContinue
                if ($ip.LocalPackage -and (Test-Path -LiteralPath $ip.LocalPackage)) {
                    Write-Host "  Silinen MSI cache: $($ip.LocalPackage)"
                    Remove-Item -LiteralPath $ip.LocalPackage -Force -ErrorAction SilentlyContinue
                }
                Remove-Item -LiteralPath $cand -Recurse -Force -ErrorAction SilentlyContinue
            }
        }
}

# Klasörler
$folders = @(
    'C:\Program Files\UKI',
    'C:\Program Files (x86)\UKI'
)
$folders += (Get-ChildItem 'C:\ProgramData\Caphyon\Advanced Installer' `
    -ErrorAction SilentlyContinue | Where-Object { $_.Name -like '*UYAP*' -or $_.Name -like '*UKI*' }).FullName
$folders += (Get-ChildItem $env:APPDATA -Filter 'Adalet*' -Directory `
    -ErrorAction SilentlyContinue).FullName

foreach ($f in $folders) {
    if ($f -and (Test-Path -LiteralPath $f)) {
        Write-Host "  Silinen klasör: $f"
        Remove-Item -LiteralPath $f -Recurse -Force -ErrorAction SilentlyContinue
    }
}

Step "Tamamlandı"
Write-Host "BAŞARILI: UYAP Doküman Editörü tüm sistemden kaldırıldı." -ForegroundColor Green
Write-Host "Şimdi yeni sürümün kurulum dosyasını çalıştırabilirsiniz." -ForegroundColor Green
Write-Host ""
Read-Host "Çıkmak için Enter'a basın"

✓ Bu script .udf dosyalarınıza dokunmaz

Yalnızca UYAP yazılımının izlerini hedef alır. Belge dosyalarınız (Belgeler, Masaüstü, OneDrive vb. klasörlerinizdeki .udf uzantılı dosyalar) güvenli şekilde yerinde kalır. İlişkilendirme (yani .udf dosyalarını çift tıklayınca açılması) yeni sürüm kurulduğunda kendiliğinden yenilenir.

Adım 5: Sonucu doğrulayın

Script bittiğinde aşağıdaki gibi yeşil bir başarı mesajı görmelisiniz. "BAŞARILI" yazıyorsa eski sürüm tamamen temizlenmiş demektir.

PowerShell kaldırma başarılı çıktı
Görsel 5: Script başarıyla tamamlandığında PowerShell çıktısı.

Adım 6: Yeni UDE sürümünü kurun

Adalet Bakanlığı / UYAP'tan indirdiğiniz güncel kurulum dosyasını (örneğin UDE_Setup.exe ya da .msi uzantılı dosya) çift tıklayarak çalıştırın. Bu sefer kurulum sorunsuz tamamlanmalıdır.

UYAP yeni sürüm başarılı kurulum
Görsel 6: Yeni sürüm başarıyla kuruldu — kurulum tamamlandı ekranı.

5. Sıkça Sorulan Sorular

S: .udf belgelerim silinir mi?

Hayır. Bu işlem yalnızca editör programını ve onun kayıtlarını siler. Bilgisayarınızda kayıtlı .udf belgelerinize hiçbir şey olmaz, yerinde durur.

S: Yetkim yok diyorsa ne yapacağım?

Yönetici (administrator) hesabıyla oturum açmanız gerekir. Birçok ofis bilgisayarında ana hesap zaten yönetici hesabıdır; değilse bilişim sorumlunuzdan ya da bilgisayarın esas sahibinden geçici olarak yönetici şifresi isteyin. Aksi hâlde işlem tamamlanamaz.

S: Script çalıştı ama yine "eski sürüm kaldırılamıyor" diyor

Çoğu zaman bilgisayarı yeniden başlatıp scripti bir kez daha çalıştırmak yeterlidir; bazı kayıtlar Windows oturumu açıkken kilitli olabilir, yeniden başlatma sonrası serbest kalırlar. Tekrar tekrar denedikten sonra hâlâ sürüyorsa, bilgisayarda birden fazla Windows kullanıcı hesabı olup olmadığını kontrol edin — hatalı kayıt diğer kullanıcı profilinde duruyor olabilir; o profile geçip aynı işlemi yapmak gerekebilir.

S: Antivirüs scripti engelliyor

Bazı kurumsal antivirüs çözümleri PowerShell scriptlerini bloklayabilir. Bu durumda scripti çalıştırmadan önce antivirüsü geçici olarak duraklatın; işlem bittikten sonra hemen tekrar etkinleştirin. Script, internete bağlanmaz ve dosya indirmez; yalnızca yerel kayıt temizliği yapar.

S: Bunu yapmak güvenli mi? Sistemime zarar verir mi?

Script yalnızca adı UYAP / Kelime İşlemci / UKI / UDE ile eşleşen kayıtları hedef alır; başka programları etkilemez. Yine de her sistem temizliği işleminde olduğu gibi, önemli belgelerinizi yedeklemeyi alışkanlık hâline getirmeniz tavsiye edilir. İşlemi yapmadan önce Sistem Geri Yükleme Noktası oluşturmak isterseniz, Başlat → "geri yükleme noktası" → "Oluştur" diyerek 1 dakikada yapabilirsiniz.

6. Sonuç

UYAP Doküman Editörü'nün "Eski sürüm kaldırılamıyor" hatası, işin aslına bakarsanız Windows Installer veritabanındaki yarım kalmış kayıtlardan kaynaklanan, sıkça rastlanan ve çözümü teknik destek beklemeyi gerektirmeyen bir sorundur. Yukarıdaki adımlarla — yönetici yetkili bir PowerShell penceresinde tek bir scripti çalıştırarak — eski izleri temizleyebilir, ardından güncel sürümü hiçbir engel olmadan kurabilirsiniz. Bu yöntem .udf belgelerinize hiçbir biçimde dokunmaz.

Bu rehberi meslektaşlarınızla paylaşmanız, bilişim sorumlularınızı meşgul etmeden bürolarda büyük zaman kazandıracaktır.

ℹ Sorumluluk Reddi

Bu yazıdaki yönerge, sistemde yapısal değişiklik yapan komutlar içermektedir. Uygulamadan önce önemli belgelerinizin yedeğinin alındığından emin olun. Script sadece UYAP/UDE'ye ait kayıtları hedef alacak şekilde yazılmış olsa da, her bilgisayar yapılandırması farklı olabileceğinden riski en aza indirmek için yedek alınması önerilir.

Paylaş: Twitter Facebook LinkedIn WhatsApp