SCCM ile EXE Dağıtımı
Bu yazımızda nasıl EXE paketi oluşturacağımızı ve SCCM kullanarak dağıtacağımızı anlatacağım. Bilindiği gibi bazı yazılım firmaları kendi ürünleri için MSI dosyası sağlamıyor, bu da çoğu zaman problem olabiliyor. Programları msi olarak application/package hazırlamak kolay ama .exe olduğu zaman biraz sıkıntılı olabiliyor. Hazırladığımız bu paketi SCCM üzerinden dağıtım ve kurulumunu yapıyoruz.
Yeni Applcation Oluşturmak
Kaynak dosyaları (source files), ağ üzerinden paylaşılan bir klasöre kaydedin. (UNC yolu aracılığıyla erişilebiliyorsa, yalnızca Uygulama dağıtımı yapmak için içerik seçebilirsiniz; bu nedenle sürücü harflerine izin verilmez.). Ben SCCM’de CM_Source ve Packages adında iki klasör oluşturdum. Tüm oluşturacağım Aplication’ların source files (kaynak dosyaları) App klasörüne, package’ları da Packages klasörüne koyuyorum.
SCCM 2012 Yönetici Konsolu’nda “ Software Library” i açalım. “Applications” ı sağ tıklayıp “Create Application“ı seçelim. “Create” ve “Application” seçeneğini tıklayalım.
General: Oluşturacağımız dosya .msi değil de .exe olacağından “Manually specify the application information” seçilmesi gerekmektedir. Devam etmek için Next.
“General Information” sayfasında, uygulamayı mümkün olduğunca gerekli açıklamaları yaparak form alanlarını dolduralım (Publisher, Software version vb). Ne kadar fazla bilgi verirsek, ilerde güncelleme vs. işlerde bu bilgiler çok yardımcı olur. Bu tanımlamalar script’in kendisi için değil, aksine uygulamanın kendisi içindir. Next’e basıp bir sonraki tab’e geçelim.
“Application Catalog” sayfasında, dil ve localization seçeneklerini belirtin. Daha sonra katalog kullanımında işinize yaracaktır. Kullanıcılarınızı yönlendirecek online belgeleriniz varsa, erişim sağlamak için URL’yi veya UNC path girebilirsiniz. İsterseniz uygulamanın bulunduğu yerin açıklamasını yapabilir ve katalog arama için anahtar kelimeleri gibi ek bilgiler de sağlayabilirsiniz.
Deployment Types: Bu tab’da, “Add” butonuna tıklayalım.
Deployment Type bölümünde “General” sayfasında, “Type” olarak listeden “Script Installer” seçelim, klik “Next“.
“General Information“
Name kısmına uygulamanın adını yazalım. Opsiyon olarak istenirse “Administrator comments” de yazılabilir. Klik Next.
“Content“
“Content Location“: “Browse” a basarak içeriğin nerde olduğunu göstermemiz gerekmektedir. Burada .exe dosyasının olduğu klasör seçilmelidir. Installation Program kısmında exe dosyasını seçmeliyiz. Eğer “uninstall” için script var ise, Uninstall Program kısmına bunu da tanımlamamız gerekir.
“Detection Method“
Yani Algılama kuralı oluşturmak istiyorsak “Detection Method” kullanmalıyız. Bunun için “Add Clause” butonuna tıklayarak Configuration Manager’a belirli bir client üzerinde uygulamanın zaten yüklü olup olmadığını bildirmek için gerekli olan özellikleri belirtmemiz gerekir. Konuyu biraz açarsak; kurulmak istenen programın hali hazırda client üzerinde olup olmadığını kontrol etmek istersek; bunun ne şekilde yapmak istediğimizi yapılandırmamız gerekmektedir. Msi kullandığımızda bunu kendisi otomatik olarak yapmaktadır. Exe olduğu için maalesef bunu kendimiz manuel olarak girmemiz gerekmektedir. Bunu yapmamızda ki amaç birden çok client’a uygulamayı gönderdiğimiz zaman kurulu olan client’a tekrar tekrardan kurmasına gerek yok. Ayrıca versiyon güncellemelerinde Detecion Method mutlaka yapılandırılmalıdır. Aksi takdirde bu program var denir ve yeni versiyon kurulmadan geçilir.
Bu adım zorunlu olmamakla birlikte SCCM üzerinde envanteri doğru bir şekilde izleyebilmek “detection method” kullanmak çok faydalıdır.
Aşağıda gösterdiğim örnekte bu programı client üzerine ilk kez kuracağım için path vererek bu klasör içinde setup.ini var mı yok mu onu kontrol ettiriyorum. Eğer gösterilen klasörde setup.ini var ise program kurulmayacak, yok ise kurulacaktır.
Eğer paketimiz exe değil de msi ise aşağıda görüldüğü gibi MS Product Code oluşturuyor.
User Experience
“Kullanıcı Deneyimi” sayfasında, bu uygulamanın dağıtımını (kullanıcı başına, cihaz başına veya karışık) belirtin. Ben sürekli bilgisayara dağıtmayı seçiyorum ve bir kullanıcının aktif olarak oturum açıp açmadığından bağımsız olarak yüklemesini sağlıyorum. Dağıtımları genelde akşam mesai saati sonrasında yaptığımdan dolayı kullanıcının login durumda olmasına gerek yok.
Requirements
Requirementssayfasında, herhangi bir donanım veya işletim sistemi gereksinimi belirtebildiğimiz yerdir. Kurulacak olan programın hangi makinalara kurulmasını gerektiğini belirleye bilir kısıtlama getirebilirsiniz. Örnek olarak: Sadece Windows 7 64bit olan PC’lere kur diyebilirsiniz.
“Dependencies”
Bu, “uygulama” paketinin kurulması için gerekli olan bir program varsa bunu belirttiğimiz yer burasıdır. Örnek olarak: Yüklemek istediğiniz programın çalışabilmesi için Excel’e ihtiyacı vardır ve bunun için de MS Office’in önceden yüklenmiş olması gerekmektedir, gibi sorgulamaları yapabileceğiniz yer burasıdır.
Klik Next, Summary kısmında ise kısaca işlem özetini gösterir. Next’e basarak yaptığımız exe programının paket oluşturulması sağlarız. Daha sonra Completion’ da başarılı şekilde paketimizin oluşturulduğunu görebiliriz. Artık dağıtıma hazırız.
İçeriğin hazırlanması ve dağıtımı
İşlemin bir sonraki adımı, yükleme dosyalarının gerektiğinde kullanıcıların erişebileceği yerlere gönderildiğine emin olmaktır. Yükleme kaynak içeriğini ortamımızdaki uygun DP (Distribution Point)’lere kopyalamak için “Distribute Content” yapmamız gereklidir.
Dağıtım işlemi, .MSI veya .EXE uygulamasıyla aynıdır. Dağıtımı, bir kullanıcı oturum açmasına dayalı olarak yüklemenin yanı sıra “Available” veya “Required” hale getirebilirsiniz.
Bu noktadan sonra, kullanıcıların belirli Collection’lara üye olduktan sonra otomatik olarak program client’lara indirilip kurulumunu yapılacaktır.
Dağıtımı İzleme (Monitoring the Deployment)
Uygulama Dağıtımda olduğu için bir sonraki adım ilerlemesini izlemektir. Administration Console’unda Monitoring à Distribution Status seçin. Buradan, her Dağıtımın mevcut durumunu görebilir ve başarıları ve hataları görebiliriz. Gerekirse daha fazla ayrıntı görüntülemek için her durum göstergesine ayrıntılı bir şekilde ulaşabiliriz.
Sonuç
Komut Dosyalı (.Exe) kurulumlarla ilgili olarak şiddetle tavsiye etmek istediğim bir şey, komut dosyanızın kapsamlı bir log oluşturduğundan emin olmak için fazladan bir zaman harcamaktır. Tipik bir .MSI paketi çok detaylı bir log oluşturur, ancak bir .exe kullanırken bu loğları oluşturmak tamamen bizim elimizde. Log çıktısına ne kadar çok ayrıntı eklerseniz, dağıtım sırasında ortaya çıkabilecek sorunları gidermekte yol gösterici olacaktır.