Uninstall old program, install new version - Fixlet failing

(imported topic written by PKLumos)

Long story short, I have a program running on a few hundred box that I need to upgrade. However, prior to upgrading I need to uninstall the old version as an in-place upgrade will not work. All Office apps must not be running for either of these steps to occur as some integration features are involved. When I first set out to do this, I simply wrote a batch file to test the process on a local machine. That batch file is as follows:

echo off

taskkill /IM winword.exe

taskkill /IM excel.exe

taskkill /IM outlook.exe

taskkill /IM powerpnt.exe

taskkill /IM msaccess.exe

wmic product where name=“IQ Client” call uninstall /nointeractive

“C:\Program Files\Softland\novaPDF OEM 7\unins000.exe” /verysilent

msiexec /i client.msi /quiet ADDLOCAL=OfficeConnectorFeature,IQDesktopFeature,IQPrinterFeature,ExplorerConnectorFeature

This worked perfectly.

However, when attempting to deploy this via TEM I am getting a “Succeeded” result…but it’s not uninstalling the old versions at all, nor is it installing the new version.

My action script looks like this:

download http://XXXXXXXX.XXXXXXXX.XXX:52311/Uploads/56ad82cd3f5223ba24de12c961e918bfa4a5efd7/IQ11.tmp

continue if {(size of it = 17464524 AND sha1 of it = “56ad82cd3f5223ba24de12c961e918bfa4a5efd7”) of file “IQ11.tmp” of folder “__Download”}

extract IQ11.tmp

waithidden “{pathname of client folder of site “BESSupport”}\taskkill.exe” /F /IM winword.exe

waithidden “{pathname of client folder of site “BESSupport”}\taskkill.exe” /F /IM excel.exe

waithidden “{pathname of client folder of site “BESSupport”}\taskkill.exe” /F /IM outlook.exe

waithidden “{pathname of client folder of site “BESSupport”}\taskkill.exe” /F /IM msaccess.exe

waithidden “{pathname of client folder of site “BESSupport”}\taskkill.exe” /F /IM powerpnt.exe

waithidden “{pathname of system folder & “\cmd.exe”}” /c wmic product where name=“IQ Client” call uninstall /nointeractive

waithidden “{pathname of system folder & “\cmd.exe”}” /c “C:\Program Files\Softland\novaPDF OEM 7\unins000.exe” /verysilent

wait “{pathname of system folder & “\msiexec.exe”}” /i “{(pathname of client folder of current site) & “__Download\client.msi”}” /quiet ADDLOCAL=OfficeConnectorFeature,IQDesktopFeature,IQPrinterFeature,ExplorerConnectorFeature

All the taskkills work properly, but anything past that seems to run according to the logs on the client PC…but they never actually do anything.

The logs state:

At 13:29:34 -0400 -

ActionLogMessage: (action 275) Non-Distributed - DownloadsAvailable

ActionLogMessage: (action 275) starting action

At 13:29:34 -0400 - actionsite (http://XXXXX.XXXXXXXX.XXX:52311/cgi-bin/bfgather.exe/actionsite)

Command succeeded (Using download manager collected file) download http://XXXXX.XXXXXXXX.XXX:52311/Uploads/56ad82cd3f5223ba24de12c961e918bfa4a5efd7/IQ11.tmp (fixlet 275)

At 13:29:47 -0400 - actionsite (http://XXXXX.XXXXXXXX.XXX:52311/cgi-bin/bfgather.exe/actionsite)

Command succeeded (evaluated true) continue if {(size of it = 17464524 AND sha1 of it = “56ad82cd3f5223ba24de12c961e918bfa4a5efd7”) of file “IQ11.tmp” of folder “__Download”} (fixlet 275)

At 13:29:49 -0400 - actionsite (http://XXXXX.XXXXXXXX.XXX:52311/cgi-bin/bfgather.exe/actionsite)

Command succeeded extract IQ11.tmp (fixlet 275)

Command started - waithidden “C:\Program Files\BigFix Enterprise\BES Client__BESData\BES Support\taskkill.exe” /F /IM winword.exe (fixlet 275)

At 13:30:19 -0400 -

Report posted successfully.

At 13:30:20 -0400 - actionsite (http://XXXXX.XXXXXXXX.XXX:52311/cgi-bin/bfgather.exe/actionsite)

Command succeeded (Exit Code=128) waithidden “C:\Program Files\BigFix Enterprise\BES Client__BESData\BES Support\taskkill.exe” /F /IM winword.exe (fixlet 275)

At 13:30:21 -0400 - actionsite (http://XXXXX.XXXXXXXX.XXX:52311/cgi-bin/bfgather.exe/actionsite)

Command started - waithidden “C:\Program Files\BigFix Enterprise\BES Client__BESData\BES Support\taskkill.exe” /F /IM excel.exe (fixlet 275)

At 13:30:29 -0400 - actionsite (http://XXXXX.XXXXXXXX.XXX:52311/cgi-bin/bfgather.exe/actionsite)

Command succeeded (Exit Code=128) waithidden “C:\Program Files\BigFix Enterprise\BES Client__BESData\BES Support\taskkill.exe” /F /IM excel.exe (fixlet 275)

Command started - waithidden “C:\Program Files\BigFix Enterprise\BES Client__BESData\BES Support\taskkill.exe” /F /IM outlook.exe (fixlet 275)

At 13:30:30 -0400 - actionsite (http://XXXXX.XXXXXXXX.XXX:52311/cgi-bin/bfgather.exe/actionsite)

Command succeeded (Exit Code=128) waithidden “C:\Program Files\BigFix Enterprise\BES Client__BESData\BES Support\taskkill.exe” /F /IM outlook.exe (fixlet 275)

At 13:30:31 -0400 - actionsite (http://XXXXX.XXXXXXXX.XXX:52311/cgi-bin/bfgather.exe/actionsite)

Command started - waithidden “C:\Program Files\BigFix Enterprise\BES Client__BESData\BES Support\taskkill.exe” /F /IM msaccess.exe (fixlet 275)

Command succeeded (Exit Code=128) waithidden “C:\Program Files\BigFix Enterprise\BES Client__BESData\BES Support\taskkill.exe” /F /IM msaccess.exe (fixlet 275)

Command started - waithidden “C:\Program Files\BigFix Enterprise\BES Client__BESData\BES Support\taskkill.exe” /F /IM powerpnt.exe (fixlet 275)

At 13:30:38 -0400 - actionsite (http://XXXXX.XXXXXXXX.XXX:52311/cgi-bin/bfgather.exe/actionsite)

Command succeeded (Exit Code=128) waithidden “C:\Program Files\BigFix Enterprise\BES Client__BESData\BES Support\taskkill.exe” /F /IM powerpnt.exe (fixlet 275)

At 13:30:39 -0400 - actionsite (http://XXXXX.XXXXXXXX.XXX:52311/cgi-bin/bfgather.exe/actionsite)

Command started - waithidden “C:\windows\system32\cmd.exe” /c wmic product where name=“IQ Client” call uninstall /nointeractive (fixlet 275)

At 13:30:43 -0400 - actionsite (http://XXXXX.XXXXXXXX.XXX:52311/cgi-bin/bfgather.exe/actionsite)

Command succeeded (Exit Code=0) waithidden “C:\windows\system32\cmd.exe” /c wmic product where name=“IQ Client” call uninstall /nointeractive (fixlet 275)

At 13:30:50 -0400 - actionsite (http://XXXXX.XXXXXXXX.XXX:52311/cgi-bin/bfgather.exe/actionsite)

Command started - waithidden “C:\windows\system32\cmd.exe” /c “C:\Program Files\Softland\novaPDF OEM 7\unins000.exe” /verysilent (fixlet 275)

At 13:30:51 -0400 - actionsite (http://XXXXX.XXXXXXXX.XXX:52311/cgi-bin/bfgather.exe/actionsite)

Command succeeded (Exit Code=1) waithidden “C:\windows\system32\cmd.exe” /c “C:\Program Files\Softland\novaPDF OEM 7\unins000.exe” /verysilent (fixlet 275)

At 13:30:52 -0400 - actionsite (http://XXXXX.XXXXXXXX.XXX:52311/cgi-bin/bfgather.exe/actionsite)

Command started - wait “C:\windows\system32\msiexec.exe” /i “C:\Program Files\BigFix Enterprise\BES Client__BESData\actionsite__Download\client.msi” /quiet ADDLOCAL=OfficeConnectorFeature,IQDesktopFeature,IQPrinterFeature,ExplorerConnectorFeature (fixlet 275)

At 13:30:53 -0400 - actionsite (http://XXXXX.XXXXXXXX.XXX:52311/cgi-bin/bfgather.exe/actionsite)

Command succeeded (Exit Code=1603) wait “C:\windows\system32\msiexec.exe” /i “C:\Program Files\BigFix Enterprise\BES Client__BESData\actionsite__Download\client.msi” /quiet ADDLOCAL=OfficeConnectorFeature,IQDesktopFeature,IQPrinterFeature,ExplorerConnectorFeature (fixlet 275)

At 13:30:54 -0400 -

ActionLogMessage: (action 275) ending action

At 13:30:54 -0400 - actionsite (http://XXXXX.XXXXXXXX.XXX:52311/cgi-bin/bfgather.exe/actionsite)

Not Relevant - Software Distribution - Deploy: ImaqeQuest V11 Deployment (fixlet:275)

At 13:31:26 -0400 -

Report posted successfully.

At 13:36:41 -0400 -

Report posted successfully.

It appears that it’s getting hung up on my 2 uninstall lines, which prevents the installation of the new version from taking place. Any ideas? I’m new to fixlet authoring and am struggling a bit here. Thanks.

(imported comment written by PKLumos)

I’ve also tried to uninstall it via the equivalent

msiexec.exe /x {B21001E9-DA39-4963-B76F-CBA304F8795A} /qn

I have tried:

waithidden c:\windows\system32\msiexec.exe /qn /x{{B21001E9-DA39-4963-B76F-CBA304F8795A}

and

waithidden “{pathname of system folder & “\msiexec.exe”}” /qn /x {B21001E9-DA39-4963-B76F-CBA304F8795A}

Both will say succeeded, but nothing actually happens. Any ideas?

(imported comment written by PKLumos)

Upon further trials, I wound up trying:

waithidden “{pathname of system folder}\msiexec.exe” /X{{B21001E9-DA39-4963-B76F-CBA304F8795A} /QN /L C:\my-log.txt

It creates a blank log file on the root of C on the client machine, but does not uninstall the app. Furthermore the event viewer on the client PC has the following 2 entries:

Beginning a Windows Installer transaction: {B21001E9-DA39-4963-B76F-CBA304F8795A}. Client Process Id: 12580.

Ending a Windows Installer transaction: {B21001E9-DA39-4963-B76F-CBA304F8795A}. Client Process Id: 12580.

They have identical timestamps. Why is msiexec.exe not doing what I tell it to on this PC? If anyone has any ideas, please share as I am under the gun here.

(imported comment written by PKLumos)

It appears the program I am uninstalling is the culprit. When I use the msiexec /x command on another program via TEM it works fine. Time to dig in.

(imported comment written by PKLumos)

It’s the dreaded error 1605 issue. I can test uninstalling it locally with psexec and it fails on my box now too. Looks like I need to figure out a way to run the uninstall as something other than the SYSTEM account on the remote PC via TEM.

(imported comment written by PKLumos)

Screw it, I did it the hard way. This worked.

download http://XXXX.XXXX.XXXXX:XXXXX/Uploads/56ad82cd3f5223ba24de12c961e918bfa4a5efd7/IQ11.tmp

continue if {(size of it = 17464524 AND sha1 of it = “56ad82cd3f5223ba24de12c961e918bfa4a5efd7”) of file “IQ11.tmp” of folder “__Download”}

extract IQ11.tmp

//killing any tasks that can interfere

waithidden “{pathname of client folder of site “BESSupport”}\taskkill.exe” /F /IM winword.exe

waithidden “{pathname of client folder of site “BESSupport”}\taskkill.exe” /F /IM excel.exe

waithidden “{pathname of client folder of site “BESSupport”}\taskkill.exe” /F /IM outlook.exe

waithidden “{pathname of client folder of site “BESSupport”}\taskkill.exe” /F /IM msaccess.exe

waithidden “{pathname of client folder of site “BESSupport”}\taskkill.exe” /F /IM powerpnt.exe

waithidden “{pathname of client folder of site “BESSupport”}\taskkill.exe” /F /IM Informa.ImageQuest.Client.exe

// basically these two delete lines are here for safety just-in-case a file with the same name already exists… It is

// a habit we got into to avoid rare errors, but mostly not necessary

delete __appendfile

delete regdel.reg

// the next two appendfile lines simply make a file “__appendfile” with this information

appendfile REGEDIT4

appendfile -HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{{B21001E9-DA39-4963-B76F-CBA304F8795A}

appendfile -HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-21-3082371790-1274690562-2878062458-4428\Products\9E10012B93AD36947BF6BC3A408F97A5

// we now rename the “__appendfile” to “regdel.reg”

move __appendfile regdel.reg

// we now run “regedit /s” that is the command to import into the registry and feed it the file we made…

wait regedit /s regdel.reg

//uninstalling the old printer driver

waithidden “{pathname of system folder & “\cmd.exe”}” /c “C:\Program Files\Softland\novaPDF OEM 7\unins000.exe” /verysilent

//Removal of old folder

Folder Delete “C:\Program Files\Informa Software”

//installing the new Version

wait “{pathname of system folder & “\msiexec.exe”}” /i “{(pathname of client folder of current site) & “__Download\client.msi”}” /quiet ADDLOCAL=OfficeConnectorFeature,IQDesktopFeature,IQPrinterFeature,ExplorerConnectorFeature