PDA

View Full Version : Detect old WISE based installation



NewsArchive
06-28-2013, 12:27 AM
Hi Friedrich,

I need to detect a product that was installed with the old Wise
InstallBuilder product so I can run the uninstall while upgrading the
product.
I've done similar things with old Install Aware installations.
For Install Aware I've used SetupBuilder's Detect Previous Version command
and passed the value from
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Uninstall\OldInstallerName
that the other installer put there.

I'm trying to use the same logic to detect the Wise installer but Detect
Previous Version isn't finding it.
I ran the old installer and looked in the registry to get the string but my
SB script isn't detecting it.

Any thoughts?

Thanks,
Rick

NewsArchive
06-28-2013, 12:28 AM
Rick,

That sounds like a very clever use! After you get your answer, I'd like
to hear a little more about this.

On 06/27/13 2:51 PM, Rick Martin wrote:
> I've done similar things with old Install Aware installations.
> For Install Aware I've used SetupBuilder's Detect Previous Version command
> and passed the value from
> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Uninstall\OldInstallerName
> that the other installer put there.

--

Russ Eggen
RADFusion International, LLC

NewsArchive
06-28-2013, 12:28 AM
I pretty much answered my own question. :D
I just checked the registry for the entry and get the UninstallString and
I'm off to the races.
Still wonder why the SB command didn't detect it?

Rick

NewsArchive
06-28-2013, 02:20 AM
Hi Rick,

> I pretty much answered my own question. :D
> I just checked the registry for the entry and get the UninstallString
> and I'm off to the races.
> Still wonder why the SB command didn't detect it?

Well, the "Detect Previous Version..." SetupBuilder script function can't
detect it because the good old Wise did not follow the Microsoft standards
<g>. As a result, the installed application is not correctly registered
with Windows. Note: Microsoft defined the standards more than 12 years ago.

See the attached wise.png screenshot. Most Wise installs did not create the
required registry entries. Quite a few registry values are missing.

The attached sb.png shows the correct value name entries.

BTW, you can work-around this (and as I understand it you already did) by
using the "Get Registry Key Value..." script function and read the
"UninstallString" value name. But please note that the Value Data does not
always point to the folder where the application is located (installed) in.

Friedrich

NewsArchive
06-29-2013, 07:35 AM
Hi Russ,

The SB entry for the Uninstall key is the SB project GUID. However, Install
Aware used the project name for the key.
By passing in the old Install Aware project name to the SB Detect Previous
Version command I can get the uninstall string and the previous location of
the old installation.
If there is a previous version I display a dialog in the wizard loop
indicating a previous version was found and it will be
uninstalled/upgraded.
For InstallAware scripts I add this to the uninstall script to make it
silent:
/s MODIFY=FALSE REMOVE=TRUE UNINSTALL=YES
For the Wise Uninstall script you have to actually split the command and
script name aparat and insert a /S to get a silent install. You can't just
append the /S to the end.

Rick

NewsArchive
06-29-2013, 07:35 AM
Hi Friedrich,
Hopefully, this is the last of these I have to work with (fingercross).
I think my workaround will work for this particular installation.

Rick

NewsArchive
06-29-2013, 11:19 AM
Interesting! I tend to do my own install projects (even with code for
hire projects) so I never gave this much thought except for two scenarios:

1) I've changed some aspect of the install because the program was
improved, thus requiring it. Therefore, I need to find the old location
(easy since its SB) and affect changes for those with the old version.

2) Inherited projects. I got one that had the most convoluted install
and update set of steps I've ever seen. And the prior dev used SB as
only one step of the install. What I wanted to do in this case was
change where wupdate got the updates from. In this case, I simply had
the clients run the full install I gave them.

Either could have side effects if you miss one thing, so your post
grabbed my attention.

--

Russ Eggen
RADFusion International, LLC