title: Silent install msi from a windows service local service account
body: <p>I am building an auto-updating mechanism. A windows service that runs on a local service account responsible with the auto-updating of a msi.</p>
  
  <p>The service downloads the msi file then it tries to install it using this code:</p>
  
  <pre><code>Process process = new Process();
  process.StartInfo.FileName = "msiexec.exe";
  process.StartInfo.Arguments = string.Format(" /i \"{0}\" /qn /norestart ALLUSERS=1", sMSIPath);
  process.Start();
  process.WaitForExit();
  </code></pre>
  
  <p>Where sMSIPath is a string representing the path to the file, for example "C:\test.msi".</p>
  
  <p>This code, from a regular console application seems to be running fine. I managed to silently install adobe reader, for example.</p>
  
  <p>But from my windows service, it does nothing. According to the logs, i get a warning with this message:
  Failed to connect to server. Error: 0x80070005
  Where the user is "LOCAL SERVICE" (as i mentioned, my windows service runs as a local service).</p>
  
  <p>Also, the projects have target x86, but i am running a 64-bit OS. (i need them at x86, i want this software to be able to run on multiple operating systems).</p>
  
  <p>Any help is very well received.
  Thanks alot!</p>