VSTO & .NET & Excel

April 17, 2007

Add-in Express 2007 for Microsoft .NET

Filed under: .NET & Excel, Installation Tools — Dennis M Wallentin @ 5:55 pm

Components and tools

I’m a power user of several third-party components and tools like:

In my experience, these components and tools have the following in common:

  • They are robust and rather easy to use.
  • Well documented with helpfile(s), examples and additional information at the vendor’s sites.
  • Good support with easy access and fast service.
  • Offer yearly subscriptions which give regular updated components.

The main reasons for me to use third-party components and tools are:

  • Cost effiency for my customers, i e less time is used in the development cycle and I can focus on the main task.
  • Makes me more competitive in bidding procedures.
  • Provide the customers with an attractive and end user friendly interface in my solutions.

Recently I have added a new tool to my toolbox – The Add-in Express 2007 for Microsoft .Net from Add-in Express Ltd. For the last weeks I’ve been working extensively with this tool and in my opinion it’s a great utility. It shares the common aspects with the other mentioned components and tools.

What is the Add-in Express .NET?
Add-in Express .NET is a developing tool for Visual Studio.NET to develop:

  • Office COM Add-ins (Excel 2000 and later)
  • Excel Automation Add-ins (Excel 2002 and later)
  • Excel Run-Time Data servers (RTD servers – Excel 2002 and later)
  • Smart Tags (Excel 2002 and later)

Per se it supports RAD (Rapid Application Development).

Compared with the built-in Shared Add-in in Visual Studio.NET Add-in Express offer several advantages like:

  • It can contain several add-ins in one assembly.
  • It can create version independed (neutral) Interop Assemblies (IA) that are automatically added to the setup project.
    In other words, we don’t need to consider which version of Excel is available or if any PIAs/IAs are available or not on the targeting machines. If needed we can add additional prerequisities to the Add-in Express projects in the usual way.
  • It uses its own ‘Shim’ to isolate Add-in Express projects from other add-ins.
    We don’t need to rely on the unsupported COM Shim Wizard from MSFT (which at present doesn’t support Excel 2007).
  • It can implement both RibbonX for Excel 2007 and Commandbars for version 2003 and earlier in the same project in a smooth way.
  • It can implement keyboard shortcuts at application level in an easy way.

The following screenshot shows Add-in Express Project Wizard’s start page for creating a new project:

adxcomaddin1.png

The following screenshot shows the next step in the Add-in Express Project Wizard where we can choose to use the ADX Loader or not.

wizard1a.png

If we choose to use the loader and the option to create the setup project the Add-in Express Project Wizard does the following:

  • Creates the setup project.
  • Creates the loader folder in the project’s folder and places adxloader.dll in it.
  • Generates adxloader.dll.manifest and places it in the loader folder.
  • Adds the project’s Primary Output to the setup project.
  • Adds the adxloader.dll and adxloader.dll.manifest to the setup project.
  • Generates customs actions that reference adxloader.dll.

The next screenshot shows the Wizard step where we can choose to add version independed (neutral) PIAs or not as well as using strong name or not.

wizard2a.png

The following screenshot shows the project as it is in the Solution Explorer window after we have finished the Project Wizard:

solutionexploreradx1.png

The “heart” of the Add-in Express projects is the Designer where we also can add additional components to the project. The following screenshot shows how it looks like after we have added some components (including the event component for Excel) to it:

adxaddinmodule.png

Deploying a solution’s setup project is straightforward:

  • Copy the setup.exe and the other files to the targeting machines and run the setup.exe
  • I use Visual Installer 2006 in which it’s easy to import setup projects and make a more customized installation package.

For more information please see Add-in Express 2007.

In an upcoming post I will present the VSTO development tool from Add-in Express Ltd.

Kind regards,
Dennis

April 8, 2007

Requirements VSTO solutions

Filed under: VSTO & Excel — Dennis M Wallentin @ 1:49 am

It seems that it’s still existing some confusion regarding what it actually requires to develop and use VSTO solutions and also which versions of Office are supported. This blogpost will try to give a better overview of VSTO.

At present there exist two versions of VSTO, 2005 and 2005 Second Edition (VSTO 2005 SE).

VSTO 2005 can either be used standalone or ‘on top’ of Visual Studio 2005 Professional and higher. It requires that we buy a license of it in order to use it.

With VSTO 2005 we can:

  • Create workbook’s level solutions, i e standalone workbooks and templates with managed code (VB.NET / C#) behind for Excel 2003 (and Excel 2007).

VSTO 2005 SE is available free for download. In order to use it we either need VSTO 2005 or Visual Studio 2005 Professional and higher. 

What we can do with VSTO 2005 SE:

  • Create managed COM Add-ins (VB.NET/ C#) for Excel 2003 and Excel 2007

The following list shows the requirements on the development computer:

req.png

The following list shows the required Office version for each version of VSTO (and on the development computer):

msoupdate.png

Note 3 above is important as we cannot explicit use VSTO 2005 with Excel 2007 to develop workbook’s level solutions. The workaround is to use Excel 2003 and then test the solutions with Excel 2007.

Note 4 above, I did test to have Office 2003 and Office 2007 installed side by side together with VSTO 2005 SE but it only ended up in a critical error message.

The following list shows the requirements on the targeting computers:

 ta.png

Finally, I have an article, that is regular updated, about online resources for VSTO here which includes all the relevant links for the above. 

Kind regards,
Dennis

Create a free website or blog at WordPress.com.