cjensen
Posts: 6
Joined: Wed Jul 06, 2011 6:59 pm

Detecting Prerequisite Already Installed

Tue Mar 06, 2012 7:47 pm

Our product needs to install the SQL Server 2005 Backward compatibility pack. So we have a prerequisite for that. One for the x64 and one for the x86 version of the pack.

The problem is determining if the pack is already installed. There are multiple versions of the pack and each version is identified by a different GUID in HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\{Some GUID}. I've googled this problem and looked at different versions of Windows we have installed and identified 6 different GUIDs for the pack so far. I'm sure I won't be able to find all the different GUIDs.

What I would like to do is use vbscript to see if the pack is installed. I've tested a script that does this and it works across different OSes. But it looks like there is no way to define a search that would test a global property to see if the script detected the pack. Any ideas on how best to deal with this problem?

We are using AI 8.3. We need to support XP, Vista, Windows 7, and Windows Server versions from 2003 upwards, both x86 and x64.

Thanks

Bogdan
Posts: 2791
Joined: Tue Jul 07, 2009 7:34 am
Contact:  Website

Re: Detecting Prerequisite Already Installed

Wed Mar 07, 2012 2:12 pm

Hi,

You cannot use properties for prerequisites installation. In this case the only solution is to port your code to a programming language capable to generate an executable as output and use this executable as a search criteria, selecting our search done by a custom executable option. You can read more about the executable requirements in our user-guide.

Regards,
Bogdan
Bogdan Mitrache - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

cjensen
Posts: 6
Joined: Wed Jul 06, 2011 6:59 pm

Re: Detecting Prerequisite Already Installed

Thu Mar 15, 2012 2:42 pm

Thanks for your help and the clarification. In case someone else runs into this same problem with the SQL Server 2005 backward compatibility pack, you can look for the following registry key: HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\BC. If it exists then the pack is installed. In our testing un-installing the pack removed the key. So far this test seems to work. The other problem I run into was forgetting to check the "64-bit" check box under "Folder:" when you edit the prerequisite for the 64-bit version of the pack.

Return to “Building Installers”