Bu siteye giriş yaparak Çerez kullanımını kabul etmiş oluyorsunuz. İşbu sitede; çerez olarak, sadece son giriş tarihiniz ve eğer üye olursanız oturum statünüz tutulacaktır. Bunlar dışında başka hiçbir bilgi tutulmamaktadır. Çerezler için detaylı bilgi için buraya tıklayınız.
ANLADIM

DUYURULAR

Yeni eklenen ve/veya güncellenen sayfaları görmek için buraya tıklayınız.

Güncel ödev ve test listesini görmek için buraya tıklayınız.

Sitede yapılan iyileştirmeAer ve hata düzeltmelerine ait tüm bilgilendirmeleri görmek içinburaya tıklayınız.

Baş
Udemy
Konular
Son
Konular
ClickOncedeployment
ProjeyiYayinlama
VSTO
VSTO Projeyi Yayınlama 1

ClickOnce Deployment

Uzun uğraşlar sonrasında add-in'imiz bitti ve kullanıma hazır. Başka kişilerin VSTO add-in'inizi kullanmaya başlaması için iki yol var.

  • ClickOnce Deployment
  • MSI Installer(Windows Installer)

Biz burada ilkini göreceğiz, ikincisini de bir sonraki sayfada. Farkları şöyle:

  • ClickOnce, bir bilgisayarda birden fazla kullanıcı çalışıyorsa sadece geçerli kullanıcının hesabına kurulum yapar, diğer kişiler de kullanacaksa onlar da tek tek kurmalıdır. MSI Installer ise herkesin hesabına kurmuş olur.
  • ClickOnce kurulumu basit bir arayüze sahiptir, profesyonel bir program görüntüsü vermez. Üstelik ara stepler bulunmaz. MSI Installer ise bunları yapar.
  • Projenizde güncelleme yaptığınızda ClickOnce ile kuranlar bu güncelleştirmeleri otomatik alırlar. Sizin tekrardan bi setup dosyası göndermenize gerek olmaz. MSI'la kuranlar ise her yeni güncelleme sonunda yeni kurulum yapmak durumundalar.

Kurulum yaptığınızda setup dosyaları Registry'nizde kayıt oluşturur. Bu teknik bir detay olup ilgilenenler buraya bakabilir.

Şimdi kurulum aşamalarına geçelim.

Kurulum aşamaları

ClickOnce deployment ile ilgili ana referans dokümanımız şurada olup ben size bu sayfada özetini vermeye çalışacağım.

  • İlk olarak projemizin configuration tipi Debug'tayken Build menüsünde Clean yapalım. Böylece registry kayıtlarını silelim ki çakışma problemleri yaşamayalım. Şuan mesela Registry'de HKEY_CURRENT_USER>Software>Microsoft>office altındaki görüntü şöyle: registry1

    Ancak 2 tanesini Clean ettikten sonra baktığımda şöyle:

    registry1
  • Şimdi ikinci olarak configuration tipini Debug'dan Release'e alalım ve projemizi build edelim. Şimdiye kadar farkettiğiniz üzere projemizi parça parça oluşturup denemeler yaparken F5 tuşuna bastığında, yani Debug modda çalıştırdığımızda projemizin alt tarafta build edildiğini görmüşsünüzdür. Ve aslında bu tüm .Net projelerindeki sürecin aynısıdır. Çok kritik değil ancak gerek genel kültür gerek bir sorun yaşamanız durumunda Build süreci hakkında detay bilgi almak adına buraya bakabilirsiniz. Açılan linkte ve altındaki linklerde çok detaylı bilgiler edinebilirsiniz. Office programlarına özel olarak build işlemleri için de buraya bakabilirsiniz
  • Solution Explorer'da Properties'e(VB.Net'te MyProject) çift tıklayın ve proje pencerenizde Publish sekmesine gelin
  • Açılan yerde Publish Folder Location'da, kurulum dosyaları nereye kopyalanacaksa orayı seçin. Bi altındaki Installation Folder kısmı genelde boş bırakırız, böylece kullanıcılar da yine publish edilen folderdan kurmaya çalışır. Tabi siz buraya kurumunuzdaki herkesin erişeceği ortak alanı(Ör:\\M00002\\OrtakFolder\) seçmelisiniz. Veyahut, bir web alanı da girebilirsiniz.(Türçke karakter olmamalı)

publish

  • Prerequisites seçimleri defaulttaki gibi kalsın
  • Updates butonunudan, kullanıcıların kurulum paketleri ne sıklıkta yeni versiyon arasın, onu seçiyoruz
  • Options'dan da projenizle ilgili genel bilgileri girebiliyorsunuz

Son olarak Publish Now diyoruz. Publish Version alanında yazan numaralar projenizin versiyon numarasını takip etmek için kullanılır. Sonuncusu her publish sırasında otomatik olarak 1 artar. Diğerlerini siz manuel değiştirebilirsiniz. Bunların ne anlama geldiğinde google’da arayabilirsiniz.

Bu arada olur da kodunuzun bir yerinde add-in'inizin versiyonunu göstermek isterseniz aşağıdaki kod ile gösterebilirsiniz. Bunu yazabilmek için System.Deployment namespace'ini reference olarak eklemelisiniz.

using System.Deployment.Application;
this.label1.Label = ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString(4);

Ama bu kod, debug modda değil, release modda kurulum yaptıktan sonra çalışır.

Kurulum

Kurulum dosyanız hazır ve kullanıcılarınıza bunu dağıttıktan sonra sadece setup.exe'yi çalıştırmaları yeterli. Kendi PC'nizde denerken herhangi bir sorunla karşılaşmazsınız, direkt aşağıdaki gibi bir pencere çıkacak, Install diyeceksiniz, o kadar. (Sonraki deneme yanılmalarınızda sorun yaşamanız ise muhtemel. Böyle bir durumda, projeyi Clean etmeyi ve/veya Control Panelden kurulmuş programınızı kaldırmayı deneyebilirsiniz.)

setup

Ancak diğer kullanıcılarda sorun çıkabilir. Excelent add-in'imde benim yaptığım gibi siz de ücretli sertifika almadıysanız https://www.excelinefendisi.com/Excelent/Download.aspx sayfasında belirttiğim adımların işletilmesi gerekmektedir.

Kurulum yapıldıktan sonra Registry'de ayrıca VSTA folder'ı altında bir de bunu application olarak görürüz. 

registry

Sadece orada değil, aynı zamanda Control Panel>Programs altına da gelir. Zira artık bu bilgisayarımıza kurulmuş bi programdır. Bunu kaldırmak tıpkı normal programları kaldırmak gibidir. Yani Developer menüsünde COM add-ins altından check işaretin kaldırmak yetmez, o sadece "Excel'de yüklenmesini istemiyorum" demektir ama PC'nizde hala yüklüdür. Komple kaldırmak için Control Panelden işlem yaparız.

programfiles

Şimdi bu arada fark ettiyseniz, VSTOWorkbook çalışmamız da burda bir program gibi görünüyor. Evet, o da publish edildiği için bir program olarak görünecektir. Bunlarla ilgili işlemler de aşağı yukarı aynı olup ilave yapılması gerekenler için ClickOnce linkinden bilgi alabilirsiniz.

Performans

VSTO Add-in'lerin performanısını iyileştirme konusundaki şurada ClickOnce yerine Windows Installer kullanılmasının bazı aşamların pypass edilmesi nedeniyle daha hızlı olduğu söylenmekte. Burda karar size kalmış, diğer performans artırıcı yöntemleri denediğiniz halde hala performans sorunu yaşıyorsanız sizi sonraki sayfaya alalım.

TEST SORULARI

Son Sorumuz şuymuş:Bir metindeki tüm noktaları yoketmek istiyorsunuz. Hangi fonksiyonu kullanırdınız?
Soru:

A şıkkı:

B şıkkı:

C şıkkı:

D şıkkı:

Doğru Cevap Etiketler

İlişkili konuyu seç

332175

Label
* Sorulara verilen yanlış cevaplardaki esprili yorumlarım için hoşgörünüze sığınıyorum.
* Test ve Ödevlerdeki bazı detaylar burada anlatılmamış olabilir. Bunları kendiniz araştırıp bulmalısınız.
* Birden çok konuya ait içeriği olan ödevler var. Algoritmik açıdan bakıldığında o an en uygun konuya adreslenmiştir.
Dikkat! Bir soruya cevap verdikten sonra geri dönemezsiniz.
0
0
0
0

SoruID:... Şu an için bu konu için soru bulunmamaktadır. İletişim menüsünden örnek sorularınızı bana iletebilirsiniz.




ÖDEVLER

0
0
ÖdevNo:... Şu an için bu konu için ödev bulunmamaktadır. İletişim menüsünden örnek ödev sorularını bana iletebilirsin.
Çözüme bakın(Başka türlü de çözülebilir tabi, bu benim çözümüm.)




=YORUMLAR ve SORULAR=


DEVİR UYARISI

Herkese merhaba. Hosting maliyetlerinin aşırı artması yüzünden sitemi yakın zamanda(en geç Mayıs 2023) kapatmaya karar vermiştim. Ancak, siteyi yakından takip eden bir arkadaş siteyi devralmak istemiştir. Siteyi, Mayıs ayında kendisine devir etmeye karar verdim. Üyelik bilgilerini bana güvenerek girdiğiniz için, hepsini silmiş bulunuyorum, yani mail adreslerinizi kimseyle paylaşmamış olacağım. Bilginizi rica ederim.