SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Working with Infopath 2010 here and SP 2010.

I've created my form and published it while in DEV. Now, I want to publish it to the Prod Location. Here's the issue and to me, quite strange.

I can't republish to another location. Normally, I just used the Quick Publish option which republishes to the same location.

Now, I click File Publish.

I have two options Here: "Sharepoint List" and "Export Source Files".

The "Sharepoint List" option is the obvious one, but here's the catch... It remembers the Quick Publish Location and even has a Label stating: "The form will be published to: http://blablabla"

Clicking on the Button, just does EXACTLY the same as Quick Publish.. It does a quick publish without bringing up the wizard to choose the publish location.

It seems sometimes MS tries to be too clever with the ribbons and the menus...

Am I missing Something??

How can I bring the wizard back up to change the publish location?


share|improve this question
The marked as best and the most upvoted here answers proposing the use UDCX data connection files are not applicable to Infopath Form templates of type/compatibility Sharepoint List Form and Workflow Form at all. The best answers should have been describing the hacking of template's source files which are unfortunately the less voted here – Gennady Vanin Геннадий Ванин Oct 5 '12 at 8:45
About the File -> Publish answer, I do not know under what circumstances that the solution works. I followed the steps and no dialog box appeared. InfoPath immediately published the InfoPath form to the old site, which is production. I started the InfoPath editing from within SharePoint 2010 so maybe that makes a difference. I noticed the answer about saving as a new file, which I had done and it made no difference. – user14983 Feb 18 '13 at 22:14

16 Answers 16

up vote 4 down vote accepted

Yes this is "by design". If you want to deploy a form to a different location, use Data Connection Files (.udcx). Here's a good article about how to create and use them properly.

Now if you change the environments, you download the .udcx file from the DEV data connection library and change the ListId to the ListId of your PROD list, and upload the udcx to the data connection library of your PROD environment.

<udc:ConnectionInfo Purpose="ReadOnly" AltDataSource="">
            <udc:ListId>{Change Here}</udc:ListId>

Then, if you re-publish, infopath will ask you if you want to adjust the the URLs

share|improve this answer
Your reference cannot be applied to data connections on "Sharepoint List Form" Infopath form. The data connections for sharepoint lists are generated automatically (cannot be created manually by wizard), nonmodifiable and cannot be saved as UDCX file. – Gennady Vanin Геннадий Ванин Jul 28 '12 at 3:50

I had the same problem and found out a way to solve it. I saved the form as source files, opened all the files in a text editor (in my case on Visual Studio) and replaced all URLs, used for publishing (actually in 2 files: manifest.xsf and view1.xsl).

After publishing it worked fine.

Good luck.

Regards, Pilan

share|improve this answer
I would have chosen it as correct answer – Gennady Vanin Геннадий Ванин Jul 22 '12 at 14:36

I found the best approach. It may be little manual but worth it (at least try it once).

  1. xsn files are basically a cab files with bunch of related files in it.
  2. rename xsn to cab and extract to a location (alternatively you could from infopath file > publish > export source files)
  3. Fix the manifest file for new target location
  4. Re-create the cab file (makecab command)
  5. rename cab to xsn

Here is a good article.

share|improve this answer
+1 though I think you missed the stages of saving template locally, then republishing it while the stage of re-creating the cab file is unnecessary since it is being done under the hood by publishing and manual replacing the template.xsn will not work, in my experience – Gennady Vanin Геннадий Ванин Jul 22 '12 at 14:35

Ok found the answer, but it's actually ridiculous!

The Option I took when creating the Form from Infopath Designer, was "Sharepoint List" template, which seems to be the cause of the problem, as it basically contraints you to working on THAT specific List in that specific Site. In Other words, you can't move the Template! Is that by Design? It would be shocking if it is...

Anyways, A workaround, is to save your List as a template and create it somewhere else. You can now also Download the form again from the newly created list and modify it as you want.

Can't find any docs from MS which describes this behaviour, so i'm sure it's a Bug.

share|improve this answer
The content of lookup fields is lost at such moving if it is through STP files (to another site collection) – Gennady Vanin Геннадий Ванин Jul 28 '12 at 10:23

There is a general misunderstanding of the difference between code and content. This is partly the fault of Microsoft for constantly ignoring the fundamental separation of code and data.

In Sharepoint 2010, Code and Content separation is rigorously imposed by the science of Document Management. To be clear Code can execute in the Sharepoint Application itself (SPTimer Service), everything else is Content.

Template.xsn is not Code, it is Content because it runs on a client (InfoPath Filler or InfoPath Forms Service). And do you Deploy content? No, content is Published.

Developers typically bring DEV/TEST/PROD thinking to InfoPath. Instead you should be thinking AUTHOR/APPROVE/PUBLISH. InfoPath publishes only tightly managed content and does not allow any unsafe client Code to execute on the server without Farm Admin deployment.

Bottom line, InfoPath and Sharepoint Designer are Content Editors just like Word and Excel. They are not Development tools.

  1. use SharePoint Designer (SPD) to open the PROD site
  2. copy the current template.xsn to a new file in the same location.
  3. edit the new file in InfoPath by double clicking from SPD
  4. When done publish the new file (it will go to the same SharePoint List location in PROD)

Job Done.

  • If recovery is needed, simply repeat steps 1-4 on the original template.xsn
share|improve this answer

If you are working with InfoPath List form, you can not change publishing options from within InfoPath. Usually this means that you should create new InfoPath form and manually create all rules and controls using the previous form as an example.

Howewer, infopath xsn form is a cab file, wich contains multiple xml files. The file manifest.xsf inside that cab archive contains info about publishing options. If you really need to change publishing url, you may dig in that direction.

Below I post my steps to achieve this. I cannot guarantee 100% result, but it worked for me:

  • Save infopath form on your hard drive
  • Change extension of the saved form from xsn to cab and unpack its content
  • Find the manifest.xsf file and change it as follows:
    • The baseUrl tag, relativeUrlBase attribute: set the url of another list. There must be absolute url which points to specific content type folder (e.g. for Tasks list it should be http://weburl/Tasks/Task
    • Find the sharepointListAdapterRW tag with name="Main Data Connection" attribute and change its attributes as follows:
      • sharePointListID attribute to Id of your new list. You can find Id of the list with tools like Sharepoint Manager 2010.
      • contentTypeID attribute (if it differs) to the content type id of your new list.
      • siteURL to absolute url of the web, containing your list (e.g. http://site/web1/web2/)
      • relativeListUrl to the web-relative path of your new list, e.g. Lists/Tasks
  • Compress files in cab archive, (I myself used cabpack for that purpose) and set its extension to xsn.
  • Open compressed xsn with InfoPath designer, click "Refresh Fields", check that the form is ok, save it and publish it. It should be published in new location.
share|improve this answer
No need to compress files in archive, just open manifest.xsf in Infopath Designer, save as XSN and publish, to a changed location – Gennady Vanin Геннадий Ванин Jan 9 '13 at 9:46
Thank you, I didn't know about it – Egor Emelianov Jan 9 '13 at 10:02
In my answer I adressed how to submit to multiple sharepoint lists since this workaround permits to change the publish location, but it does not enable to submit the same form to various/multipe (or more than one) sharepoint lists – Gennady Vanin Геннадий Ванин Jan 9 '13 at 10:20
To moderator: I've made edits ("This is my answer to another, similar question") to this answer by mistake (having though that I was editing my own answer)!!!! Please don't approve them! – Gennady Vanin Геннадий Ванин Mar 10 '13 at 3:36

I came across this thread, when encountering the same problem, and unfortunately for existing forms I could not get any of the solutions to work absolutely correct, so had to redesign from scratch. However as I am working more in InfoPath all the time and have to share variations of the same forms around - I thought I would give my non tech solution.

I create a read only copy of the form without any publish location - and then use this as a master template. I can then publish a copy of this form with the location to where needed as I have the master copy still intact.

Hope this helps

share|improve this answer

After spending many hours i have found out some solution so i thought let me share with you guys. You might have found slimier kind of solution. I have figured out solution which may be more easy way to do it, and below are the steps.

  1. You can save as your existing list as template.
  2. At same site or different site, create new list using saved form template.
  3. Then go to New List - List Settings -> General Settings -> Form Settings.
  4. Select modify the existing Info Path Form
  5. Click button OK

It will open form in Info Path. Here you can see in publish and quick publish option your new List's path. You can save your form and do required changes if you want to and then publish it.

This option seems bit funny but it works for me.

Thanks Everyone.

share|improve this answer

Save the form as a new file and just change the submit options to point to a different list.

share|improve this answer

If you publish to a Document or Form Library, I found the option to change this easily. I had the same problem and initially I thought the solution would be complicated as Gennady explained, but after seeing this then I was able to change the publish location quickly. Go to File->Publish as you said but then find the "Publish Form to a SharePoint Library" option with the "SharePoint Server" button to the left of it, from there you get back to the original publishing dialog where you can input your new destination location.

share|improve this answer

This is my answer to another, similar question, that was removed and my answer migrated here, so having made my answer repeating previous answers

You can submit from the same Infopath form to multiple sharepoint lists though, for this, one should avoid using Infopath form template of type/compatibility Sharepoint List Form. I.e. you should avoid generating IP form template by pressing Customize button in browser or Sharepoint Designer or by pressing Sharepoint List button in Infopath Designer File > New > Sharepoint List. Use any other IP types of form templates

Also, check:

share|improve this answer

Another option that seems to have worked for me is this:

Create a template of the list from the development environment.

Create the list in the production environment using the new list template.

Create a new form in InfoPath selecting "SharePoint List" as the type.

Set the location of the SharePoint site as your production site which contains the new list.

Choose "Customize an existing SharePoint List" and select the list you created from the development list template.

InfoPath will open the list and its existing InfoPath form. You can now save this InfoPath form as the template for your new list location.

share|improve this answer

Have you changed submit option in info path to your new location (production) ? If you want to publish directly to SharePoint library or list then in this blog all the steps are mentioned and if you are trying to publish it to the content type then you can follow the instruction given in this link,

share|improve this answer

To get rid of this issue ,you can create your form in a "new blank template" instead of "new SharePoint list "template.

In this way you can save it anywhere , publish it on any site and manage your submit button option to any list.

share|improve this answer
Would you please explain or show some steps on how to manage submit button option to any list. – Asad Refai Sep 4 '15 at 6:52
In submit button options go to submit options,Select Allow users to submit this form. Then in send data to a single destination choose "sharepoint document library".Add your required library URL , You can add another URL there,and manage. A button named "manage" will be activated when you add multiple destinations . – jp nayak Sep 4 '15 at 10:43

Right click the .xsn file and select "Design" from the dropdown. Click "File" then "Publish" Select the new location. Done

share|improve this answer

Easy way to move infopath list template from dev (any site) to prod any any site with same list format

scenario dev- site url

       prod-site url-
  1. Open your infopath form template in infopath designer
  2. Click on file menu and select publish and select export source file ( say to you desktop ) put it in folder say folder xxx - close you infopath form template
  3. from folder xxx open the manifest file in notepad ++ or and script writer
  4. look for select the dev-site and replace it with prod site URL

then save manifest file and publish it done

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.