Andri Yadi

A geeky technopreneur, trying to do something big with his startup

OBA Enhanced Deployment (Update from PDC 2008)

Tenang...gw nggak pergi kok ke Microsoft PDC 2008 di Los Angeles, tanggal 27 - 30 Oktober 2008 lalu. Dalam posting ini gw hanya ingin share apa yang terbaru dari sisi Office Business Application (OBA) atau Visual Studio Tools for Office yang di-introduce di PDC 2008 kemarin. Kalau mau oleh-oleh beneran, minta sama yang pergi ke sana seperti bos Risman :)

Jika Anda iseng browsing ke situs PDC 2007 dan melihat daftar session di https://sessions.microsoftpdc.com/timeline.aspx, Anda akan melihat 2 session yang berkaitan dengan Office, yaitu:

  • Open XML Format SDK: Developing Open XML Solutions
  • Office Business Applications: Enhanced Deployment

I encourage you to look at the sessions, download the slides, and watch the recordings. All topics are new stuffs from Microsoft. So if you wanna get ready to face the future using Microsoft Platform, you better get started right now.

What I wanna to talk about here is OBA Enhanced Deployment. Hopefully, what I will talk is not constrained by NDA. If it is, please somebody tell me so I can unpublish this posting.

Setuju atau tidak, deployment adalah hal terpenting penentu keberhasilan sebuah project. Banyak hal yang terlihat baik-baik saja pada saat development, baru terlihat ada masalah ketika mulai di-deploy. Hal tersebut juga berlaku pada aplikasi berbasis VSTO. Jika Anda sudah pernah men-develop OBA/VSTO-based application menggunakan VSTO 2005, deployment is painful. Pengalaman gw yang cukup painful ketika membuat Excel customization untuk PORTMAP Excel dengan VSTO 2005 adalah membuat custom action untuk proses instalasi guna mengotomatisasi setting Code Access Security (CAS) Policy. Walaupun task tsb bisa dilakukan secara manual dengan bantual tool caspol.exe, tapi akan lebih baik jika bisa diotomatisasi saat instalasi. Detail tentang deployment VSTO 2005 solutions dapat Anda lihat di: http://msdn.microsoft.com/en-us/library/aa537173(office.11).aspx. Coba dibaca guidance tsb, quite painful huh...

Then came along VSTO 2008 or known as VSTO v3. Deployment menjadi lebih dimudahkan dengan disediakannya 2 opsi deployment, yaitu ClickOnce dan Windows Installers. Deployment menggunakan ClickOnce semudah meng-klik kanan pada project VSTO, lalu meng-klik publish. Sementara deployment menggunakan Windows Installers mengharuskan Anda membuat project tersendiri menggunakan template Setup Project, dan memungkinkan Anda meng-customize instalasi lebih jauh, seperti installer branding.

image

Apakah masalah-masalah deployment solved oleh VSTO v3? Well, in term of simplicity, VSTO v3 membawa angin segar bagi developer VSTO. Akan tetapi, masih ada beberapa issue, seperti:

Dependency to Office Primary Interop Assemblies (PIAs)
Unlike other .NET-based apps, such as: Windows Forms or ASP.NET, deploying VSTO-based customization not only required .NET runtime to be installed. The complete pre-requisites are:

  • .NET Framework runtime
  • VSTO Runtime
  • Office Primary Interop Assemblies (PIAs)

Lets talk more about Office PIAs. Office PIAs memungkinkan customization yang kita buat dengan VSTO bisa berinteraksi dengan Microsoft Office object model yang berbasis COM. Sebagai contoh, untuk dapat bekerja dengan Microsoft Word 2007 (Word 12), assembly Microsoft.Office.Interop.Word.dll harus terinstall di client machines (dengan kata lain, tersedia di GAC).

The problem with PIAs is you have to install it on client machine, which is not an easy task. Kenapa gw bilang nggak mudah? Untuk meng-install PIAs, Anda harus menginstallnya menggunakan Office installer, lalu mengaktifkan .NET Programmability Support dari setiap produk Office yang diinginkan. Seperti gambar berikut.

Click here to see larger image

Bagaimana jika Anda belum mengaktifkannya sewaktu Anda menginstall Microsoft Office? Yaa Anda harus kembali ke installer Offce, pilih Add or Remove features, lalu mengaktifkan .NET Programmability Support. Lumayan capek kan?

Masalah lainnya saat menginstall Office PIAs adalah dibutuhkannya versi PIAs yang spesifik sesuai dengan target Microsoft Office yang akan digunakan. Dengan kata lain, jika Add-in VSTO Anda diperuntukan untuk Word 2007, maka PIA Word 2007 harus diinstall, begitupun untuk versi Word 2003. Lebih jauh lagi, instalasi PIA memerlukan login/akses sebagai administrator pada client machine, which is impractical for massive deployment within an enterprise.

Andaikan ada cara untuk meng-embed PIA yang diperlukan ke dalam hasil publish project VSTO Anda, it can be really useful.

Not support deployment of multi (related) projects
Lets say by any chances you have to create more than one VSTO projects those are related dalam sebuah solution (sln) yang sama. Misalnya, Anda buat sebuah Word Add-in dan sebuah Outlook Add-in yang saling bekerja sama (terkait). When it comes to deployment, kedua project tsb harus di-deploy secara terpisah. Artinya, jika Anda menggunakan opsi deployment ClickOnce, Anda harus mem-publish kedua project tsb dan menginstall masing-masing hasil publish secara manual pada client/user machines. Walaupun project Anda nggak harus seperti itu, but if it do, what a painful task to deploy.

Walaupun Anda bisa membuat Windows Installers yang secara custom menginstall those related projects, still there is no built-in support, especially in ClickOnce, untuk bisa mendeploy multi project hanya dengan sekali klik.

 

Improvements in VS 2010

Setelah sedikit "ngomel-ngomel" di atas, mari kita lihat apa saja yang ditawarkan oleh next version of Visual Studio untuk mengatasi masalah-masalah deployment VSTO saat ini. Sebagai gambaran, mari kita lihat deployment timeline VSTO sejak versi awal.

image 
Taken from PDC 2008 Presentation Slide

Some improvements in Visual Studio 2010 those are related to deployment VSTO, as you guess, are:

  • Support on deployment multi projects
  • Post-deployment custom actions
  • Remove dependency to Office PIAs

That’s all. Enjoy.

Share this post: | | | |
Published Nov 02 2008, 06:25 AM by andriyadi
Filed under: ,

Comments

No Comments