VSTO & .NET & Excel

August 3, 2010

Creating XLLs with Add-In Express.NET – Part 2

Filed under: .NET & Excel, Tools, XLLs — Dennis M Wallentin @ 1:12 am

This is the second article about creating XLLs with Add-In Express.NET and it will focus on creating a Setup package for our solution. The first article about it can be viewed here.

Creating a Setup package is also very easy and straightforward with the Add-in Express.NET tool; we add a Setup project to the solutions. Select the command Project from the main menu and next select the command Create Setup Project as the following screen shot shows:

The above command will start the Setup Project Wizard as the below screen shot shows:

In the next step in the wizard we customize the Setup package additionally which the following screen shot also shows:


In the next step the Setup project is created and added to the Solution Explorer. In the Solution Explorer we can find out which files that have been added to the Setup project which also the following screen shot shows:

The file adxloader.dll.manifest includes additional settings that can be manipulated if required:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <assemblyIdentity name="XLDennisXLLs, PublicKeyToken=a51ebb7add3c8218" xllClass="XLDennisXLLs.XLLModule" />
 <loaderSettings generateLogFile="true" shadowCopyEnabled="true" privileges="user" configFileName="app.config" />
</configuration>

The next file, adxloader.XLDennisXLLs.dll, is the loader on the x86 platform while the file thereafter is the loader on the x64 platform. In other words we can with the Add-in Express.NET tool target both platforms with only one solution. The last added file, adregistrator.exe,  creates all the required entries in the Windows Registry and also remove them when uninstalling the solution.

The next screen shot shows the updated properties of the Setup project, it’s accessible by selecting the Setup project in the Solution Explorer and then hit the F4-button:

By reviewing the File System (on the Target Machine) in the Setup project we can see that the following files will be added to the targeting computers:


Keep in mind that we, upon creating the solution, decided to include version-neutral IAs to the Setup package. That’s why the Interop files are included. The Extensibility.dll file includes the IDTExtensibility2 Interface so the file is vital for solutions that make use of it.

Next, when reviewing the Custom Actions in the Setup project it shows that the file adregistrator.exe is used in all the actions which the below screen shot also shows:


When reviewing the basic Launch Conditions it only includes the requirement of having .NET Framework 4.0 installed on the targeting computers which the below screen shot shows. In addition, we can add our own launch conditions to the Setup project which makes it very flexible.

In order to create the Setup package we can select the command Build on the main menu and then select the command Build Solution as the following screen shot also shows:


After running the build command the Setup package has been created and it includes two files; a setup.exe file and a MSI file. The following screen shot shows it as well:


Now we have a Setup package that can be deployed in order to install our solution.

When we install the solution by executing the setup.exe file the installation process starts and shows the following screen shots to the end users:

If we look in the list of installed softwares on the targeting computers we will find our solution among them as the below screen shot reviews:

Based on the stepwise walk-through we can conclude the following:

  • It’s very easy and simple to create a Setup package with the Add-In Express.NET tool.
  • It’s also flexible and time saving and it requires little effort to get a professional Setup package by using the Add-In Express.NET tool.

In the next article, which is also the last one on the subject, I will discuss the pros and cons with using Add-in Express.NET for creating XLLs solutions.

Kind regards,
Dennis

Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: