SHORT DESCRIPTION
Custom Field Types are not being correctly deployed/activated on all but one Virtual Machine.
- I have several VMs with identical SharePoint environments.
- I have a Visual Studio solution with 8 projects.
- I can deploy and activate all of the features from each project.
- Only one of the VMs successfully creates the actual field types in the SharePoint environment for use in Lists and Libraries.
LONG DESCRIPTION
So I have this solution that is using several custom fields that I have created.
I have created several projects in Visual Studio that I am trying to have all deployed at once from a single deployment project called Deployment. In my deployment project I have included all of the features from my other projects and have also added a Feature Receiver to the main Deployment project for the FeatureActivated asynchronous event that handles the creation of several lists, a Document Library, a bunch of Content Types, creates and assigns lookup fields to various lists and adds about a half dozen custom fields to my Document Library.
The issue is that the VS project (called "Controls") that defines all of the custom fields (including all related controls, editors and form templates) must be deployed before the main Deployment project because when the FeatureActivated event is fired from the Deployment project's EventReceiver it will attempt to programmatically create a Document Library which references the custom fields from the Controls project and if the Controls project and it's features are not deployed and activated first then the custom fields will not exist when the Deployment project attempts to reference them in it's FeatureActivated EventReceiver code.
I do not wish to have the Controls project as my main deployment project because of all the other "order of operation" and dependency issues. The primary goal of creating the Deployment project in the first place was so that I could consolidate and streamline the entire deployment process.
It also seems that no matter how I configure the package deployment and Feature Activation Dependency settings all of my requests seem to be ignored! I have tried manipulating the project build order, I've even installed the MaventionActivateSelectedFeatures Visual Studio Add-In extension to use in a custom deployment configuration that activates on specific features as opposed to the all-or-nothing approach that VS limits me to. By using this extension I can essentially deploy all of the features and then purposely activate all of them EXCEPT for the Deployment Feature that contains all the code to create the document library using the custom field types that were deployed in the Controls project. I then have a post-deployment command run which executes a PowerShell script that takes care of programmatically activating the final Deployment feature. My thought was that this should guarantee that the Controls feature containing the custom field type gets properly deployed and activated prior to being referenced by the Deployment project's FeatureActived event. Again, this works on my main VM but does not work on any of the others. Meaning, the outcome is EXACTLY the same as if I were to just deploy and activate all of the features in one shot and leave out the post-deployment PowerShell script!
I've recycled App Pools, restarted IIS, rebooted all of the VMs and much, much more! I checked to make sure that all of the features were removed from web, site and farm before trying anything new. Nothing works!
I've been working on this for weeks already and am at a total loss. Any assistance would be most appreciated. Thanks.