Follow
Follow

Uygulama Paketleme Standartları: Silent Install Parametreleri ve Detection Method Stratejileri

SCCM ile uygulama paketleme sürecinde sessiz kurulum parametrelerini ve doğru detection method stratejilerini nasıl belirlediğimi anlatıyorum.

MECM üzerinden binlerce cihaza uygulama dağıtırken, kurulumun kullanıcı etkileşimi olmadan (sessiz/silent) çalışması ve dağıtımın doğru şekilde “algılanması” (detection), paketleme sürecinin en kritik iki unsuru.

Silent Install Parametrelerini Bulma

Her kurulum paketinin sessiz kurulum parametresi farklıdır. İlk kontrol ettiğim kaynaklar:

  • MSI paketleri: Genellikle standart — msiexec /i uygulama.msi /qn /norestart
  • EXE paketleri (kurulum sihirbazı): kurulum.exe /S veya /silent veya /verysilent — üreticiye göre değişir, dokümantasyona bakmak gerekir
  • Bilinmeyen bir EXE için: kurulum.exe /? veya /help ile mevcut parametreleri keşfetmeyi denerim

MSI Loglama ile Doğrulama

msiexec /i uygulama.msi /qn /norestart /L*V "C:\Loglar\kurulum.log"

Kurulumun sessizce başarısız olduğu ama görünüşte “sorun yok” göründüğü durumlarda, bu log dosyası gerçek hatayı (genellikle bir MSI hata kodu) ortaya çıkarır.

Detection Method: “Kurulu mu Değil mi?” Sorusunun Cevabı

Detection method, MECM’e “bu uygulama zaten kurulu mu?” sorusunu nasıl soracağını söyler. Üç ana yaklaşım:

  • MSI Product Code: En güvenilir yöntem — MSI’ın benzersiz GUID’ini kontrol eder
  • Dosya varlığı/versiyonu: Belirli bir .exe veya .dll dosyasının varlığını ve sürümünü kontrol eder (EXE tabanlı kurulumlar için)
  • Registry anahtarı: Kurulumun bıraktığı bir registry değerini kontrol eder

Sahadan Bir Uyarı: Yanlış Detection Method’un Bedeli

Detection method yanlış/gevşek tanımlandığında iki senaryo yaşanır: (1) uygulama zaten kuruluyken MECM tekrar tekrar kurulum denemesi yapar, kullanıcıyı rahatsız eder; (2) uygulama kurulu değilken MECM “zaten kurulu” sanıp hiç kurulum yapmaz. Her iki durum da destek taleplerine yol açar. Bu yüzden mümkün olduğunca MSI Product Code gibi kesin yöntemleri tercih ediyorum; dosya tabanlı tespit gerektiğinde de mutlaka sürüm numarası kontrolü ekliyorum (sadece dosya varlığı değil).

Wrapper Script Yaklaşımı

Karmaşık kurulumlar (birden fazla ön koşul, özel kayıt defteri ayarları) için doğrudan MSI/EXE yerine bir PowerShell wrapper script kullanmayı tercih ediyorum:

# Install.ps1 örneği
Start-Process msiexec.exe -ArgumentList "/i uygulama.msi /qn /norestart" -Wait
if ($LASTEXITCODE -eq 0) {
    # Ek yapılandırma adımları (registry, config dosyası vb.)
    Set-ItemProperty -Path "HKLM:\SOFTWARE\Sirket\Uygulama" -Name "Yapilandirildi" -Value 1
}
exit $LASTEXITCODE

Sonuç

Sağlam bir uygulama paketleme süreci, sadece “kurulumu çalıştırmak” değil; sessiz kurulumu doğrulamak, güvenilir bir detection method tanımlamak ve başarısızlık durumlarını loglamaktan geçer. Bu disipline uyulduğunda, MECM üzerinden yapılan dağıtımlar büyük ölçüde “kur ve unut” seviyesine ulaşır.

Comments
Join the Discussion and Share Your Opinion
Add a Comment

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


Newsletter
Join Design Community
Get the latest updates, creative tips, and exclusive resources straight to your inbox. Let’s explore the future of design and innovation together.