clickonce ile windows uygulamalarının dağıtılması

26
ClickOnce ile Windows ClickOnce ile Windows Uygulamalarının Uygulamalarının Dağıtılması Dağıtılması Atakan Kesler Atakan Kesler Yazılım Danışmanı Yazılım Danışmanı Microsoft Regional Director Microsoft Regional Director [email protected] [email protected] [email protected] [email protected]

Upload: primo

Post on 19-Mar-2016

107 views

Category:

Documents


0 download

DESCRIPTION

ClickOnce ile Windows Uygulamalarının Dağıtılması. Atakan Kesler Yazılım Danışmanı Microsoft Regional Director [email protected] [email protected]. Gündem. ClickOnce Nedir? Publish Çevrimiçi ve Çevrimdışı Çalışma Çalışma Şekli Bootstrapper Manifesto Dosyaları Güvenlik - PowerPoint PPT Presentation

TRANSCRIPT

ClickOnce ile Windows ClickOnce ile Windows Uygulamalarının Uygulamalarının

Dağıtılması Dağıtılması Atakan KeslerAtakan KeslerYazılım DanışmanıYazılım DanışmanıMicrosoft Regional DirectorMicrosoft Regional Director

[email protected]@bilgeadam.com [email protected]@microsoft.com

GündemGündem

ClickOnce Nedir?ClickOnce Nedir? PublishPublish Çevrimiçi ve Çevrimdışı ÇalışmaÇevrimiçi ve Çevrimdışı Çalışma Çalışma ŞekliÇalışma Şekli BootstrapperBootstrapper Manifesto DosyalarıManifesto Dosyaları GüvenlikGüvenlik System.DeployementSystem.Deployement

ClickOnce Vizyonu

Windows uygulamalarının

kolay ve güvenli

bir şekilde web üzerinden dağıtılmasını

sağlamak.

ClickOnce ÖncesiClickOnce Öncesi Yazılan uygulamaları tüm makinaları tek tek yükleme Yazılan uygulamaları tüm makinaları tek tek yükleme

zorunluluğu.zorunluluğu.

Uygulamalarda yapılan güncellemelerde tüm programı kaldırıp Uygulamalarda yapılan güncellemelerde tüm programı kaldırıp tekrar yükleme zorunluluğu.tekrar yükleme zorunluluğu.

Güncellemelerin , uygulamalar tarafından algılanma eksikliği.Güncellemelerin , uygulamalar tarafından algılanma eksikliği.

Çalışan uygulamaların , yeni uygulamaların yüklenmesinden Çalışan uygulamaların , yeni uygulamaların yüklenmesinden sonra çalışmama durumu (DLL çakışması)sonra çalışmama durumu (DLL çakışması)

Programların yüklenmesi sırasında kullanıcının “admin” Programların yüklenmesi sırasında kullanıcının “admin” hakkına sahip olma zorunluluğu.hakkına sahip olma zorunluluğu.

Uygulamaların çevrimiçi yada çevrimdışı çalışmaya zorlanması . Uygulamaların çevrimiçi yada çevrimdışı çalışmaya zorlanması .

Geliştirme DeneyimiGeliştirme Deneyimi

• Bütünleşik VS desteği– Ana proje ile bütünleşik

• Yayınlama Sihirbazı(Publish Wizard)– Uygulamayı web sunucusuna kopyalar– FTP, UNC, FrontPage Server Extensions

Çalıştırma SeçenekleriÇalıştırma Seçenekleri

Web – URL yada UNC adresiWeb – URL yada UNC adresi

Network – Dosya PaylaşımıNetwork – Dosya Paylaşımı

CD yada DVD’den CD yada DVD’den

Click Once ‘ın Çalışma Şekli

•Online çalışma ve özellikleri

•Offline ve online çalışma ve özellikleri

MSI & Web WebWeb ClickClick

OnceOnceMSI MSI ClientClient

Etki alanıEtki alanı YYMüdahalesiz yüklemeMüdahalesiz yükleme YY YYDüşük Sistem EtkisiDüşük Sistem Etkisi YY YYKullanıcı bazlı yükleme ve kullanmaKullanıcı bazlı yükleme ve kullanma YY YYZengin arayüzZengin arayüz YY YYÇevrimdışı çalışmaÇevrimdışı çalışma YY YYWindows Shell Windows Shell bütünleşmesibütünleşmesi YY YYMakina bazlı / paylaştırılmış Makina bazlı / paylaştırılmış komponentkomponent

YY

Kısıtlamasız kurulumKısıtlamasız kurulum YY

Yükleme Zamanı DestekClickOnce “Whidbey”

ClickOnce “Longhorn”

MSI

Düşük Etki Yes Yes No*Uygulama Dosyaları Yes Yes YesBaşlangıç Menusu Yes Yes YesRegFree COM (XP) Yes Yes YesDosya Uzantıları Yes YesKabuk Uzantıları Yes YesYönetilmiş Config Yes YesPaylaştırılmış bileşen YesÖzelleştirilmiş aksiyonlar Yes

Smart Client YüklemesiYüklemeYükleme

AzAzYönetilebilenYönetilebilen

Çok Çok YönetilebilenYönetilebilen

ClickOnceClickOnceDüşükDüşük

EtkiEtki

KontrolKontrol

ServisServis

Grup PoliçesiGrup Poliçesi

SMSSMS

ClickOnceClickOnce

Microsoft Microsoft Installer Installer (MSI)(MSI)

VS Bootstrapper

• Öncelikli ihtiyaçların yüklenmesi– Örnek (.NET FX, Crystal, DirectX, MDAC)– Bootstrapper çalıştırabilmek için admin olmak gerekir– Genişletilebilir.

• İhtiyaçlardan sonra click once uygulamasının yüklenmesi– Otomatik güncellemeler için click once kullanımı – Öncelikli bileşenler için otomatik güncelleme yapılamaz

• .NET FX V1.1 Bootstrapper şu anda mevcut

ClickOnce Temelleri

Setup.exeSetup.exe

Dotnetfx.exeDotnetfx.exe

Web ServerWeb Server

Mdac_typ.exeMdac_typ.exe

Foo.msiFoo.msi

Bar.applicationBar.application RebootReboot

Client PCClient PCDotnetfx.exeDotnetfx.exe

Foo.msiFoo.msi

Bar.applicationBar.application MDAC detected!MDAC detected!

Setup.exeSetup.exe

Açıklamalı Yükleme• Uygulama manifestosuUygulama manifestosu

– Uygulamayı tarif eder.Uygulamayı tarif eder.– Örn : Uygulamayı hangi bileşenler Örn : Uygulamayı hangi bileşenler oluşturur.oluşturur.– Program geliştirici tarafındanProgram geliştirici tarafından oluşturulur.oluşturulur.

• YüklemeYükleme mmanifestanifestosuosu

– Uygulamanın yüklenmesini tarif eder.Uygulamanın yüklenmesini tarif eder.– Örn : Hangi versiyon makinada çalışmalıÖrn : Hangi versiyon makinada çalışmalı– Administrator tarafından oluşturulur.Administrator tarafından oluşturulur.

Programın Web Üzerinden Çalıştırılması ve Güncellenmesi

Deployment Manifest

1.0Application Manifest

1.0

Web Page w/ Link to Manifest Application

Manifest

1.1

Assembly List…

1.1

Assembly List…

Güncellemeleri BloklamaGüncellemeleri Bloklama

<subscription><subscription> <update><update> <beforeApplicationStartup /><beforeApplicationStartup /> </update></update></subscription></subscription>

Uygulamaların güncellenmesi uygulama.application dosyasında Uygulamaların güncellenmesi uygulama.application dosyasında subscription dosyası uzaklaştırılarak engellenir.subscription dosyası uzaklaştırılarak engellenir.

Güvenlik

ClickOnce Uygulamaları kodları imzalamak için “Authenticode Certificate” kullanır.

– MakeCert.exe (default - High Trust) – Unknown Publisher– Certificate Authority

Geliştirilmiş güvenlik– “Longhorn” > “Whidbey” > .NET V1.1

VS yardımcı araçları

– Debug in Zone– PermissionCalc– Security Exception Helper

Güvenlik : KısıtlamalarGüvenlik : Kısıtlamalar

• Bazı uygulamalar daha fazla izne ihtiyaç duyar.

– Yönetilmeyen kod erişimi• Excel’e yada diğer ofis programlarına transfer

– Kısıtlanmamış dosya erişimi

– Kısıtlanmamış network erişimi

Kullanıcı İzinleri Detayları Uygulama gerekli izinleri isterUygulama gerekli izinleri ister

– Uygulama manifest’inde istekler belirtilir.– VS olması gerekli izinlere karar verir.

Soru iletisi kolay ve binary formdaSoru iletisi kolay ve binary formda– İlk yüklemede yada ilk çalıştırmada görünür.– Birleştirilmiş Install & Trust Prompt

• Soru iletisi :– Yönetici soru iletisinin çıkmasına yada çıkmamasına Yönetici soru iletisinin çıkmasına yada çıkmamasına

karar verir.karar verir.

Güvenlik EklemesiGüvenlik Eklemesi

Manifest Dosyasına :Manifest Dosyasına :

<IPermission class="System.Data.SqlClient.SqlClientPermission, System.Data, Version=1.2.30703.27, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/>

ClickOnce Güvenliği

•Uygulamanın geri dönmesi

•Tekrar update edilmemesi

•Click Once Güvenliği (Local Intranet)

•Permission Calculator

System.Deployment

Mevcut durumdaki versiyonun alınması.

Güncellemeler için sunucunun senkron ve asenkron kontrolü.

Uygulamanın güncellenmesi.

Güncellenmenin incelenmesi ve olaylara cevap üretilmesi.

System.Deployment Güncelleme Desteği

– Ne zaman ve nasıl destek olacağına karar verir.– CheckForUpdate(), Update()

İhtiyaç halinde destek

– İhtiyaç halinde dosya yüklenmesi– İlk yükleme sırasında gerekli dosyaların yüklenmesi– İhtiyaç halinde indirilecek dosyaların API aracılığıyla

tetiklenmesini sağlar.– Assembly.LoadFrom()’un yerine geçer

System.Deployment

TEŞEKKÜRLER TEŞEKKÜRLER

[email protected]@bilgeadam.com

[email protected]@microsoft.com