View
110
Download
0
Category
Preview:
DESCRIPTION
ClickOnce ile Windows Uygulamalarının Dağıtılması. Atakan Kesler Yazılım Danışmanı Microsoft Regional Director atakan.kesler@bilgeadam.com b-akesle@microsoft.com. Gündem. ClickOnce Nedir? Publish Çevrimiçi ve Çevrimdışı Çalışma Çalışma Şekli Bootstrapper Manifesto Dosyaları Güvenlik - PowerPoint PPT Presentation
Citation preview
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
atakan.kesler@bilgeadam.comatakan.kesler@bilgeadam.com b-akesle@microsoft.comb-akesle@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
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
TEŞEKKÜRLER TEŞEKKÜRLER
atakan.kesler@bilgeadam.comatakan.kesler@bilgeadam.com
b-akesle@microsoft.comb-akesle@microsoft.com
Recommended