SCCM uygulama dağıtımı, kurumsal ortamlarda uygulamaları merkezi olarak yayınlamak, zorunlu kurulumları yönetmek ve Software Center üzerinden kontrollü kullanıcı deneyimi sağlamak için kullanılan temel Configuration Manager yeteneklerinden biridir.
Amaç ve Kapsam
Bu rehber, bir uygulamanın hazırlanmasından Distribution Point dağıtımına, Detection Method tasarımından client log analizine kadar SCCM Application deployment sürecini uçtan uca ele alır.
Ön Koşullar
- SCCM/MECM yönetim konsoluna erişim
- Uygulamanın kurulum dosyaları ve silent install parametreleri
- Content Source için erişilebilir UNC yolu
- Hedef User veya Device Collection
- Pilot test grubu
Application mı, Package mı?
| Model | Uygun Senaryo |
|---|---|
| Application | MSI, EXE ve state/detection takibi gereken modern dağıtımlar |
| Package / Program | Basit scriptler, legacy kurulumlar veya detection mantığı gerektirmeyen işlemler |
Application modelinde Detection Method temel bileşendir. SCCM uygulamanın installed olup olmadığını bu kurala göre değerlendirir.
İçerik ve Kaynak Klasörü Hazırlığı
- Kurulum dosyaları, config dosyaları ve bağımlılıklar aynı içerik yapısı içinde tutulmalıdır.
- Content Source mümkün olduğunca sabit bir UNC path üzerinden yönetilmelidir.
- Uygulamanın silent install ve uninstall komutları test edilmelidir.
- İçerik değiştiğinde SCCM içeriği güncellenmeli ve DP’lere yeniden dağıtılmalıdır.
Detection Method Tasarımı
Detection Method, dağıtım başarısının en kritik noktalarından biridir. Dosya, registry veya MSI product code gibi yöntemler kullanılabilir.
Script tabanlı uygulamalarda yalnızca “kurulum komutu çalıştı” diye başarı kabul etmek yerine, gerçekten hedef durumu kanıtlayan bir dosya veya registry değerini kontrol etmek daha güvenilirdir.
New-Item -Path "$env:LOCALAPPDATAAppName" -ItemType Directory -Force
Set-Content -Path "$env:LOCALAPPDATAAppNamedone.txt" -Value (Get-Date)
Bu tür bir işaret dosyası yalnızca ilgili deployment mantığı için anlamlıysa kullanılmalıdır; mümkünse uygulamanın gerçek kurulum durumunu kontrol eden detection tercih edilmelidir.
User Experience Ayarları
- Install for user: HKCU veya kullanıcı profiline bağlı işlemlerde değerlendirilebilir.
- Install for system: Cihaz genelinde yönetici yetkisi gerektiren kurulumlarda kullanılır.
- Logon requirement: Kullanıcının oturum durumuna göre belirlenmelidir.
- Restart davranışı ve kullanıcı bildirimleri deployment öncesinde planlanmalıdır.
User Collection mı, Device Collection mı?
| Hedefleme | Tipik Kullanım |
|---|---|
| User Collection | Kullanıcı bazlı uygulama ve user-context senaryoları |
| Device Collection | Cihaz bazlı, system-context ve standart workstation kurulumları |
Deployment başlamadan önce collection üyeliğinin doğru ve güncel olduğunu doğrulayın.
Available ve Required Deployment
- Available: Uygulama Software Center’da kullanıcı tarafından isteğe bağlı kurulabilir.
- Required: Belirlenen deadline sonrasında otomatik uygulanır.
Required deployment’larda maintenance window, restart ve kullanıcı bilgilendirmesi daha kritik hale gelir.
Content Distribution ve DP Kontrolü
- Uygulamayı ilgili Distribution Point veya DP Group’a dağıtın.
- Monitoring → Distribution Status → Content Status üzerinden durumu doğrulayın.
- Başarısız veya bekleyen dağıtım varsa client tarafına geçmeden önce content problemini çözün.
İçeriğin DP üzerinde olmaması, uygulamanın görünürlüğüyle aynı konu değildir; ancak indirme ve kurulum aşamasını doğrudan etkiler.
Client Tarafı Doğrulama
Client tarafında troubleshooting için logları işlem sırasına göre okumak daha etkilidir:
| Log | Kontrol |
|---|---|
PolicyAgent.log |
Deployment policy istemciye ulaştı mı? |
AppDiscovery.log |
Detection Method sonucu nedir? |
LocationServices.log |
İstemci doğru içerik konumunu buluyor mu? |
ContentTransferManager.log |
İçerik transferi başladı mı? |
CAS.log |
İçerik erişimi ve cache tarafında ne oluyor? |
AppEnforce.log |
Install command line çalıştı mı, exit code nedir? |
Troubleshooting
Uygulama Software Center’da Görünmüyor
- Deployment doğru User/Device Collection’a mı hedeflendi?
- İstemci yeni policy’yi aldı mı?
- Application zaten installed olarak detect ediliyor olabilir mi?
- User-context ve device-context hedefleme birbiriyle uyumlu mu?
Uygulama Görünüyor Ama İnmiyor
- Content Status başarılı mı?
- İstemci doğru DP’yi bulabiliyor mu?
ContentTransferManager.logveCAS.loghata gösteriyor mu?
Uygulama İniyor Ama Kurulmuyor
- Silent install parametreleri doğru mu?
- Kurulum doğru user/system context altında mı çalışıyor?
- Bağımlılıklar mevcut mu?
AppEnforce.logiçindeki exit code nedir?- Detection Method kurulum sonrası gerçek durumu doğru değerlendiriyor mu?
Doğrulama
Deployment tamamlandıktan sonra yalnızca SCCM konsolundaki Success durumuna bakmayın. Uygulamanın gerçekten doğru çalıştığını şu şekilde doğrulayın:
- Application detection sonucu
- Gerçek dosya/registry/MSI durumu
- Software Center install status
- Gerekirse uygulamanın ilk açılış testi
Best Practice
- Önce pilot collection üzerinde test edin.
- Install ve uninstall komutlarını ayrı ayrı doğrulayın.
- Detection Method’ı mümkün olduğunca gerçek kurulum durumuna bağlayın.
- Script ve installer loglarını merkezi troubleshooting için saklayın.
- Required deployment öncesinde rollback planı oluşturun.
- İçerik güncellemelerinde DP dağıtım durumunu yeniden kontrol edin.
Sonuç
SCCM Application deployment başarısı yalnızca kurulum komutuna bağlı değildir. Detection Method, collection hedeflemesi, user experience, content distribution, client policy ve install context birlikte doğru tasarlanmalıdır. Sorun çıktığında ise policy → detection → content → enforcement sırasını takip etmek troubleshooting süresini önemli ölçüde kısaltır.
