Top Banner
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]
26

ClickOnce ile Windows Uygulamalarının Dağıtılması

Mar 19, 2016

Download

Documents

Primo

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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ClickOnce ile Windows Uygulamalarının Dağıtılması

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

Page 2: ClickOnce ile Windows Uygulamalarının Dağıtılması

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

Page 3: ClickOnce ile Windows Uygulamalarının Dağıtılması

ClickOnce Vizyonu

Windows uygulamalarının

kolay ve güvenli

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

sağlamak.

Page 4: ClickOnce ile Windows Uygulamalarının Dağıtılması

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ı .

Page 5: ClickOnce ile Windows Uygulamalarının Dağıtılması

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

Page 6: ClickOnce ile Windows Uygulamalarının Dağıtılması

Ç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

Page 7: ClickOnce ile Windows Uygulamalarının Dağıtılması

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

Page 8: ClickOnce ile Windows Uygulamalarının Dağıtılması

•Online çalışma ve özellikleri

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

Page 9: ClickOnce ile Windows Uygulamalarının Dağıtılması

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

Page 10: ClickOnce ile Windows Uygulamalarının Dağıtılması

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

Page 11: ClickOnce ile Windows Uygulamalarının Dağıtılması

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)

Page 12: ClickOnce ile Windows Uygulamalarının Dağıtılması

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

Page 13: ClickOnce ile Windows Uygulamalarının Dağıtılması

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

Page 14: ClickOnce ile Windows Uygulamalarının Dağıtılması

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.

Page 15: ClickOnce ile Windows Uygulamalarının Dağıtılması

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…

Page 16: ClickOnce ile Windows Uygulamalarının Dağıtılması

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.

Page 17: ClickOnce ile Windows Uygulamalarının Dağıtılması

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

Page 18: ClickOnce ile Windows Uygulamalarının Dağıtılması

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

Page 19: ClickOnce ile Windows Uygulamalarının Dağıtılması

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.

Page 20: ClickOnce ile Windows Uygulamalarının Dağıtılması

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"/>

Page 21: ClickOnce ile Windows Uygulamalarının Dağıtılması

ClickOnce Güvenliği

•Uygulamanın geri dönmesi

•Tekrar update edilmemesi

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

•Permission Calculator

Page 22: ClickOnce ile Windows Uygulamalarının Dağıtılması

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.

Page 23: ClickOnce ile Windows Uygulamalarının Dağıtılması

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

Page 24: ClickOnce ile Windows Uygulamalarının Dağıtılması

System.Deployment

Page 25: ClickOnce ile Windows Uygulamalarının Dağıtılması

TEŞEKKÜRLER TEŞEKKÜRLER

[email protected]@bilgeadam.com

[email protected]@microsoft.com

Page 26: ClickOnce ile Windows Uygulamalarının Dağıtılması