Deploying Office 2003 Solutions with Windows Installer (Mary Lee)

  • Comments 25

You may want to develop Microsoft Office 2003 solutions with Visual Studio Tools for Office (VSTO) in Visual Studio 2008 SP1 for several reasons.

  1. Your customers are using Microsoft Office 2003.
  2. Your customers are using both Microsoft Office 2003 and the 2007 Microsoft Office system.
  3. Your customers are using .NET Framework 2.0 and cannot migrate to .NET Framework 3.5.

Once you're done with development, you'll want to deploy your Microsoft Office 2003 solutions to your end users. This process involves the following steps:

  1. Check for and install the following prerequisites: .NET FX 2.0, VSTO 2005 SE runtime, and the Microsoft Office primary interop assemblies.  If your client computers already have the prerequisites, or you want to do this manually, you can skip this step.
  2. Copy the customization assembly to the end user computer.
  3. Grant full trust to the customization assembly.
  4. For application-level add-ins only, create a set of registry keys so that the Office application knows to load the add-in.

Due to customer demand, I've created five deployment samples that demonstrate these steps. Step 1 is demonstrated in two ways: you can select your prerequisites through the Prerequisites Dialog Box to be installed with the Setup.exe bootstrapper; alternatively, you can configure launch conditions in the Setup project to only install the customization if the prerequisites already exist.

Prerequisites Dialog Box:

Prerequisites Dialog Box 

Launch Conditions editor:

image

You can use the Setup project to complete step 2 by copying the customization assembly and for document-level projects, the document or workbook, to the designated installation location. This is done by adding the project output with the File System Editor. The default installation location in these Setup projects is %PROGRAMFILES%\MyCompany\<Name of Setup Project>.

File System Editor:

image

Full trust is granted by using the SetSecurity project for step 3. This code uses a custom action in the Setup project to create a code access security policy that creates a solution code group for your Office solution, and an assembly code group for the customization assembly.

Custom Actions Editor:

image

Step 4 only applies to application-level add-ins: when you use the Excel 2003 add-in or Word 2003 add-in project templates, there is a Setup project automatically added to your Office solution that already creates the registry keys documented in Registry Entries for Application-Level Add-Ins.

Registry Editor:

image

The process of preparing the development computer for deployment and configuring the Setup project is written out step-by-step in the following two whitepapers:

Deploying Visual Studio 2005 Tools for the Office System SE Solutions Using Windows Installer (Part 1 of 2)

Deploying Visual Studio 2005 Tools for the Office System SE Solutions Using Windows Installer: Walkthroughs (Part 2 of 2)

Now, it's time to experiment on your own. Download the sample code and the completed installers from the MSDN Code Gallery: http://code.msdn.microsoft.com/VSTO2005SEMSI 

 

Happy deployment!

Mary Lee, Programming Writer.

Leave a Comment
  • Please add 7 and 3 and type the answer here:
  • Post
  • hi Kevin,

    i'm a Programming Writer: i usually sign my blog entries with that information along with "Happy Deployment!"  :)

    m.

  • Hello i have a problem to create an install for Excel2003 i have developed an Excel2003 Addin how do i make the setup work.

    I get this message:

    not loaded a runtime error occurred during the loading of the com add-in

  • if you want help troubleshooting, i recommend using the forums. there is more interaction available to investigate problems there at  http://social.msdn.microsoft.com/Forums/en-US/vsto/threads

    m.

  • Hi, I have problem with MSI installation. I have created Excel Add-in project in C# (Visual Studio 2008), which use web services of MS Office Project Server 2007 and external files (XML and load create excel template). I have created to this project Setup project (Windows Instaler) following steps at http://msdn.microsoft.com/en-us/library/cc563937.aspx. I have added external files yet. Then I have build setup project successfully. But when I execute MSI installation and instal it with message "successfuly instaled" - after this, it is not instaled in specific folder, but all files are in "D:\" and Add-In is not appeared in Excel! I try this also at developement machine and the restul was the same (OS Vista, administrator permissions).

    Have you any idea?

    Posible problem?: in the Prerequisites dialog box I do not have choise of "2007 Microsoft Office Primary Interop Assemblies", but I have correctly instaled MS Office and also Visual Studio 2008.

    Thanks for help

  • if you want help troubleshooting, i recommend using the forums. there is more interaction available to investigate problems there at  http://social.msdn.microsoft.com/Forums/en-US/vsto/threads

    m.

  • hi experts. i want to know few things as i'm trying my hands in vb.net application development.

    1) What is a bootstrapper, how does it help us?

    2) I've built an vb.net(Visual Studio 2008) application and now i want to deploy it in                  

    client's machines. I've used SQL server 2005 as backend and MS Access 2003 for printing report(somehow logically).Now i want to incorporate both sql server compact edition and MS Access 2003 in the setup file i.e: when i install my project/software into client's system, it will first install full SQL server and MS Access if they are already not installed, and then my application. how do i do that?

    If possible Please send Your replies to my mail Id- "jumba_4u@yahoo.com". Please experts, let me know in detail if possible, thank u in advance, God bless u all.

  • John,

    1. a bootstrapper is a fancy name for the setup.exe program that is generated by Visual Studio. the setup.exe program checks for and then installs any missing prequisites that your application needs so that it can run successfully.

    2. use the Prerequisites Dialog Box in Visual Studio to select SQL Server Compact Edition. for more information, see msdn.microsoft.com/.../7tx0bw8y.aspx

    normally, applications like Access are not bundled as a prerequisite. instead, you can create a launch condition to search for Access and then block installing your application if it not installed. for more information, see msdn.microsoft.com/.../f09xywha(VS.90).aspx

    if you have other questions, feel free to use the Setup and Deployment forum at social.msdn.microsoft.com/.../threads

    Mary Lee, Programming Writer.

  • Hi,

    I have a VSTO addin built using VS2008 for Outlook 2003.  It installs and loads fine.  Now, I need a way to automatically update code if I change it.  Can I combine clickonce with this?  I've seen posts that says it's not supported.  The first version supported is for Office2007.  Is this true?  What options do I have?  Thanks.

  • KTN,

    deploying Office solutions with MSI and ClickOnce can be done, but only for Office 2007 and Office 2010.  Office 2003 solutions developed by using VS2008 target the VSTO 2005 SE runtime, which does not support ClickOnce deployment. If you retarget your Office solution to Office 2007/VS2008, that would use the VSTO 3.0 runtime, which does support ClickOnce.

    for more information, see social.msdn.microsoft.com/.../1666d2b0-a4d0-41e8-ad86-5eab3542de1e

    Mary Lee, Programming Writer.

  • I have an question regarding office 2003 addIn

    Question: Can a office 2003 addin be registered in below listed way.

    I install addin on my computer, export the registry keys added by addin.

    Then i copy the installed files to other computer in program files folder, and i import the registry keys from my machine.

    This is working for office 2007 addin but not 2003 addin can you tell me how to do this. because i need to install the addin using copying the file only

Page 2 of 2 (25 items) 12

Deploying Office 2003 Solutions with Windows Installer (Mary Lee)