views:

271

answers:

1

I am building a Setup Package using VS2008. This is a regular setup package installing a COM Add-In app for Outlook. It works Ok, so far. However I need to improve it a little...

The story is that installation package copies all dependent assemblies into the installation folder of the add-in.

For example, the COM Add-In depends on Microsoft.Office.Interop.Outlook.dll assembly. So installation package copies it to its' folder :)

Of course, I can switch Exclude property of the Microsoft.Office.Interop.Outlook.dll dependency to True which will prevent the assembly from being copied. However, I need to achieve the following behavior:

  • In case Microsoft.Office.Interop.Outlook.dll is not in GAC, we simply copy it to the installation folder of the Add-In
  • Otherwise, use the one which is in GAC

Please suggest the way ti can be done in .Net2.0? A step by step guide will be really appreciated.

+2  A: 

Just always copy it to the folder. If it's already in the GAC, the GAC'd assembly will be used first anyway.

In other words the runtime checks the GAC first. Then, checks application base, etc.

http://msdn.microsoft.com/en-us/library/yx7xezcf(VS.71).aspx

Greg Dean