Makale Özeti

.NET ile uygulama dağıtımı

Makale

Uygulamanın Dağıtımını Yapmak - 2

Dağıtım Projesinin Ayarları

 

Dağıtım Özellikleri

Windows Installer dağıtım projeleri isteğinize göre düzenlemeler yapmanıza izin verir. Kopyalacanak dosyaların nerelere kopyalanacağı, dosya uzantılarının ilişkilendirilmesi, gibi eylemlerin gerçekleştirilmesini sağlar.

 

Dağıtım projesi proje hakkında bazı düzenlemeler yapmak için Properties penceresini kullanabilirsiniz. Properties penceresinden değiştirilebilecek ayarlar şunlardır.

 

AddRemoveProgramsIcon : Program Ekle Kaldır diyalog kutusunda gözükecek program sembolünü belirler.

Author: Programın yazarı hakkında bilgileri içerir.

Description: Program ile ilgili açıklama metni içerir.

Keywords: Uygulama ile ilgili anahtar kelimeler içerir.

Localization:  Dağıtım uygulaması arabiriminin dili seçilir.

Manufacturer: Uygulamanın üreticisi yazılır. Uygulamanın varsayılan kurulum adresi program files  klasörü içinde Manufacturer değerdir.

ManufacturerURL: Üretici firmanın web sayfasının adresi girilmelidir. Program Ekle Kaldır diyalog kutusunda destek bilgisi bölümünde görüntülenen özelliklerdendir.

ProdcutName: Kurulacak olan projenin ismi seçilir.

Subject: Dağıtım projesinin konu bilgisini içerir.

SupportPhone: Destek bilgisi bölümünde görüntülenir. Destek telefon numarası yazılmalıdır.

SupportURL: Destek bilgisi bölümünde görüntülenir. Destek web adresi yazılmalıdır.

Title:Uygulamanın başlığı içerir.

DetectNewerInstall: Uygulamanın daha yeni bir versiyonu olup olmadığına bakar eğer var ise kurulumu sonlandırır.

RemovePreviousVersion: Programın önceki bir versiyonu var ise onu kaldrır.

Version: DetectNewerInstall ve RemovePreviousVersion özellikleri bu değere bakarak işlem yaparlar.

 

ProductCode ve UpgradeCode özellikleri uygulamanın sisteme kurulması aşamasında uygullamanın sistemdeki tanımlayıcı özelliğii olurlar. Elle düzenlenmemesi gerekir. Kodu değiştirmek için New Code düğmesi kullanılmalıdır.

 

 

Kurulum Editörleri

 

Visual Studio.NET altı adet kurulum editörüne sahiptir.

 

Bunlar:

 

File System Editor

Kurulum dosyalarının fiziksel olarak konumlandırılmalarının yapıldığı editördür.

Registry Editor

Windows Kayıt Sistemine (Registry) yeni ekletiler yapılmasını sağlar.

File Types Editor

Dosya uzantısı tanımlayıp, uygulamamız ile ilişkilendirmemizi sağlar.

User Interface Editor

Kullanıcı arabirimi yönetimi ile ilgili işler yapmamızı sağlar.

Custom Actions Editor

Kurulum sırasında yapılacak özel eylemler tanımlanır.

Launch Conditions Editor

Kurulum başlaması için koşullar belirlenmesini saplar.

 

File System Editor

 

Bu editör ile hedef bilgisayarda dosyaların hangi konumlara konulacağı belirlenir. Dosyaların bir çok klasöre çıktı yapmasını sağlayabilirsiniz. Yeni klasörler oluşturabilirsiniz. Kısayollar oluşturabilirsiniz.

 

Dağıtım projesinin üzerine sağ tıklayıp gelen menüden View>File System menü seçeneğini seçerek File System Editor’e ulaşabilirsiniz.

 

File System Editor’un sağ tarafında yer alan liste ile programın çıktı alabileceği özel klasörler tanımlıdır. Sağ tarafta ise seçili olan klasör içerisinde yer alacak olan dosyalar listelenir.

 

Proje oluşturulduğunda File System Editor sadece üç adet özel klasör listeler.

Bunlar Application Folder (uygulamanın klasörü), User’s Desktop (masaüstü), User’s Program Menu (programlar menüsü) klasörleridir.

 

File System Editor sol tarafına başka özel klasörler ekleyebilirsiniz bunun için sol taraftaki  File System On Target Machine ana düğümüne sağ tıklayın  Add Special Folder menü seçeneği altından istediğiniz özel klasörü sol tarafa ekleyin.

 

Sol tarafta listelenen klasörler yeni dosyalar eklemek için istenilen klasör seçildikten sonra sağ tarafta boş bir yere sağ tıklayıp Add menü seçeneği altındaki Folder ( yeni bir klasör), Project Output (projenin çıktısı),  File (diskteki herhangi bir dosya), Assembly (sistem üzerindeki bir assembly)  seçeneklerinden herhangi birisi ile yeni bir dosya ekleyebilirsiniz.

Registry Editor

Registry (Windows Kayıt Defteri) içerisine yeni girişler yapmak için bu editör kullanılır.Var olan registry değerleri, değiştirilebileceği gibi yeni kayıtlar eklenebilir.

File System Editor gibi Registry Editor de iki parçaya bölünmüştür. Sol tarafta hedef bilgisayardaki registry kayıtlarının kök düğümlerini listeler. Sağ tarafta ise istenilen yeni kayıtlar oluşturulur ve listelenir.

Yeni bir registry düğümü oluşturmak için:

Sağ tarafta istenilen kök düğümün üzerine gelip üzerine sağ tıklayın açılan menüden New Key menü seçeneğini seçin. Oluşturulan düğüme bir isim verin. Oluşan düğümün üzerine sağ tıklayıp Properties menü seçeneğini seçin açılan Properties penceresinde AlwaysCreate seçeneğinin mutlaka oluşturulup oluşturulmayacağını belirler. DeleteAtUnInstall ise uygulama kaldırılırken silinip silinmeyeceğini belirler.

 

Yeni bir registry kaydı oluşturmak için:

Sol taraftan istenilen registry düğümü seçildikten sonra sağ tarafta boş bir yere sağ tıklayın, New menü seçeneği altından uygun registyr anahtarı tipini seçin metin içerecek olan bir anahtar için String Value değeri seçilmelidir. Yeni ahantara uygun ismi verdikten sonra üzerine sağ tıklayıp Properties menü seçeneğini seçerek Properties pencresini açın buradan Value özelliğine istenilen değeri giriniz

File Types Editor

File Types Editor’ü  hedef bilgisayarda uygulamamız ile ilişkili dosya uzantıları tanımlamamızı sağlar.

 

Örneğin .doc uzantılı dosyalar Word programı ile ilişkilidir. .doc uzantılı bir dosyaya çift tıkladığınız zaman Word programı açılır.

 

Eğer uygulamanızın böyle bir gereksinime ihtiyacı var ise bu editorü kullanmalısınız

Yeni bir dosya uzantısı ilişkisi oluşturmak için :

Dağıtım projesinin üzerine sağ tıklayın ve View>File Types menü seçeneğini seçerek editörü açın. Buradan File Types On Target Machine düğümüne sağ tıklayın ve Add File Type menü seçeneğini seçin.

 

Oluşturulan yeni dosya türünün ayarlarını Properties penceresi aracılığı ile yapabilirsiniz. Oluşturulan Dosya türü için Open isminde varsayılan bir komut tanımlanmıştır. Yeni komutlar ekleyebilirsiniz. Bu komutlar dosyaya sağ tıklandığı zaman açılan menüde listelenir.

 

Oluşturulan dosya türü düğümü seçilerek Properties penceresinden Command özelliği tanımlanmalıdır. Bu özellik dağıtım projesini çıktısını verdiği uygulama dosya veya dosyalarımızdan birisi olmalıdır.  Name özelliği ile uzantıya ait bir isim verilir.

 

Extensions ile dosya uzantısı tanımlanır. Birden fazla dosya uzantısı için aynı tanımlamayı yapmak için uzantıları noktalı virgül ile ayırabilirsiniz. Uzantıların . ile başlaması zorunlu değildir

 

İlişkilendirilen dosyayı açmak için örnek kod parçası:

 

Public Class Form1
    Inherits System.Windows.Forms.Form

    Windows Form Designer generated code

    Shared Sub Main(ByVal args() As String)

        Dim frm As New Form1

        If Not args.Length = 0 Then

            frm.DosyayiAc(args(0))

        End If

        Application.Run(frm)

    End Sub

    Public Sub DosyayiAc(ByVal dosyaadi As String)

        Me.Text = dosyaadi

    End Sub

End Class

 

 

User Interface Editor

 

User Interface Editor kurulum programının görselliğini düzenleyebilmenizi sağlar.

 

Kurulum üç bölüme ayrılmıştır. Start, Progress, End.

 

Start bölümünde kurulum yapılacak klasör belirlenir, Windows Installer kullanıcı bilgisayarı hakkında bilgiler toplar boş disk alanına bakar. Yeterli alan yoksa kurulumu bitirir.

 

Progress aşamasında uygualam kurulumu gerçekleştirilir. Normal bu aşamada herhangi bir kullancı etkileşimi yoktur. Bu aşamada sadece bir diyalog kutusu gözükür ve ilerleme durumunu bildirir.

 

End aşamasında uygulama kurulumu bitmiştir. Bu aşama kullanıcıya sonucu bildirmek için kullanılan bir diyalog kutusu içerir.

 

Properties penceresi ile her diyalog kutusunun özelliklerini düzenleyebilirsiniz. Kurulum sırasına yukarıda görüntülenen resimi değiştirmek için BannerBitmap özelliği kullanılır.

Welcome diaylog kutusunun özellikleri içerisinden açılışta görüntülenen mesaj düzenlenebilir.

 

Administrative Kurulum ve Normal Kurulum

 

Administrative kurulum ve normal kurulum birbirinden farklı diayalog kutuları içerebilirler. Örneğin normal kurulumda kullanıcıların kurulum klasörü seçememesini fakat Administrative kurulumda kurulum klasörü seçilmesini istiyorsanız. Install bölümündeki Installation Folder diyalog kutusunu silmelisiniz.

 

Not: Bir uygulamayı Administrative modda açmak için msiexec.exe /A <setup>.msi komutu kullanılmalıdır.

 

 

Diyalog Kutusu Eklemek

 

Kurulum sırasındaa farklı uyarlanmış diyalog kutuları elde edebilirsiniz. Bu diyalog kutuları checkbox, radio button veya textbox içerebilirler. Diyalog kutularının özelliklerini Properties penceresinden düzenleyebilirsiniz.

BannerBitmap: Diyalog kutusunun üstünde görüntülenen resim dosyası.

BannerText: Diyalog kutusunun üstünde görüntülenen metin.

BodyText: Diyalog kutusunun içinde görüntülenen metin.

 

Örneğin; 2 tane RadioButton içeren bir diyalog kutusunu eklemek istersek, istenilen düğüm içindeki istenilen aşamaya sağ tıklayıp Add Dialog menü seçeneğini seçmeliyiz. Açılan Add Dialog diyalog kutusundan RadioButtons (2 Buttons) seçeneğini seçelim. Diğer seçeneklerin her birinin üzerine gelinildiğinden açıklaması aşağıda gözükmektedir.

 

Bu diyalog kutusu artı olarak şu özellikleri bulundurur: Button1Label, Button2Label, Button1Value, Button2Value, DefaultValue, ButtonProperty.

 

Button1Label ve Button2Label ile diyalog kutusunda radio button kontrolünün yanında gözükecek metin belirlenir. Button1Value ve Button2Value ile radio button kontrollerinin değerleri belirlenir. DefaultValue ise hangisinin varsayılan olarak seçili olduğunu belirler.

 

 

ButtonProperty değeri bir string değer taşır ve kurulum programının buton grubunun değerini alması için kullanılır. Bu özellik bir sonraki konuda incelenecek olan Custom Launch Conditions oluştururken kullanılacaktır.

Örneğin ButtonProperty değeri BTNKABUL ise ve oluşturduğunuz launch conditions içerisinde bu buton grubunun değerine ihtiyacınız var ise BTNKABUL değeri ile seçili olan radio button kontrolünün değeri gelir. Eğer birinci buton seçili ise Button1Value değerini dönecektir.

 

Custom Actions Editor

 

Custom Actions (özel eylemler) gelişmiş bir kurulum teknolojisidir.

Bueditor ile kurlum sırasında çalıştırılacak olan kod tanımlanır. Custom Action için tanımlanan kod bir kurulum sınıfı içinde olmak zorundadır.

Custom Action tanımlamak için dör ader olay kullanılır.

Install : Kurulum dosyları kopyalandıktan sonra kurulum commit edilmeden önce çalışır.

Commit: Kurulum commit edildikten sonra çalışır.

Rollback: Kurulum herhangi bir sebepden dolayı kesildikten ve işlemler geri alındıktan sonra çalışır.

UnInstall: Uygulama sistemden kaldırılırken çalışır.

Herhangi bir çalıştırılabilir kod parçası custom action olarak çalıştırılabilir. İstenilen olayın üzerine sağ tıklandıktan sonra açılan menüden Add Custom Action menü seçeneği seçilir, sonraki adımda Select Item In Project diyalog kutusu açılır, bu diyalog kutusu ile proje içerisindeki bir öğe seçilir. Artık yeni bir custom action oluşturduk.

 

Properties penceresi ile aşağıdaki custom action özelliklerini düzenleyebilirsiniz.

 

Name: Bu özellik ile custom action için isim tanımlanır.

Arguments: Custom action olarak tanımlanan dosya bir .exe olduğu zaman , verilecek olan parametre tanımlanır.

Condition: Custom action in çalışmasını belirlemek için Boolean türünde değer dönen bir ifade girilmelidir. Eğer bu ifade true dönerse custom action çalışır aksi halde çalışmaz.

CustomActionData: Custom action için gerekli olan ekstra veriyi verir

EntryPoint: Custom action için çalıştırılacak olan metodun ismini belirler. Bu custom action olarak DLL dosyası verildiğinde işe yarar. Eğer bpi ise içinde bulunduğu olayın isminde bir metodu çalıştırmayı deneyecektir. Örneğin Commit.

InstallerClass: Boolean bir değer içerir. Custom action in Installer sınıfı içerisinde sunulup sunulmadığını belirler.

SourcePath: Custom Action olarak tanımlanan dosyanın sizin (programcı) bilgisayarındaki fiziksel yolunu verir. Sadece okunabilirdir.
 

Launch Conditions Editor

 

Launch Conditions Editor’ünü kurulum başlamadan önce sınanacak ve eğer doğrulanırsa kurulumun devam edeceği koşullar tanımlamak için kullanırsınız.

 

Örneğin Windows işletim sisteminin uygun sürümünün olup olmadığına bakabilirsiniz.

 

Hedef bilgisayarda dosyaların, registry anahtarlarının veya window installer bileşenlerinin olup olmadığına bakabilirsiniz.

 

Launch Conditions Editor penceresi iki parçaya bölünmüştür. Search Target Machine düğümü ile hedef bilgisayarda bahsedilen dosya, registry anahtarı veya windows installer bileşenlerinin kontrolü yapılabilir.

 

Eğer istenilen koşullar karşılanıyorsa kurulum normal olarak devam eder. Aksi halde kurulum iptal olur.

 

Koşul Oluşturmak

 

Search Target Machine düğümünden aram işlemi yaptırabilirsiniz.

 

File seçeneği ile dosya araması yapabilirsiniz.

Registry ile registry araması yapabilirisiniz,

Windows Installer ile hedef bilgisayarda Windows Installer bileşenlerini aratabilirsiniz.

 

Search Target Machine düğümüne sağ tıklatyın açılan menüden yapmak istediğiniz aramaya uygun olan menü seçeneğini seçin. Properties pencressinden koşulunuzun ayarlarını yapın.

 

Name özelliği ile koşul için bir isim belirlenir.

Condition özelliği ile istenilen koşul belirlenir.

Message ile koşul sağlanmaz ise görüntülenecek olan mesaj belirlenir.

Cengiz HAN
cengizh@yazgelistir.com