cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
joel1
Level 3

Minimum System Requirements

I have an InstallScript project with a prerequisite for SQL Server 2008 R2 with SP1 to be installed. (I also have the other prerequisites such as .Net 3.5, Windows Installer, and Powershell required by SQL).

This version of SQL Server has minimum system requirements (XP SP3, Vista SP2, or Windows 7 - ignoring the server versions of Windows for now).

My setup script works perfectly on these versions of Windows.

When I went to test this on a machine missing a Service Pack (my test machine was Vista SP1), something really odd happened. InstallShield simply dropped SQL Server from the installation! Wait, what?!! This is a PREREQUISITE for my application. Unless I don't understand what "prerequisite" means. Why in gods name would IS even TRY to install my application if a minimum O/S requirement for a PRE-requisite is missing??

So I went looking for overall O/S requirements for the project, and I can only specify Windows versions with no service pack info under General Information. Huh? What sense does this make?

How can I stop InstallShield from merrily installing bits and pieces of my application which sets itself up for complete and utter failure. I need a way to flat out STOP the whole mess up front if the minimum service pack is NOT on that system.

I saw somewhere on the forums something about SYSINFO constructs, but where do I put this check for a service pack? Can I stop the whole install and inform my user why it has stopped?

Up until now, I have not had to do any manual scripting, so I am not sure where to begin if the SYSINFO tests require changing the scripts this way. I'm not even sure what part of the scripts I could alter so the test happens before anything else (even before the prerequisites dialog).

This seems like such a disconnect between being able to specify service packs in PRQ's and yet the overall InstallScript is completely oblivious to the service pack level required - and attempts an install that (because its dropped a key prerequisite) can only fail.

HELP!!!
Labels (1)
0 Kudos
(2) Replies
joel1
Level 3

Ok, so I added this to OnFirstUIBefore:

if (SYSINFO.WINNT.bWinVista) then
MessageBox("Installing on Windows VISTA",INFORMATION);

if (SYSINFO.WINNT.nServicePack)<2 then
MessageBox("Windows Vista Service Pack 2 is required. Please
install SP2 and run setup again.",SEVERE);
abort;
endif;
endif;

(This code has indentations, but they don't show up for some reason when my message is posted to the forum).

This did work, but came up after InstallShield tried to install some of the prerequisites - and they failed. I guess I can make all PRQs have the SQL O/S and Service Pack minimums so they just get dropped and the main UI starts and hits the SYSINFO tests.

I wll also remove the "Installing on Windows VISTA" messagebox, but I left it in there for testing since it was kind of my "Hello World" messagebox for InstallScript!

Still, it seems odd that scripting is required at all here. The Platform Filtering under General Information should allow us to specify minimum service packs!
0 Kudos
weakness
Level 6

Hello.

Are you using [General Information View]-[Platform Filtering] setting?

This setting doesn't work as system requirements in fact...
It's complicated...

http://kb.flexerasoftware.com/doc/Helpnet/installshield18helplib/GeneralInfoSettings.htm

Specifying platforms at the project level does not create target system requirements for running
the installation. If you want to create target system requirements in an InstallScript or
InstallScript Object project, use the SYSINFO structure to identify the operating platform of the target system.


So,your approach (describing code) is correct ...


I saw somewhere on the forums something about SYSINFO constructs, but where do I put this check for a service pack? Can I stop the whole install and inform my user why it has stopped?


You can put the custom code on OnCCPSearch event.

In addition,each InstalShield Prerequisite file has its own requirements.
Because InstalShield Prerequisite is called before main setup.exe is called.

So, it's hassle,you need to edit each Prerequisite condition by using prerequisite editor [tools]-[Prerequisite editor]
0 Kudos