Pages

Thursday, March 22, 2012

Scenario: you've developed and InfoPath 2010 form. This form contains code that requires full trust, so you need to deploy it as a administrator-approved form template.

This requires an farm administrator to check, upload and activate the form for the site collection.

Solution: to automate this operation I created a farm level feature - when the feature is activated upload the form programmatically and when the feature is deactivated remove the form programmatically.

Here is how I did it:

1. Create an Empty SharePoint Project and set it to be deployed as a farm solution

2. Add an Empty element item - EmptyElement1. This will also generate a feature - Feature1

3. Delete the Elements.xml file of the EmptyElement1

4. Copy/Paste the InfoPath 2010 form into the EmptyElement1

5. Right click on the added form and click Properties:

- Deployment Type: ElementFile

- Deployment Location> Path: set it to blank

6. Open the generated feature, Feature1

7. Set the scope to Farm level and save it

8. Right click on the feature and select "Add Event Receiver"

9. Comment out the FeatureActivated and FeatureDeactivating methods

10. Add the following code to the FeatureActivated method to upload the form: