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
WindowsInstallerolusturma
ProjeyiYayinlama
VSTO
VSTO Projeyi Yayınlama 2

Windows Installer Oluşturma

ClickOnce deployment sayfasında belirttiğimiz gibi daha profesyonel görünümlü, ara stepleri olan ve tek seferde bir PC'deki tüm kullanıcılara kurulum imkanı veren setup yöntemi MSI veya Windows Installer yöntemi olarak geçiyor. (Şirketinizin genelinde, adminler tarafından tüm PC'lere dağıtım yapılması işi ise başka bir süreç olup, ben şahsen bunu hiç yapmadım ancak ihtiyacınız bu ise bu sayfadan bilgi edinebilirsiniz)

Bu kurulum seçeneğinde tüm PC'ye kurulum yapılacağı için kurulum yapan kişinin Admin yetkilerine sahip olması gerektiği de aşikardır. Şahsi PC'lerde bu çok sorun olmayacaktır ancak kurumsal ortamlarda BT(IT) politikaları nedeniyle bu pek mümkün olmayabilir. Böyle bir durumda ClickOnce seçeneği değerlendirilebilir.

Şimdi burda da geçmişe bakıldığında iki farklı yöntem görünüyor. Ben birine kısaca ISLE yöntemi, diğerine Installer yöntemi diyeceğim. Burada ve burada görüleceği üzer ISLE yöntemi VS'nun Community versiyonunda desteklenmiyormuş, sadece ücretli versiyonlarında destekleniyormuş, ancak bunun yerine sonra Installer yöntemi gelmiş, biz de bunu kullanacağız. Olur da ISLE yöntemini de denemek istersneiz burdan bilgi alabilirsiniz.

Ana referans dokümanımız şu: https://docs.microsoft.com/en-us/visualstudio/vsto/deploying-a-vsto-solution-by-using-windows-installer?view=vs-2019

Referans dokümanında bahsedilen installer’ı indirmek için buraya tıklayınız. Bu link VS 2017 ve 2019 için geçerli. Daha eski(veya yeni) versiyonlar için sayfadaki yönlendirmeleri takip ediniz.

Bunu indirip çalıştırdıktan sonra(VS kapalı olsun bu arada) VS'yu çalıştıralım. Ve pencereye yeni seçenekler geldiğini görelim.

msi

Şimdi ben VSTOvb projem içine bir setup programı oluşturacağım. O yüzden bu solution’ı açıyoruz.

  • File menüsünden New Project diyip yeni eklenenlerden ilkini(Setup Project) seçiyoruz
  • Solution kısmında "Add do Solution" diyip mevcut solution’a ekleyeceğimizi belirtelim, ben adını MySetup dedim.(Kötü bi isim ama, ana projeden kolay ayırdetmek adına şimdilik böyle diyebiliriz). Create dedikten sonra karşımıza aşağıdaki gibi bir pencere çıkacak. msi setup1
  • Solutionda MySetup'a sağ tıklayıp Add>Project Output diyoruz, ve Primary Output seçiyoruz. output
  • Yine MySetup'a sağ tıkalyıp Add> File, diyip ana proje klasörümüzdeki bin\Release yolunda vsto ve manifest uzantılı dosyaları ekliyoruz.
  • Sonra, Solution Explorerda Detected Dependencies altındaki .Net Framework ve Utilites'le bitenler hariç diğerlerine sağ tıklayıp Properties diyoruz ve Exclude=True diyoruz. Bunun sebebi özetle şu: Bunlar add-in'imize pre-requisite olarak eklenmeli, yani kurulum sırasında öncelikli olarak kurulmalılar. 
    Hemen akabinde yine MySetup'a sağ tıklayıp Properties'e tıklayalım
  • Burda da Prerequisites'e tıklayıp gerekli .Net Framework'ü ve VSTO Runtime'ı seçelim
  • Bu aşamadan sonra uzunca bir Registry ayarlama süreci var, onu referans dokümanından bakabilirsiniz, ben aşağıya oluşması gereken resmi koydum. Bunun için MySetup'a sağ tıklayıp View>Registry diyorsunuz. CURRENTUSER ve LOCALMACHIINE altındaki Software>Manufacturer Key'lerini siliyorsunuz. Sonra en alttaki Key'e resimdeki hiyerarşide olacak şekilde sırayla bu Key'leri ekliyorsunuz. En alttaki Key'e de yandaki 4 Value(ilk ikisi ve sonuncusu String, üçüncüsü DWORD tipinde) değerini ekliyoruz, bunların değerleri de yine yanlarında yazılı.
  • Solution Explorer'da MySetup seçiliyken aşağıdaki Properties penceresinde TargetPlatform belirliyoruz. 64 bit kullanacaklar içn 64, 32'ler için 86 seçmek gerekiyor. İki konfigürasyonu olan kişiler de kullanacaksa iki ayrı setup dosyası oluşturacaksınız demektir. Hazır Properties açıkken TargetPlatform'un biraz yukarısında Manufacturer alanında "Default Company Name" yazıyor, bunu da değiştirebilir, kendi adınızı veya şirket adını verebilirsiniz.
  • Kurulum yapan kişide VSTO Runtime olup olmadığını kontrol eden bir Launch Conditon ekliyoruz.(Bu adım zaruri değil, başka bir projemde böyle denedim, sorun yaşamadım, olur da sorun yaşarsanız bu adımı işletin). Adımları yine referans dokümanda bulabilirsiniz, çıktısı aşağıdaki gibi olacak.
  • Bu condition belirleme sürecinden bir tane daha var(Bu aşamayı hiçbir projemde yapmadım, sorun yaşamadım. Sorun yaşayan kullanıcılarınız olması durumunda işletebilirsiniz)
  • Artık sona geldik, şimdi projemizi build edebiliriz. İşlem bitince File Explorer'dan ilgili klasöre gidip bin\Release altındaki 2 dosyayı da alıp insanların erişebileceği bir klasöre kopyalayalım. Herkes buradan setup dosyasını çalıştırarak programı(add-ini) kurabilir.

Gördüğünüz üzere, MSI kurulum yöntemi biraz daha teferruatlı. Tüm PC kullanıcılarına kurma gibi bir derdiniz yoksa, veya bir lisans key gibi birşey girdirmeyecekseniz ClickOnce tercih edin derim. Özellikle ticari amaçlı bir proje yapmıyor, kendiniz ve/veya birkaç kullanıcı için bir add-in hazırlıyorsanız MSI'a hiç gerek yok.

Kurulum

Kurulum aşaması yine ClickOnce'daki gibi basit:

Next dedikten sonra çıkan ekranda nereye kurulum olacaksa orası seçilir. User'a mı tüm PC'ye mi kurulum yapacağını da soruyor, Everyone dersek tüm PC'ye yani tüm kullanıcılara tek seferde kurulmuş olur.

Ben Everyone dedim, sonra çıkıp PC'dei Aile hesaplarından birine girdim, baktım ve gerçekten orda da kurulumuş olduğunu gördüm.

Tabi Control Paneldeki Program & Features'an bakınca VSTOvb olarak değil MySetup olarak görünüyor. O yüzden setup projesinin isimlendirmesini daha anlaşılır yapmakta fayda var.

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ç

97371

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.