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

A coworker has been tasked with adding a hyperlink to an InfoPath 2010 form which will open an outside application. He has successfully created his hyperlink and tested it in the InfoPath Filler application (not a browser). When he loads the form in a browser, though, the link doesn't work. In IE it just opens a blank window and in Firefox it just reopens the form (same location url).

An important thing to note: The protocol of the hyperlink is NOT http. Instead it is an in-house protocol handled by software we've written and deployed to all our machines.

It works like this: ourProtocol://app=SomeApplication?arg=Argument. Normally, when a link like this is clicked the OS checks for an application registered to handle ourProtocol and then our app takes care of the rest.

So, my question is: Does SharePoint apply and security measures to links in InfoPath forms? I'm guessing that the link may be disabled because the protocol isn't http. Or could there be a setting to disable links in forms?

Another note: I had a quick peek at the source form when rendered in a browser and the hyperlink target string is there, but in a JS call.

share|improve this question
Do you mean to say that your co-worker is attempting to use JavaScript within an InfoPath browser form? I believe that is an unsupported scenario but could you clarify that is the case? – Benjamin J Athawes Apr 30 '11 at 0:58
no, he isn't using javascript. I'm new to InfoPath so excuse me if the terminology I use is wrong: What he did was add a Hyperlink component and set the Target property with a datasource. The datasource is ahidden text field which uses a formula to concatenate a string literal and another field. – MetaFight Apr 30 '11 at 15:35

The link within an INfoPath form is set to use a .js script when used from the browser. There is a problem with this in that, browser forms have always had to have specific levels of trust in order to take action on a user's client machine. It appears that this link you are using actually is to open an application that is local to the client. I am afraid that you are going to run into the same problems that printing a form runs into, which requires a lot of custom coding to take place within the form. The default behavior for links in InfoPath is to open them in a new window, I'm sure this is why you get the new blank window. You may need to consider some custom code that will call your application for browser forms.

share|improve this answer
Hi Lori, thanks for the reply. Your comment helped me work a few things out. First, I checked if IE was treating our custom protocol as it would file://. Luckily, it doesn't. I was able to host a link on an external webpage and IE attempted to resolve it. Unfortunately, IE doesn't like the link's syntax and tries to 'fix' it. This mangles the link. It's replacing characters in the link (& with a ?) and it's adding a trailing /. Unfortunately, our link handler doesn't cope well with this. The plan now is to use C# code to get the OS to open the link. This way we can bypass IE – MetaFight May 3 '11 at 8:43

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.