cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Flexera beginner

trying to us SYSTEM SEARCH to create an uninstall process for a non MSI version of my product

I have created an InstallScript MSI version.  However, we have some extremely old installscript versions that I would like to delete.  Those scripts only have product versions and product code, no upgrade code.   Following instructions I have seen I have created this in system search.   

valmacher_0-1582878509694.png

I have not been able to create the custom command to match, and this is help I would like to get.

!)  I would like to uninstall the older program using this path.  What is the correct syntax for the Action Command.  It should be removed before installing the new.

2) I actually have 2 other versions of  an Installscript that need to be removed.   They have their own product code, which is different from the one above and the new install.   Can I create a sequence that would compare the registry entry for each one and when one matches, start the uninstall. 

I keep seeing that one should be possible, but haven;t seen all of the instructions I needed.    I have been using this blog post which has helped, but the Action command detail is light. (https://dredgin.gs/uninstall-a-previously-installed-program-using-windows-installer-in-an-msi-create...)

I'm fairly new to installShield, and the techniques I need to get this installer finished aren't beginner level.  I would appreciate any help I can get.

Labels (1)
0 Kudos
6 Replies
Highlighted
Intrepid explorer

Re: trying to us SYSTEM SEARCH to create an uninstall process for a non MSI version of my product

Just read the search property.
My example:
function OnFirstUIBefore()
…………….
Dlg_SdWelcome:
svProp="";
nvSize = 512;
MsiGetProperty(ISMSI_HANDLE,"FOUND_NON_MSI_COMP",svProp,nvSize);
// you see message box:
MessageBox(svProp,0);
// just call svProp to initiate uninstallation run.
………………….
Highlighted
Flexera beginner

Re: trying to us SYSTEM SEARCH to create an uninstall process for a non MSI version of my product

After many weeks, I'm back to attempting to complete this.

From what you wrote, I can check the registry for one of three older versions.

However, this statement

// just call svProp to initiate uninstallation run.

Assumes I have knowledge to trigger this.  And I don't

Can you explain what the line of code would look like?

Thanks in advance for the last bit of help

0 Kudos
Highlighted
Intrepid explorer

Re: trying to us SYSTEM SEARCH to create an uninstall process for a non MSI version of my product

what does the MessageBox show?
What is the value of svProp ?
0 Kudos
Highlighted
Flexera beginner

Re: trying to us SYSTEM SEARCH to create an uninstall process for a non MSI version of my product

It depends.  I am looking for 3 particular product codes.   I need to check for each.  If it doesn't match the first, then I check for the second. If it's missing, then I check for the third. 

I also am using the  upgrade code for our newer style, but the majority of our customer base will have one of the older ones.   I want to be able to uninstall the old, before installing the new.    This has to be done inside the application.

0 Kudos
Highlighted
Intrepid explorer

Re: trying to us SYSTEM SEARCH to create an uninstall process for a non MSI version of my product

It depends of registry value found.
Please read in the IS help how to find UninstallString and start uninstallation.
0 Kudos
Highlighted
Flexera beginner

Re: trying to us SYSTEM SEARCH to create an uninstall process for a non MSI version of my product

I have done so and found the information lacking at best.

0 Kudos