Thursday, December 23, 2010

WSPBuilder Error x86 vs. x64 (SP 2007)

Today I came across 2 errors:

  1. Feature 'featureid' is not installed in this farm, and can not be added to this scope.
  2. Cannot add the specified assembly to the global assembly cache: cablib.dll.
I tried to deploy a WSP solution which we created a few weeks ago into a test SharePoint 2007 (MOSS) environment.
I am using the CodePlex.SharePointInstaller (Setup.exe) and my solution.wsp file.
This works well if I install it on my dev environment, but as soon as I try to install it on the test environment I get the following error at the very last step of the installation wizard.
Error: Cannot add the specified assembly to the global assembly cache: cablib.dll.
image
I checked the 12 hive and my feature files are all there, but as soon as I try to activate a feature which contains an event receiver (assembly should be in GAC) I get the following error:
Feature 'dc618366-db0a-4912-88d1-ad59e55bac90' is not installed in this farm, an
d can not be added to this scope.
After a bit of head-scratching I realized something. The solution was built on a 64bit dev environment and I am trying to install into a 32bit test environment.
So this is what I had to do to get it to work:
In Visual Studio, open you WSPBuilder project and go to project –> properties. Then change the Platform Target to x86.
image
Save your project and build it.
Reinstall the WSP (run the SharePoint Solution Installer for your WSP to remove the old version and then run it again to install the new version.)
This time the assemblies can be deployed to the GAC and you will now be able to activate your feature !!!
Enjoy !

2 comments:

Christopher said...

Very insightful!

Reuben Charles said...

Sometimes we are so busy in our work that we don't realize what we are doing, error arises due to something else and we keep on trying something else. After tackling hard we realize that we were wasting our time.

Post a Comment