Uninstalled an msi application failed

(imported topic written by go4u)

BES v7.2.5.22

Fixlet debugger V2.0.0.3

I want to Uninstalled certain msi application ,find some strange thing (and failed)

1ã€

q:(values “UninstallString” of key whose (value “DisplayName” of it as string as lowercase contains ("%cc%da%d1%b6QTalk" as string as lowercase )) of key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry as string)

A: MsiExec.exe /X{1FA3941F-F736-4B78-B482-9C8085BAF117}%00

question1: why there is “%00”?

2ã€

wait {(pathname of system folder)&"\msiexec.exe /QN /X"&("%7b" & preceding text of last “%7d” of (following text of first “%7b” of string (values “UninstallString” of key whose (value “DisplayName” of it as string as lowercase contains (“qtalk” as string as lowercase)) of key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry as string) ) & “%7d”)}

the application can be Uninstalled

STATUS: Running action…

Command succeeded (Exit Code=0) wait C:\WINDOWS\system32\msiexec.exe /QN /X{1FA3941F-F736-4B78-B482-9C8085BAF117}

  • Result —

Evaluation completed successfully!

3〠reinstalled the applicaton,Using console run an action,action same as setp 2 list

the action finished,but the application isn’t be Uninstalled

log:

Command succeeded (Exit Code=1605) wait C:\WINDOWS\system32\msiexec.exe /QN /X{1FA3941F-F736-4B78-B482-9C8085BAF117}

4〠Fixlet debugger :

wait C:\WINDOWS\system32\msiexec.exe /QN /X{1FA3941F-F736-4B78-B482-9C8085BAF117}

STATUS: Running action…

Command failed (Relevance substitution failed) wait C:\WINDOWS\system32\msiexec.exe /QN /X{1FA3941F-F736-4B78-B482-9C8085BAF117}

Command failed (Relevance clauses must be surrounded by { and } guards.) wait C:\WINDOWS\system32\msiexec.exe /QN /X{1FA3941F-F736-4B78-B482-9C8085BAF117}

5〠Fixlet debugger :

wait C:\WINDOWS\system32\msiexec.exe /QN /X {{1FA3941F-F736-4B78-B482-9C8085BAF117}

successed

6〠BES

wait C:\WINDOWS\system32\msiexec.exe /QN /X {{1FA3941F-F736-4B78-B482-9C8085BAF117}

log

Command succeeded (Exit Code=1605) wait C:\WINDOWS\system32\msiexec.exe /QN /X{1FA3941F-F736-4B78-B482-9C8085BAF117}

7〠BES

wait C:\WINDOWS\system32\msiexec.exe /X {1FA3941F-F736-4B78-B482-9C8085BAF117}

Command failed (Relevance substitution failed) wait C:\WINDOWS\system32\msiexec.exe /X {1FA3941F-F736-4B78-B482-9C8085BAF117}

(imported comment written by go4u)

bes run

wait {(pathname of system folder)&"\msiexec.exe /qn /X “&(”%7b" & preceding text of last “%7d” of (following text of first “%7b” of string (values “UninstallString” of key whose (value “DisplayName” of it as string as lowercase contains ( “qtalk” as string as lowercase)) of key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry as string) ) & “%7d”)}

Command succeeded (Exit Code=1605) wait C:\WINDOWS\system32\msiexec.exe /qn /X {1FA3941F-F736-4B78-B482-9C8085BAF117}

(imported comment written by JasonHonda)

Couple of things I notice here.

The %00 is a null character that is somtimes at the end of the uninstallString in the registry, but sometimes not.

The times you got relevance substitution failed were because the { was not escaped with an extra {{.

Typically to uninstall you want to do something like this. Of course want to test this.

waithidden {(if it ends with “%00” then preceding text of first “%00” of it else it) of (value “UninstallString” of keys whose (value “DisplayName” of it = “Program”) of key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry as string)} /qn

(imported comment written by go4u)

I test it,but it failed ,though the status is “completedâ€

action:

waithidden {(if it ends with “%00” then preceding text of first “%00” of it else it) of (value “UninstallString” of keys whose (value “DisplayName” of it as string as lowercase contains (“qtalk” as string as lowercase)) of key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry as string)} /qn

log:

Command succeeded (Exit Code=1605) waithidden MsiExec.exe /X{1FA3941F-F736-4B78-B482-9C8085BAF117} /qn (fixlet 282)

(imported comment written by Masso91)

Exit Code 1605 - This action is only valid for products that are currently installed.

You’ve either already removed it or you have the wrong GUID.

(imported comment written by go4u)

it has not been remove,and guid is right,which can use dos cmd to run

Windows Registry Editor Version 5.00

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-21-1864768867-2049791536-1386283574-500\Products\F1493AF1637F87B44B28C90858AB1F71\InstallProperties

“RegCompany”=""

“ProductID”=“none”

“LocalPackage”=“C:\WINDOWS\Installer\5dadd.msi”

“AuthorizedCDFPrefix”=""

“Comments”=""

“Contact”=""

“DisplayVersion”=“2.1.26.1637”

“HelpLink”=""

“HelpTelephone”=""

“InstallDate”=“20111107”

“InstallLocation”=“C:\Program Files\Tencent\QTalk\”

“InstallSource”=“C:\Documents and Settings\Administrator\Application Data\Tencent\STemp\QTalk\QTalk~0\”

“ModifyPath”=hex(2):4d,00,73,00,69,00,45,00,78,00,65,00,63,00,2e,00,65,00,78,\

00,65,00,20,00,2f,00,58,00,7b,00,31,00,46,00,41,00,33,00,39,00,34,00,31,00,\

46,00,2d,00,46,00,37,00,33,00,36,00,2d,00,34,00,42,00,37,00,38,00,2d,00,42,\

00,34,00,38,00,32,00,2d,00,39,00,43,00,38,00,30,00,38,00,35,00,42,00,41,00,\

46,00,31,00,31,00,37,00,7d,00,00,00

“NoModify”=dword:00000001

“NoRepair”=dword:00000001

“Readme”=""

“Size”=""

“EstimatedSize”=dword:00004504

“UninstallString”=hex(2):4d,00,73,00,69,00,45,00,78,00,65,00,63,00,2e,00,65,00,\

78,00,65,00,20,00,2f,00,58,00,7b,00,31,00,46,00,41,00,33,00,39,00,34,00,31,\

00,46,00,2d,00,46,00,37,00,33,00,36,00,2d,00,34,00,42,00,37,00,38,00,2d,00,\

42,00,34,00,38,00,32,00,2d,00,39,00,43,00,38,00,30,00,38,00,35,00,42,00,41,\

00,46,00,31,00,31,00,37,00,7d,00,00,00

“URLInfoAbout”=“http://www.tencent.com

“URLUpdateInfo”=""

“VersionMajor”=dword:00000002

“VersionMinor”=dword:00000001

“WindowsInstaller”=dword:00000001

“Version”=dword:0201001a

“Language”=dword:00000804

“DisplayName”=“QTalk”

UninstallString is

MsiExec.exe /X{1FA3941F-F736-4B78-B482-9C8085BAF117} from the regedit information