Uninstall Workflow manager client 1.0 keeps failing

I keep getting “Failed” status.
relevance is:
(/* Only run if Workflow Manager Client 1.0 is installed / 1 = number of keys whose( (exists values “DisplayName” whose(it as string as lowercase starts with “Workflow Manager Client 1.0” as lowercase) of it) AND (exists values whose(it as string as lowercase starts with “msiexec”) of it) ) of keys “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of ( x64 registries; x32 registries )) AND (/ Windows Only */ windows of operating system)

I got the action scripts from big fix itself, searching up the computer and looking at the uninstall script under program files. Any help would be appreciated

action script:

waithidden cmd.exe /C MsiExec.exe /X{{81C3EA59-B45D-3191-9AB0 C54A64CB3147} /qn /norestart waithidden
cmd.exe /C MsiExec.exe /X{{EFDBE527-0BE0-44C9-BF17-579DAC7FBAD4} /qn /norestart

I’m on my phone so please excuse mistakes :sweat_smile:

It might be down to the path of msiexec so I’d do it like this…

// Define the action script log
action parameter query “LogFilePath” with description “Enter the full path for the log file (e.g., C:\Logs\uninstall.log):”

// Get the location of msiexec.exe from the registry
parameter “MsiExecPath” = value “InstallerLocation” of key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer” of native registry

// Uninstall the first MSI package
waithidden cmd.exe /C “{parameter “MsiExecPath”}” /X{{81C3EA59-B45D-3191-9AB0-C54A64CB3147}} /qn /norestart /log “{parameter “LogFilePath”}”

// Uninstall the second MSI package
waithidden cmd.exe /C “{parameter “MsiExecPath”}” /X{{EFDBE527-0BE0-44C9-BF17-579DAC7FBAD4}} /qn /norestart /log “{parameter “LogFilePath”}”

1 Like

This is how I usually uninstall MSI-based removals; that way, the GUID is automatically calculated and you don’t need to supply it.

//Removing MSI version
//Check the existence
if {(exists value "UninstallString" whose (it as string contains "MsiExec") of keys whose (value "DisplayName" of it as string is "Workflow Manager Client 1.0") of keys "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall" of (x64 registries; x32 registries))}

//If exists perform removal
waithidden msiexec.exe /X { name of keys whose( (exists values "DisplayName" whose(it as string as lowercase starts with "Workflow Manager Client 1.0" as lowercase) of it) AND (exists values whose(it as string as lowercase starts with "msiexec") of it) ) of keys "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" of ( x64 registries; x32 registries ) } /qn
endif

Also, consider if it is a 64-bit application, you might need to disable wow64 redirection by adding

action uses wow64 redirection false

on any line before the ‘waithidden’ commands.

ok let me try these and see if it works, thank you guys

1 Like

The relevance statement is incorrect it does not work.

which part is not working, could you please share error msg & screen shot.

All the errors are on Line 3
2 errors stating " A literal value or parenthesized expression was expected before '<end of input>'


1 error stating: missing "then" keyword before <end of input>
1 error stating: missing "else" keyword before <end of input>

stated in the debugger

Note that it is better to use the </> button on your code, since quote marks get turned into “smart” (stupid) quotes, and the asterisks may be used to format your post. Is this correct?

(/* Only run if Workflow Manager Client 1.0 is installed */ 1 = number of keys whose( (exists values “DisplayName” whose(it as string as lowercase starts with “Workflow Manager Client 1.0” as lowercase) of it) AND (exists values whose(it as string as lowercase starts with “msiexec”) of it) ) of keys “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of ( x64 registries; x32 registries )) AND (/* Windows Only */ windows of operating system)

If so, I would expect it to work correctly. I tried a variation of this using an application installed on my system, and it returned true.

These errors look like they would be ActionScript errors; but the sample ActionScript you posted above has no if/then/else statements. You’ll have to post the actual script that is giving you an error message for us to figure out where the issue lies.

I’m referring to khurava reply. His relevance is giving me an error and the actionscript is right under the post he made

Based on the error you were citing, it’s possibly a copy/paste error with doublequotes replaced by ‘smart quotes’ ?

When I run @vk.khurava 's actionscript I get no errors (I don’t have the product installed, but that’s enough to check the if/then/else structure is correct anyway)


Ah, I see, the earlier post from @vk.khurava was a script with several commands in a row. I’ve recopied them here and removed comments for brevity.

This can be read as

if <Workflow is installed>
 waithidden <uninstall workflow>
endif
if {(exists value "UninstallString" whose (it as string contains "MsiExec") of keys whose (value "DisplayName" of it as string is "Workflow Manager Client 1.0") of keys "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall" of (x64 registries; x32 registries))}

    waithidden msiexec.exe /X { name of keys whose( (exists values "DisplayName" whose(it as string as lowercase starts with "Workflow Manager Client 1.0" as lowercase) of it) AND (exists values whose(it as string as lowercase starts with "msiexec") of it) ) of keys "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" of ( x64 registries; x32 registries ) } /qn

endif

These three commands all need to be run together in the Debugger or Fixlet Action.

in the fixlet action
which statement should i put under relevance and which should i put under action script?

i really appreciate it

You must copy and paste the entire text that I previously shared, making sure to match the software’s display name to your specifications.