Makale Özeti

Makale serimin ilk kısmında clickonce teknolojisinin mantığından, ipuclarından ve nasıl kullanıldığından basitçe bahsetmiştim. İkinci kısımda ise alternatif bir publish yöntemini inceleyecek ve daha sonrasında örnek bir uygulamamızı deploy edeceğiz ve gelişmiş özellikleri inceleyeceğiz.

Makale

        Merhabalar,

        Makale serimin ilk kısmında clickonce teknolojisinin mantığından, ipuclarından ve nasıl kullanıldığından basitçe bahsetmiştim. İkinci kısımda ise alternatif bir publish yöntemini inceleyecek ve daha sonrasında örnek bir uygulamamızı deploy edeceğiz ve gelişmiş özellikleri inceleyeceğiz.

        Şimdi size uygulamalarınızı publish edebileceğiniz alternatif bir yöntemden bahsedeceğim. Uygulamamızı Publish ekranı yerine projemize sağ tıkladığımızda açılan Publish... menü öğesi ile veya yine Publish ekranında yeralan Publish Wizard... butonunu kullanarak da publish edebiliriz:



        Publish'e tıkladığımızda ilk olarak bize uygulamamızın dağıtımının yapılacağı web adresi, ftp adresi veya dosya yolunun girileceği ekran çıkar:




        Next'e basıp ilerlediğimizde ise uygulamanın biraz önce de belirttiğim gibi belirli bir lokasyona erişilerek mi (online) veya client bilgisayarlara kurularak mı (offline) çalışacağı seçilir:



        Son ekrana geldiğimizde ise artık uygulamamız publish edilmeye hazır hale gelir ve Finish butonuna tıkladığımızda publish edilir:




        Publish işlemi başladığında ClickOnce Belirttiğimiz Publish Location altına uygulamanın adını taşıyan yeni bir dizin oluşturur ve gerekli dosyaları bu konuma upload eder. Oluşturulan dosyalar aşağıda görüldüğü gibidir:



    .application uzantılı XML dosyalar uygulamanın ilgili versiyonunun indirileceği adresin bilgilerini tutar:

<description asmv2:publisher="BilgeAdam" asmv2:product="ClickOnceUygulama" xmlns="urn:schemas-microsoft-com:asm.v1" />
<deployment install="true" mapFileExtensions="true">
    <subscription>
        <update>
            <beforeApplicationStartup />
        </update>
    </subscription>
    <deploymentProvider codebase="http://isilo/ClickOnceUygulama/ClickOnceUygulama.application" />
</deployment>

        publish.htm dosyası uygulamanın ve uygulamayı kurmadan önce sistemde kurulu olması gereken bileşenlerin kurulumlarına ait linklerin olduğu sayfadır.

         setup.exe dosyası ise uygulamanın kurulum dosyasıdır.

        ClickOnceUygulama_1_0_0_0 klasöründe ve her versiyon artırımında versiyon numarasına göre isimlendirilip yeniden oluşacak olan bu klasörde ise uygulamanın ilgili versiyonunun dosyası ve application manifest dosyası bulunur.

        Uygulama upload edildikten sonra oluşturulan publish.htm sayfası otomatik olarak açılır:



        Sayfadaki Install butonuna basıldığında güvenlik uyarısı gelebilir. Install butonuna basıp devam ettiğimizde uygulama bilgisayarımıza kurulmuş olacaktır ve Start menüsü altından çalıştırılabilir.

        İkinci versiyonda ise uygulamamıza tıklandığında "Merhaba" şeklinde messagebox gösteren bir buton ekleyelim ve yeniden publish edelim. Uygulamamızı publish ettikten sonra ilk çalıştırmak istediğimizde aşağıdaki uyarı mesajı görüntülenir:



        Bu ekran uygulamamızın yeni versiyonunun yüklenmesi için onay verilmesi gereken ekrandır. OK butonuna basıldığında uygulamanın güncelleştirilmesi yapılır ve en son versiyon client'a kurulur:




    Proje özelliklerine tıkladığımızda açılan ekrandaki Signing sekmesi ile
uygulamamızı imzalamamız gerekir. Bu ekranda uygulamanın manifest dosyalarını imzalamak zorunludur, eğer istenirse assembly de imzalanabilir:



    Ekranın ilk kısmında yeralan Sign the ClickOnce manifests alanındaki üç buton yardımıyla uygulamamızı çeşitli şekillerde imzalayabiliriz. Select From Store butonu kullanıcının kayıtlı olan mevcut sertifikaları arasından bir tanesinin kullanılarak belirlenmiş bir süreye kadar (Expiration Date) uygulamanın imzalanmasını sağlar. Select From File mevcut bir .pfx dosyasını kullanarak uygulamanın imzalanmasını sağlar. Create Test Certificate butonu ise uygulamaya özel test amaçlı sertifika oluşturulmasını sağlar.
   
   
Bu makalemde uygulamalarımızın client'lara dağıtımlarının ClickOnce teknolojisi ile nasıl gerçekleştirilebileceğinden bahsettim. Makalemin üçüncü kısmında ise System.Deployment.Application namespace'i ile uygulamamızda ClickOnce kullanımını anlatacağım.

Işıl ORHANEL