Windows Installer nedir? MSI Paketleri Nasıl Hazırlanır? Windows Installer nedir? MSI Paketleri Nasıl Hazırlanır?
Bu makalede Windows Installer teklolojisiyle ilgili bazı temel bilgiler verildikten sonra msi paketlerinin hazırlanması için gerekenler adım adım anlatılacaktır. Windows Installer teknolojisi ikiye ayrılmaktadır. İstemci (client) tarafında çalışan bir installer servisi (msiexec.exe) ve paket dosyası (.msi uzantılı dosya). Windows Installer program ekleme ve kaldırma işlemini yöneten bir işletim sistemi servisidir. Msiexec.exe ise bu servisin bir bileşenidir ve paketleri (.msi) okumak, değişiklikleri (.mst) uygulamak ve komut satırı işlemlerini gerçekleştirmekten sorumludur. Bunu msi.dll dinamik bağlantı kütüphanesini kullanarak yapar. Installer servisi, dosyaları sabit diske kopyalamak, registry değişikliklerini yapmak, masaüstüne ve başlangıç menüsüne kısayollar koymak, gerektiğinde kullanıcının ayarlaması gereken seçeneklerle ilgili diyalog kutularını görüntülemek gibi program ekleme ve kaldırmayla ilgili bütün işleri üstlenir. Windows Installer bir bilgisayarda yüklüyse, işletim sisteminin dosya uzantılarıyla ilgili ilişkilendirmeleri (association) yapılmıştır ve .msi dosyaları tanınmaktadır. .msi uzantılı bir dosya çalıştırıldığında işletim sistemi .msi dosyasını Windows Installer ile ilişkilendirir ve msiexec.exe uygulamasını çalıştırır. Paket dosyası (.msi), programı pek çok senaryoya göre eklemek ve kaldırmak için gerekli yönlendirmeleri, bir paket dosyasının içinde yüklenen programın önceki bir versiyonu bilgisayarda mevcut ise yapılması gerekenler yönlendirmeye örnek olarak verilebilir ve verileri içinde barındıran ilişkisel bir veritabanından oluşmaktadır. Windows Installer veritabanı (.msi dosyası), bir programı yüklemek ve/ya kaldırmak için gerekli bilgileri içeren ilişkisel veritabanını meydana getiren birbiriyle ilişkili pek çok tablodan oluşmuştur. Birbiriyle ilişkili bu tablolar şunlardır: 1. Ana Tablo
:
Uygulamanın ve paket dosyasının temel öğelerini içeren tablodur.
2. Dosya Tablosu
:
Paket dosyasıyla ilişlilendirilen dosyaları içerir.
3. Registry Tablosu
: Registry kayıtlarının bulunduğu tablodur.
4. Sistem Tablosu
: Yükleme veritabanının tablolarını ve sütunlarını takip eder.
5. Yer Tespit Tablosu
:
Bir dosya için registry, konfigürasyon bilgisi, klasör ağaç yapısı veya .ini dosyalarında uygun olan yerlerin gösterildiği tablodur. 1
6. Program Yükleme 7. Yükleme Prosedürü
:
Uygulamanın yüklenmesi için gerekli olan resimleri, kısayolları ve diğer öğelerin tutulduğu tablodur. : Yükleme sırasında standart vey özel yükleme ile ilgili yapılacakların yer aldığı tablodur.
2
Değişiklik (transform) dosyaları (.mst) ile veritabanının içeriğinde değişiklik yapılabilir. Örneğin, Windows Installer değişiklik dosyasını kullanarak bir kullanıcının yükleme sırasında başka bir dil kullanarak etkileşimde bulunmasını sağlayabilir. Bu değişiklikler sadece ilk yükleme sırasında kullanılabilirler. Yüklenmiş bir programa uygulanmaları mümkün değildir. Windows Installer teklolojisiyle ilgili daha ayrıntılı bilgi almak, hatta sertifika sahibi olmak, kariyer olanaklarını araştırmak istiyorum diyorsanız aşağıdaki adrese bir göz atabilirsiniz. http://desktopengineertraining.com/windowsinstallertraining Bilgisayarımıza bir program yüklediğinizde bu işlemin en kolay biçimde gerçekleşmesini ve aynı zamanda bu programı kaldırmak ihtiyacı doğduğunda da kaldırma işleminin bilgisayarınızda hiç bir iz kalmayacak şekilde olmasını hepimiz isteriz. .msi olarak hazırlanmış programlarla bu mümkün ancak problem bu şekilde hazırlanmış programların azlığıdır. Böyle olunca iş (elimizde bulunan bir program için msi paketini hazırlamak) başa yani biz “IT’ci”lere düşmektedir. Msi paketini hazırlamak için kullanabileceğiniz pek çok program mevcut. Windows 2000 Server, Veritas yazılıma ait WinINSTALL programının kısıtlı versiyonunu içermektedir (\valueadd\3rdparty\mgmt\winstle\Swiadmle.msi). Bu makalede de bu programın 2003 sürümü kullanılmıştır. Yine de bir sistem uzmanı olarak aynı iş için kullanıbileceğiniz belli başlı programlar şunlardır. 1. InstallShield Adminstudio 2. CapaInstaller ezMSI 3. WinInstall 4. Wise Package Studio Mevcut olan daha pek çok program için şu adreslere gidebilirsiniz. http://www.installsite.org/pages/en/msi/admins.htm http://www.installsite.org/pages/en/msi/authoring.htm Lafı bu kadar uzattıktan sonra sadede gelelim isterseniz. Sözkonusu msi paketini hazırlamak için gerekli programınız var (WinInstall LE) peki ya sonra? WinInstall LE, msi hazırlamada snapshot yöntemini kullanır. Temiz (sadece işletim sistemi ve service pack yüklü) bir bilgisayarın discover uygulamasıyla fotoğrafı çekilir. Üzerindeki bütün ayarların, dosyaların, registry ve klasör yapısının bilgisi (before snapshot) alınır. Msi olarak hazırlanacak program bu bilgisayara yüklenir ve discover uygulamasıyla yükleme sonrası tekrar fotoğrafı çekilir (after snapshot). WinInstall LE bu iki snapshot’u karşılaştırarak msi paketini hazırlar.
3
Bunun için birbirinin kaynaklarına erişebilin minimum iki pc’ye ihtiyaç vardır. Msi paketi hazırlamak için kullanılacak bilgisayarın üzerinde hiç bir uygulamanın bulunmaması dosyanın sağlıklı hazırlanabilmesi için çok önemlidir. İki bilgisayarın da hazır olduğunu varsayarak bundan sonra yapılması gerekenleri dört aşamada özetleyebiliriz. 1.
WinInstall LE programının birinci bilgisayara yüklenmesi.
2.
İkinci yani temiz bilgisayardan birinci bilgisayardaki WinInstall LE programının yüklü olduğu klasöre erişilmesi ve discover uygulamasının başlatılarak before snapshot alınması. (WinInstall yüklü olan bir bilgisayar artık temiz bir bilgisayar değildir. Uygulamanın temiz bilgisayarda çalışması ancak networkten tetiklenmesiyle gerçekleştirilebilir)
3.
msi olarak hazırlanacak programın temiz bilgisayara yüklenmesi.
4.
Discover uygulamasının network üzerinden tekrar çalıştırılması ve after snapshot alınması ve sonuç olarak WinInstall LE’nin paketi hazırlamayı tamamlaması.
1. WinInstall LE Programının Yüklenmesi
Aşağıdaki resimlerde yükleme adımlarını görebilirsiniz.
Programın yüklenmesi için bir kaç bilginin doldurulması gerekmektedir.
4
Daha sonra sizden programı yükleme yöntemini seçmeniz istenecektir. Bu kısmı default olarak bırakıp next ile geçebilirsiniz.
Bir sonraki adımda sizden bir ağ paylaşımı göstermeniz istenecektir. Programı yüklediğiniz bilgisayarda hazırladığınız paylaşımı “\\bilgisayar adı\paymaştırılan klasör adı” şeklinde bu kutuya yazmalısınız.
5
Bundan sonra çıkacak pencerede Install tuşuna basmanız programın kurulması için yeterli olacaktır.
2. Before Snapshot
Discover sihirbazını (\\Programın yüklü olduğu Files\OnDemand\WinINSTALL\Disco32.exe) çalıştırdığınızda karşılayacaktır.
bilgisayar aşağıdaki
adı\Program pencere sizi
6
Before snapshot’u başlatmak için Next’i tıklayınız. Sizden msi olarak hazırlayacağınız programla ilgili isim ve yol bilgisi isteyen bir ekran gelecektir. Ben popüler karakter tanıma uygulamalarından Omnipage’i yüklemeyi seçtim. Henüz program ortada yok sadece işlemin sonunda hazırlanacak programın ön bilgisi sizden istenmektedir.
Aşağıdaki ekranda da WinInstall LE programının geçici dosyaları için kullanacağı sürücüyü seçmenizi isteyen ekran yer almaktadır. İstediğiniz bir sürücüyü tercih edebilirsiniz.
7
Bu pencerede ise discover uygulamasının snapshotını almasını istediğiniz sürücüleri soldaki pencereden sağdaki pencereye Add tuşuyla ekleyerek seçebilirsiniz. Benim temiz bilgisayarımda sadece bir sürücü olduğu için ben sadece C sürücüsünü ekledim.
Bir sonraki iki pencere bu snapshot sırasında göz ardı edilmesini (exclude) istediğiniz dosya tiplerini ve registry kayıtlarını içeren iki penceredir. Çok fazla bilginiz yoksa bu pencereleri de Next ile geçmenizi tavsiye ederim.
Bu işlemlerden sonra artık discover uygulaması temiz bilgisayarın yükleme öncesi fotoğrafını (before snapshot) çekmeye hazır. Bir sonraki pencerede Finish’e basarak bunu sağlayabiliriz.
8
3. Programın Yüklenmesi Before snapshot biter bitmez aşağıdaki pencereyle karşılaşırsınız. Sizden artık msi yapılacak programı yükleyebileceğinizi belirten bu pencerede OK tuşuna basarak uygulamanın yüklenmesini sağlayan setup.exe programının yerini belirtip o uygulamanın temiz bilgisayar kurulmasına geçebilirsiniz.
Yüklenecek program istediğiniz herhangi bir program olabileceğinden programın yüklenme adımları burada gösterilmemiştir. İstediğimiz programı yükledikten sonra artık son aşamaya geçebiliriz. 4. After Snapshot
9
Aynı birinci adımda yaptığımız gibi discover uygulamasını yine netwok üzerinden çalıştırıyoruz. Bu kez discover sihirbazı karşımıza değişik bir seçenekle çıkıyor. Önce before snapshot’un varlığından ve yüklediğimiz programın adından ve hatta path’inden haberdar olarak bize ne yapacağımızı soruyor. İlk kutuyu işaretleyerek Next’e basıyoruz.
Discover uygulaması bilgisayarda yapılan bütün değişiklikleri algılayarak yüklenmiş olan programı msi formatına dönüştürüyor ve bu dönüştürme sırasında meydana gelen hatalar var ise sizi uyarıyor hatta bu uyarı mesajını bir txt dosyası olarak sabit diskinize kaydetmenize bile olanak veriyor.
10
Her şey yolunda gittiğinde aşağıdaki mesajla karşılaşırsınız. Artık msi paketiniz hazır güle güle kullanın.
Hazırlanan msi paketlerinin bilgisayarlara deploy edilmesi veya kullanıcılara assign edilmesiyle ile ilgili merak ettikleriniz varsa aşağıdaki bağlantı size yardımcı olabilir. http://www.microsoft.com/windows2000/techinfo/planning/management/swinstall.asp msi paketi hazırlama ile ilgili yaklaşık bir saat süren bir sunum için aşağıdaki bağlantıyı ziyaret edebilirsiniz. http://archive.mshow.com/68237/ msi 101 dersini pdf dosyasıyla birlikte siteye kayıt olma karşılığında sağlayan link ise burada http://desktopengineertraining.com/msiintro Bu konuyla ilgili bazı başka kaynaklar da şunlardır. http://www.winntmag.com/Articles/Index.cfm?ArticleID=21190 http://www.winnetmag.com/Article/ArticleID/13917/13917.html http://www.microsoft.com/windows2000/en/advanced/help/default.asp?url=/windows2000/en/advance d/help/sag_WinInstall_Technology.htm?id=3991 http://support.microsoft.com/default.aspx?scid=kb;en-us;257718
11