title: No application is associated with the specified file for this operation
body: <p>I am currently using <code>Process.start()</code> in a controller method in my ASP MVC site. This is a small intranet app, so security beyond the basic stuff we have set up is not a major concern. </p>
  
  <p>The users will be able to enter filepath for the attachments that is the location of a shared folder on our LAN. Then, when an edit page for each account is brought up, the page will display a hyperlink to the attachment. The user should be able to click on the hyperlink and open up the file, not a copy of the file or download a copy of the file, so that they may make and save edits. </p>
  
  <p>My first attempt at this was to create the following <code>ActionLink</code> that sends the file's location to the controller. </p>
  
  <pre><code>&lt;div class="M-editor-label" style="width: 400px;word-wrap: break-word;"&gt;
      @Html.ActionLink(Model.Attachment, "OpenAttachment", "BankListMaster", new { location = Model.Attachment }, new { @target = "_blank" })
  &lt;/div&gt;
  </code></pre>
  
  <p>The controller then uses <code>Process.Start()</code> to open the file like so</p>
  
  <pre><code>    public void OpenAttachment(string location)
      {
          try
          {
              EventLog.WriteEntry("Monet", "Inside OpenAttachment |URL| " + location);
  
              Process proc = new Process();
              proc.StartInfo = new ProcessStartInfo(location);
              proc.Start();
          }
          catch (Exception ex)
          {
              EventLog.WriteEntry("Monet", ex.StackTrace);
          }
      }
  </code></pre>
  
  <p>This worked fine when I was testing locally, but the server does not have a copy of Office installed and so I get this error in the <code>catch</code> block:  </p>
  
  <pre><code>No application is associated with the specified file for this operation.  at 
  System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
  at System.Diagnostics.Process.Start()
  at Monet.Controllers.BankListMasterController.OpenAttachment(String location) in 
  C:\Projects\sym_Monet_INT\Monet\Controllers
  </code></pre>
  
  <p>Can anyone either point me in the direction of a fix for the method I'm using or in the direction of a better one that will accomplish the same goal? </p>