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

Adding Setup.exe pre-requisites

I have an InstallScript MSI Package:project.

Is there any way to have the setup.exe check pre-requisites before even attempting to download the app (web download)? I am using SQL 2012 as part of the pre-req and it's not supported on WinXP so I want it to stop after launching Setup.exe and BEFORE the pre-req screen even displays to tell them that XP isn't support with this version. This is just one example.

I know you can set the options under the project assistant / "specific operating system" section, but for 1, that isn't working, 2. I need it to be more specific (such as SP level), 3. I want a custom message, and 4. I don't want to have to buy a new version of IS every time MS releases a new O/S or O/S Service Pack so that the option appears there.

Is there any way to set "pre" pre-requisites? I've tried placing code in various places under installscript, but all of those execute after the launcher, and after the pre-req screen. Even the Initialize script doesn't execute until after everything else has been satisfied, and it downloads the necessary packages, etc...

Thanks!

nick
Labels (1)
0 Kudos
4 Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

It sounds like most of what you want here could be satisfied by editing the prerequisites to not run on Windows XP. Then they'll be skipped, and it can go directly to the logic that will prevent further installation.

As far as needing options that differ from what are available in the Project Assistant, take a look at the launch conditions (General Information view of the Installation Designer) that it sets up, and feel free to edit them. The support in the Project Assistant targets ease of use, and is thus somewhat more limited than the underlying capabilities that it relies on.
0 Kudos
TeraCorp
Level 3

Thanks MichaelU,

Is there any way to put a line feed (carriage return) in the condition message? In script I can use a \n but when I try that in there, it actually displays the \n in the message rather than creating a new line.

Thanks
0 Kudos
TeraCorp
Level 3

Actually MichaelU, the pre-requisites window displays BEFORE the launch condition is executed.

The problem that is caused by that is this:

1. Customer downloads and launches setup.exe on a Windows XP machine
2. Pre-Requisite window pops up and customer clicks on Install
3. After waiting for a long time for SQL Server 2012 to download and attempt to install, it FAILS without any specific reason
4. Customer calls us for support and we eventually find out that they're running Windows XP

All of this could be avoided if we could set the launch conditions to execute BEFORE the pre-requisites that way the customer knows right away that XP isn't supported before they download and install all of the pre-requisites (such as .NET Framework, SQL Server, Crystal Reports, etc...)

I understand about modifying each individual pre-requisite to not display if Windows XP, but there are quite a few of them for one, and for two, I would have to create a whole bunch of copies of existing pre-req's because you can't modify a pre-req just for a specific installation - it's global (and not all of our software has the same restrictions), and for three, as MS creates updates and SP''s to their apps that don't support different O/S's, then I would have to go through every pre-req over and over and keep modifying them. (For example, when we start to distribute SQL 2014, then I'd have to go back through every pre-req and add the VISTA exclusion to them, etc.

Is there any way to simply do an O/S check in the setup.exe just before it launches the pre-reqs from within IS? Or do I have to write my own custom launcher?

Thanks,
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Unfortunately I don't think the setup.exe for Basic MSI will perform an OS check early enough for what you want. You could write your own launcher, or you could use the Suite (or possibly the Suite/Advanced UI) project type as such a launcher.

If you don't have UI customizations, it should largely be a matter of importing prerequisites and adding your MSI as a package in a new Suite project. The exit conditions on a Suite or Suite/Advanced UI project are analogous to launch conditions, but they are considered before any package (whether a dependency package, such as an imported prerequisite, or a primary package) is considered or downloaded. Since you did mention SQL server, I wanted to mention that the database connection UI is not yet available in Suite projects; however if the MSI project just automatically connects to a known database, that should continue to work fine whether or not added to a suite.
0 Kudos