Ana Sayfa | English Blog | Seminer TV | Dil Cookie Sil  Blog'u Mail ile takip et!       
Daron Yöndem - July, 2010
bir yazılımcının tasarıları...
 Wednesday, July 21, 2010

Silverlight ile OOB (Out-Of-Browser) modunda uygulamalar geliştirirken bir diğer hissedilebilen ihtiyaç da bu uygulamaları bazen ayrı bir şekilde dağıtabilmek oluyor. Normal şartlarda bir OOB uygulaması ancak Silverlight uygulamasının webde istemcide açılması aracılığı ile yüklenebiliyor. Fakat bunun haricinde isterseniz bu yükleme işlemini bir script ile başlatma şansınız da olabilir. Böylece söz konusu script bir SETUP paketine konduğunda rahatlıkla Silverlight OOB uygulamasını tek başına CD/DVD gibi bir medyada dağıtılabilir hale getirebilirsiniz.

[Silent installation script]

"%ProgramFiles%\Microsoft Silverlight\sllauncher.exe"
/install:"SLDosya.xap"
/origin:"http://www.ornek.com/ClientBin/SLDosya.xap"
/shortcut:desktop+startmenu /overwrite

Yukarıda gördüğünüz komutu çalıştırmanız haline yükleme işlemi hemen başlayacaktır. Burada önemli olan birkaç detay var, birincisi 64-bit yüklü sistemlerde ProgramFiles klasörünün adının değiştiğini unutmayın :) Bu nedenle olası bir SETUP paketi hazırlarken farklı ihtimalleri kontrol etmeniz gerekecektir. İkinci detay ise komuta gönderdiğimiz parametrelerin kendisi. İlk parametremiz olan install doğrudan OOB modunda yüklemek istediğimiz SL uygulamasının dosyasını hedefliyor. Dosya lokal dosya sistemine bulunmalı. İkinci parametre olan origin parametresi ise dosyanın webden güncellenebileceği adresi belirtiyor. Daha önce de belirttiğim gibi normalde bu yükleme işlemi webden yapılıyordu ve o senaryoda webdeki XAP dosyasının adresi belli olduğu için runtime tarafından kenara kaydedilerek sürekli webde yeni bir sürümün bulunup bulunmadığı kontrol edilebiliyor varsa yenisi hemen istemciye indirilebiliyordu. Oysa şu anda biz bir anlamda offline yükleme yaptığımız için dosyanın webdeki güncelleme noktasını elle belirtmemiz gerekiyor. Böylece aynı webden yüklenmiş gibi update mekanizması çalışmaya devam edecektir.

Son parametremiz ise shortcut parametresi. Yükleme esnasından nerelere kısayollar konulmasını istiyorsanız onları da bu parametreye vererek ilerleyebilirsiniz. Son olarak overwrite parametresini de verirseniz eğer uygulama daha önceden yüklenmiş ise yenisi üzerine yazılacaktır. Ek olarak eğer uygulamayı yükledikten sonra otomatik olarak anında çalıştırmak da istiyorsanız bu sefer de aşağıda komutu kullanabilirsiniz.

[Otomatik çalıştırma scripti]

"%ProgramFiles%\Microsoft Silverlight\sllauncher.exe"
/emulate:"SLOrnek.xap"
/origin:"http://www.ornek.com/SLOrnek.xap"
/overwrite

Unutmamak gerek ki tüm bu işlemlerde sizin uygulamanızla iligli ayırt edici olan bir nevi GUID özelliği taşıyan parametre aslında origin parametresidir. Yani sllauncher.exe tüm uygulamaları origin parametresi üzerinden tanır ve ayırt eder. O nedenle bir uygulamayı sistemden kaldırmak için kullanacağımız aşağıdaki scriptte de sadece origin parametresini vermemiz uygulamanın sistemden silinmesi için yeterlidir.

[Uninstall scripti]

"%ProgramFiles%\Microsoft Silverlight\sllauncher.exe"
/uninstall
/origin:http://www.ornek.com/SLOrnek.xap

Hepinize kolay gelsin ;)

Wednesday, July 21, 2010 9:40:25 AM (GTB Standard Time, UTC+02:00)  #    Comments [2]   Silverlight 4  | 
 Tuesday, July 20, 2010

Sanırım aradan epey zaman geçti fakat :) geçenlerde misafir olarak bulunduğum bir şirkette aşağıdaki ipucunu paylaştığımda "Neden bloga yazmıyorsunuz bunları?" tepkisini alınca :) aklımda kenara not almıştım. "Bunu bloga yazmam lazım" şeklinde :) ve zamanı geldi. Biliyorsunuz Silverlight'ın bir OutOfBrowser modu söz konusu ve özellikle "Elevated Trust"ın da gelmesi ile epey popüler olmaya başladı bu özellik. Peki bu şekilde OOB modunda çalışan uygulamalar geliştirirken uygulamamızı nasıl debug edeceğiz? Sonuçta F5'e bastığımızda projemiz hem bir web sunucu üzerinden çalıştırılıyor ve uygulama windows modunda açılamıyor.

Visual Studio 2010 ile beraber bu soruna da bir çözüm geldi. Artık Silverlight projenizi OOB moduna geçebilecek şekilde ayarladıktan sonra Silverlight projenize sağ tıklayıp "Properties" komutunu verdiğinizde "Debug" tabında özel bir ayar bulabilirsiniz.

Out Of Browser modunda debug seçeneği.
Out Of Browser modunda debug seçeneği.

Yukarıdaki ekran görüntüsünde de gördüğünüz üzere Debug ayarlarında eğer "Out-of-browser application" seçeneğini işaretlerseniz artık Visual Studio 2010 içerisinde F5'e bastığınızda Silverlight uygulamanız doğrudan Desktop uygulaması gibi açılacaktır ve rahatlıkla her tür debugging işlemini yapabileceksiniz.

Hepinize kolay gelsin ;)

Tuesday, July 20, 2010 9:10:36 AM (GTB Standard Time, UTC+02:00)  #    Comments [0]   Silverlight 3.0 | Silverlight 4 | Visual Studio 2010  | 
 Monday, July 19, 2010

Yeni bir Silverlight projesi yaratırken çoğu zaman yanında bir de ASP.NET sitesi alırız. Böylece veritabanı erişimi vs gibi işlemleri ASP.NET tarafında yapabilir ve rahatlıkla Silverlight uygulamasını sitemize entegre etmiş oluruz. Bunun üzerine ek olarak Silverlight debugging özelliklerini de sitemizi debug ederken kullanabiliriz. Tüm bunlar güzel, hoş ama ya zaten elimizde bir site varsa ve buna Silverlight projesi eklemek istersek? Bu noktada da sorun yok çünkü Visual Studio 2010 içerisinde "File / Add New Project" diyerek yeni bir SL projesi yarattığınızda karşınıza söz konusu projeyi solution içerisindeki hangi asp.net projesi ile linklemek istediğiniz soran bir pencere gelecektir. Bu penceredeki ayarlarla yine yukarıda saydığımız tüm kolaylıklardan faydalanabilirsiniz.

Esas sorun elde var olan ve birbirinden bağımsız Silverlight projeleri ile ASP.NET projeleri birleştirirken ortaya çıkıyor. Bir solution içerisine "File / Add Existing Project" diyerek hepsini ekleseniz de maalesef entegrasyonla ilgili hiçbir işlem gerçekleşmiyor ve size hiçbirşey sorulmuyor. O nedenle F5'e bastığınızda ne SL projesi build oluyor ne XAP web sitesine kopyalanıyor ne de SL Debugging özellikleri aktif oluyor. Bu sıkıntılı durumu çözmek için Visual Studio 2010 içerisinde özel bir ayar söz konusu ;)

Visual Studio'da Solution Explorer içerisinde Silverlight uygulamanızı linklemek istediğiniz web uygulamasına sağ tıklayarak "Properties" / "Property Pages" komutunu verdikten sonra karşınıza gelecek ekranda "Silverlight Applications" diye bir sekme göreceksiniz. İşte tam da bu ekranda artık ister yeni bir SL uygulaması yaratabilir ister solution içerisindeki başka bir SL projesini ASP.NET sitesi ile eşleştirebilirsiniz.

Var olan SL projesi ile ASP.NET'i birbirine linklemenin yolu.
Var olan SL projesi ile ASP.NET'i birbirine linklemenin yolu.

Eşleştirme işlemi esnasında XAP'ın kopyalanacağı klasörü belirtebilir aynı anda eğer istiyorsanız sizin için otomatik bir test HTML sayfası da yaratılmasını sağlayabilirsiniz. Son olarak "Enable SL Debugging" seçeneği de işaretli tutmayı unutmayın ki ASP.NET projenizi debug ederken SL kısımlarındaki hataları da rahatlıkla inceleyebilin.

Hepinize kolay gelsin ;)

Monday, July 19, 2010 9:14:59 AM (GTB Standard Time, UTC+02:00)  #    Comments [2]   Silverlight 4 | Visual Studio 2010  | 
Copyright © 2010 Daron Yöndem. Tüm hakları saklıdır.