title: Ansible win_msi installation fails
body: <p>I'm trying to make this work for a while now, running out of ideas.</p>
  
  <p>I got an .msi file which I want to install on a Win7 client using Ansible.
  The playbook runs through but in the end the program won't be installed.</p>
  
  <p>I also cannot make it work with the "raw" command which works with .exe files but doesn't seem to work with my .msi file.</p>
  
  <p>Specs:</p>
  
  <pre><code>ansible --version
  ansible 2.2.0.0
  </code></pre>
  
  <p>OS i'm trying to install on is Win7 Proffesional.</p>
  
  <p>Powershell version is:</p>
  
  <pre><code>$psversiontable
  
  Name         Value
  ----         -----
  PSVersion    5.0.10589.117
  </code></pre>
  
  <p>Playbook looks like this:</p>
  
  <pre><code> - name: Install zarafaclient version 7.2
       win_msi:
         path: 'C:\\temp_files\\z7.2.msi'
         state: present
  </code></pre>
  
  <p>I also tried different syntaxes, so the playbook shouldn't be the issue.</p>
  
  <p>Here is what I get from ansible if I run it with -vvvv</p>
  
  <pre><code>TASK [Install zarafaclient version 7.2] ****************************************
  task path: /home/pfl/ansible/Provisioning-Windows-with-Ansible/playbook.yml:10
  Using module file /usr/lib/python2.7/site-packages/ansible/modules/core/windows/win_msi.ps1
  &lt;192.168.37.144&gt; ESTABLISH WINRM CONNECTION FOR USER: fdsadm on PORT 5986 TO 192.168.37.144
  &lt;192.168.37.144&gt; EXEC Set-StrictMode -Version Latest
  (New-Item -Type Directory -Path $env:temp -Name "ansible-tmp-1481285937.55-262476455300775").FullName | Write-Host -Separator '';
  &lt;192.168.37.144&gt; PUT "/tmp/tmp0l4Ayh" TO "C:\Users\fdsadm\AppData\Local\Temp\ansible-tmp-1481285937.55-262476455300775\win_msi.ps1"
  &lt;192.168.37.144&gt; EXEC Set-StrictMode -Version Latest
  Try
  {
  &amp; 'C:\Users\fdsadm\AppData\Local\Temp\ansible-tmp-1481285937.55-262476455300775\win_msi.ps1'
  }
  Catch
  {
  $_obj = @{ failed = $true }
  If ($_.Exception.GetType)
  {
  $_obj.Add('msg', $_.Exception.Message)
  }
  Else
  {
  $_obj.Add('msg', $_.ToString())
  }
  If ($_.InvocationInfo.PositionMessage)
  {
  $_obj.Add('exception', $_.InvocationInfo.PositionMessage)
  }
  ElseIf ($_.ScriptStackTrace)
  {
  $_obj.Add('exception', $_.ScriptStackTrace)
  }
  Try
  {
  $_obj.Add('error_record', ($_ | ConvertTo-Json | ConvertFrom-Json))
  }
  Catch
  {
  }
  Echo $_obj | ConvertTo-Json -Compress -Depth 99
  Exit 1
  }
  Finally { Remove-Item "C:\Users\fdsadm\AppData\Local\Temp\ansible-tmp-1481285937.55-262476455300775" -Force -Recurse -ErrorAction SilentlyContinue }
  changed: [192.168.37.144] =&gt; {
      "changed": true, 
      "invocation": {
          "module_name": "win_msi"
      }, 
      "log": ""
  }
  
  PLAY RECAP *********************************************************************
  192.168.37.144             : ok=2    changed=1    unreachable=0    failed=0   
  </code></pre>