Archive: Registry assistance needed

Registry assistance needed

I'm fairly new at using NSIS. I've had a bit of success so far with a different installer, but now I'm stuck on a new project. I've been looking through many googled pages for the answer to this question without success. How do I use the registry plug-in for NSIS to search a series of keys for one word so I can determine it's MSI uninstall string?

I don't know what the current MSI uninstall string is because there are multiple versions of the product. in this case the product is Symantec Endpoint Protection. How would I write the code to basically look through the HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall keys for a DisplayName value of Symantec Endpoint Protection? I've looked at the registry plugin wiki page, but I don't believe that I am understanding the documentation.

Any help would be appreciated.

You should read the documentation included with the plugin, as the wiki page is far from complete.

I've read the documentation included, and I still have the same question. How do I find the GUID of the installed program in the registry? I can search for the DisplayName Value, but how can i translate that to a GUID to uninstall?

When using the example (${registry::Find} "$0" $1 $2 $3 $4), $1 will hold the registry path of your program.
This path contains your GUID.
You should be able to extract the GUID using WordFind.

You can enumerate keys and values with the NSIS EnumReg* instructions, no need to use a plugin

OK. The thing is, I only know the DisplayName value. I need the GUID from the uninstall key so I can use it in an uninstall string. I'm not sure what's the most efficient way of getting that GUID.

Am I making any sense? I may also be going about this the wrong way.

You'll need to enumerate through the registry keys looking at the DisplayName. When you see the correct one, the uninstall string entry in the same key will have the path (GUID) you're looking for.

Check these Articles:

How to uninstall the Symantec Endpoint Protection Client using the Microsoft Installer (MSI) command line interface.

SEPprep competitive product uninstall tool

Also take a glance at these 3 links and let me know if this answers your question.

Hope that helps!!