Gunnar Peipman's ASP.NET blog

ASP.NET, C#, SharePoint, SQL Server and general software development topics.

Sponsors

News

 
 
 
DZone MVB

Links

Social

Windows Installer and Extensibility.dll

Windows Installer is one of my favorite problem childs - of course, when it has mysteriuos problems. I found a problem when installing Outlook add-in on machine that has no extensibility features installed on it. Something was missing and installer gave me the famous "Unable to get installer types" error. After pointless waste of time tracing installer and checking its logs I checked out what's going on in file system.

Copy LocalBy default, Extensibility.dll was not installed. When I added it to setup package manually it was copied to application folder as expected. But still nothing happened. I was even able to create some packages that installed without errors but add-in was not installed. Cool, ah?

Solution to this problem is simple. There is another version of Extensibility.dll that you can distribute and that is installed correctly without any problems.

Seems like there are some legal issues with Extensibility.dll that is referenced by default.

After creating add-in project using Visual Studio you have to delete reference to Extensibility.dll. Path to correct version of Extensibility.dll is as follows:

C:\Program Files\Common Files\Microsoft Shared\MsEnv\PublicAssemblies\Extensibility.dll

After adding correct reference, make sure you let Visual Studio to get the local copy of Extensibility.dll. You can see example on the image. Before deploying your setup package you must test it on "clean" machine that has no Extensibility.dll in Global Assembly Cache.

If your setup works okay on clean machine and also your add-in works when you open Outlook to test it then everything should be okay what matters Extensibility.dll.


kick it on DotNetKicks.com pimp it Progg it Shout it

Comments

Andy said:

That was timely! I was just trying to figure out how to do that!

Where should the extensibility.dll file go to though? on my development environment, I seem to have it in C:\Program Files\Common Files\Microsoft Shared\MsEnv\PublicAssemblies\Extensibility.dll and in the GAC.

Do I install it to the GAC, PublicAssemblies folder, on my application folder?

# March 13, 2008 7:04 AM

novolocus.com » Problems with the extensibility.dll in Outlook add-ins said:

Pingback from  novolocus.com » Problems with the extensibility.dll in Outlook add-ins

# March 13, 2008 7:22 AM

DigiMortal said:

The file you take from PublicAssemblies should be installed to your application's folder with other binaries. Don't put this file in GAC as this may cause confusion for application administrators.

# March 13, 2008 7:28 AM

BillErzal said:

Man, thanks for this post -I have been struggling with this problem for days and I stumbled upon your post. I pointed to the 'public' extensibility.dll and finally the add-in loads. Thanks again.

# June 17, 2008 12:00 PM

Karthik said:

DigiMortal,

Thanks a lot for posting this! I was having the same problem as yours and was stuck with this for over 2 days! At last i can breath now :) Thanks a lot again!!

# October 2, 2008 7:47 PM

Ctal said:

Thanks a lot for your information.

My add-in created on XP with outlook 2003 is not installed on another machine with xp and outlook 2003.

After following your information , it is installed sucessfully but it is not displaying my toolbar button in outlook.

Another thing is that on Client's pc I didn't get "..\MSEnv" folder. So Could you please let me know when this folder is created in "C:\Program Files\Common Files\Microsoft Shared" folder.

Please help me for the same I am facing this problem since many days...

Thanks

Regards

Ctal

# January 29, 2009 7:27 AM

DigiMortal said:

Well, I have seen only couple of workstations where there is no MSEnv folder but all machines having still Outlook installed on them. I am not sure when this folder is created and what installs it. You can still make your own installer create it if it is needed.

# January 29, 2009 8:12 AM

DotNetShoutout said:

Thank you for submitting this cool story - Trackback from DotNetShoutout

# June 21, 2009 2:32 AM

DotNetBurner - Tips & Tricks said:

DotNetBurner - burning hot .net content

# June 21, 2009 2:33 AM

PimpThisBlog.com said:

Thank you for submitting this cool story - Trackback from PimpThisBlog.com

# June 21, 2009 2:35 AM

DotNetKicks.com said:

You've been kicked (a good thing) - Trackback from DotNetKicks.com

# June 21, 2009 2:36 AM

progg.ru said:

Thank you for submitting this cool story - Trackback from progg.ru

# June 21, 2009 2:39 AM

Install Software said:

Hi there.

Great installation help...thanks, fixed my problem.

Anyone reading this guys stuff should bookmark it.

# February 2, 2010 12:54 AM

Vlad said:

Microsoft especially should bookmark it:)

%$%#$%#!!!! I've spent about a week on this!

Thank you very much for this post!

(I also don't have MSEnv folder on my client machine by the way)

# August 23, 2010 12:06 PM

Dan said:

Bloody hell was hunting around and trying everything. I must have read 50 posts about the topic all talking about doing this, doing that all which did not work.

This solution worked for me although took ages to find it and only did after googling Extensibility and 1001.

Thx,

# December 16, 2011 6:55 AM