From f0dcc36e6d9b322b7a54c2c324503ee268a016c0 Mon Sep 17 00:00:00 2001
From: Trond Hindenes <trond@hindenes.com>
Date: Sun, 6 Jul 2014 22:36:01 +0200
Subject: [PATCH] Revert "improved msi"

This reverts commit 7eac2121a54b8859aecbd5af37ef3adcec4d5da7.
---
 library/windows/win_msi     | 12 +------
 library/windows/win_msi.ps1 | 71 +++++--------------------------------
 2 files changed, 9 insertions(+), 74 deletions(-)

diff --git a/library/windows/win_msi b/library/windows/win_msi
index 12da6e1422c..9eb6f1bafa5 100644
--- a/library/windows/win_msi
+++ b/library/windows/win_msi
@@ -45,15 +45,7 @@ options:
         description:
             - Path to a file created by installing the MSI to prevent from
               attempting to reinstall the package on every run
-	msiname:
-		description:
-			- alternative way to check for the existence of an msi (can be used for both states (absent and present).
-			  The msiname can be found by looking at name property of the the win32_product object for the item.
-	msiversionstring
-	    description:
-		    - used in conjunction with msiname - you cannot specify msiversionstring only. 
-			  The msiversionstring can be found by looking at version property of the the win32_product object for the item.
-author: Matt Martz / Trond Hindenes
+author: Matt Martz
 '''
 
 EXAMPLES = '''
@@ -62,7 +54,5 @@ EXAMPLES = '''
 
 # Uninstall an MSI file
 - win_msi: path=C:\\\\7z920-x64.msi state=absent
-
-- win_msi: path=C:\\\\7z920-x64.msi msiname="myproduct" msiversionstring="3.2.0"
 '''
 
diff --git a/library/windows/win_msi.ps1 b/library/windows/win_msi.ps1
index 6f27e0eea34..1c2bc8a3019 100644
--- a/library/windows/win_msi.ps1
+++ b/library/windows/win_msi.ps1
@@ -24,88 +24,33 @@ $params = Parse-Args $args;
 $result = New-Object psobject;
 Set-Attr $result "changed" $false;
 
-If (!($params.path))
+If (-not $params.path.GetType)
 {
     Fail-Json $result "missing required arguments: path"
 }
 
-if (!(test-path $params.path))
-{
-    Fail-Json $result "couldn't find a file at $($params.path)"
-}
-
-
-If ($params.extra_args)
+$extra_args = ""
+If ($params.extra_args.GetType)
 {
     $extra_args = $params.extra_args;
 }
-Else
-{
-    $extra_args = ""
-}
 
-if ($params.MsiVersionString)
+If ($params.creates.GetType -and $params.state.GetType -and $params.state -ne "absent")
 {
-    $MsiVersionString = $params.MsiVersionString
-}
-
-if ($params.MsiName)
-{
-    $MsiName = $params.MsiName
-}
-
-if (($MsiVersionString) -and (!($MsiName)))
-{
-    #If msiversionstring is specified, we need msiname as well
-    Fail-Json $result "missing required arguments: MsiName"
-}
-
-
-If (($params.creates) -and ($params.state -ne "absent"))
-{
-    If (Test-Path ($params.creates))
+    If (Test-File $creates)
     {
         Exit-Json $result;
     }
 }
 
-if ($MsiName)
+$logfile = [IO.Path]::GetTempFileName();
+if ($params.state.GetType -and $params.state -eq "absent")
 {
-    $AlreadyInstalledMsi = Get-WmiObject -Query "Select * from win32_product" | where {$_.Name -eq $MsiName}
-}
-ElseIf (($MsiName) -and ($MsiVersionString))
-{
-    $AlreadyInstalledMsi = Get-WmiObject -Query "Select * from win32_product" | where {($_.Name -eq $MsiName) -and ($_.version -eq $MsiVersionString)}
-}
-Else
-{
-    if ($params.state -eq "absent")
-    {
-        #existing msi check not specify, assume msi does exist
-        $AlreadyInstalledMsi = $true
-    }
-    if ($params.state -eq "present")
-    {
-        #existing msi check not specify, assume msi does exist
-        $AlreadyInstalledMsi = $false
-    }
-}
-
-if (($AlreadyInstalledMsi) -and ($params.state -eq "absent"))
-{
-    #Already installed, perform uninstall
     msiexec.exe /x $params.path /qb /l $logfile $extra_args;
 }
-Elseif((!$AlreadyInstalledMsi) -and ($params.state -eq "present"))
-{
-    #Not already installed, perform the install
-    $logfile = [IO.Path]::GetTempFileName();
-    msiexec.exe /i $params.path /qb /l $logfile $extra_args;
-}
 Else
 {
-    #Do nothing
-    Exit-Json $result;
+    msiexec.exe /i $params.path /qb /l $logfile $extra_args;
 }
 
 Set-Attr $result "changed" $true;