Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

InstallShield include prerequisite in media or download from web

Posted on 2011-02-23
Last Modified: 2013-11-14
In the redistributables panel, when I check the properties of a prerequisite, there is an option of build location, Copy from source media, download from web, or extract from setup.exe.

Is there a way to create a single project which would create 2 types of installer? If it is distributed through a cd, then include the prerequisite files/installers. And create another installer which will not include the prerequisite files, but instead automatically download from web when not yet installed on target machine.

And what is extract from setup.exe?
Question by:Thomasian
  • 3
  • 3
  • 2
LVL 40

Expert Comment

by:Vadim Rapp
ID: 34967108
You can experiment with multiple Releases, hoping that Release would involve the prerequisite as well, but I wouldn't hold my breath.

> And what is extract from setup.exe?
If you press F1 on those Properties, it will bring up Help article with the explanation, which I copied here for you.

Download From The Web—Downloads all of the setup prerequisite files included in your project (if necessary) from the URL specified in the setup prerequisite (.prq) file for each prerequisite.

Extract From Setup.exe—Compress the setup prerequisite files into Setup.exe, to be extracted at run time, if necessary.

Copy From Source Media—Store the setup prerequisite files at the root directory of the source media.

LVL 22

Author Comment

ID: 34967120
>>You can experiment with multiple Releases, hoping that Release would involve the prerequisite as well, but I wouldn't hold my breath.

So if that didn't work, I would have create one project for each release?
LVL 40

Assisted Solution

by:Vadim Rapp
Vadim Rapp earned 100 total points
ID: 34967160
Yes. I understand, the prerequisite is customized sql server, but if it was something non-customized, like .net framework, then one more option would be to tell the user to download it by themselves. The main benefit of that is that you don't assume that you support the framework (or whatever) as well (since you installed it).
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

LVL 22

Author Comment

ID: 34967445
>>The main benefit of that is that you don't assume that you support the framework (or whatever) as well (since you installed it).
Can you elaborate on this?
LVL 12

Accepted Solution

jmcmunn earned 400 total points
ID: 34969322

There is absolutely a way to do this, we do it here with SQL server.  You can do it with release flags if there are two different prerequisites you wish to include based on your target media (wb vs CD).

You need to be running at least Installshield 2009 to do this I believe.  Once you do that, you can set a release flag on the prerequisite which tells it what release(s) to include it in.  Depending on the prerequisite you are using there may already be two different prerequisites (one will be called "download from web" or something similar).


If there is only one prerequisite you *should* be able to associate the prerequisite with a specific Feature of your install and then put the release flag on the feature instead of the prerequisite.  The end result should be similar...

Either way, using release flags will be necessary to do this if you want to have one installshield project.

LVL 12

Expert Comment

ID: 34969349
In response to answer 34967160 above and your reply 34967445....

What he's saying is that if you install a third party application on someone's machine they may start asking you to support it.  However this has not been my experience as long as the install is done properly.  It is a valid point in the sense that the less responsibility you take, the less you will get called to help.  But I find it incredibly annoying (to the point of not using software on occasion) if an application refuses to install until I manually complete the requirements it needs.

Also, what do you think Microsoft is going to say if your customer DOES indeed call them and say "I installed SQL server so I could run <SOME COOL PIECE OF SOFTWARE> and now that software is not working..."  Microsoft is going to tell them to call you, and you are going to end up troubleshooting the SQL issue anyway, regardless of where the issue lies.

So, I'd much rather take full control of the third party install and just make sure it gets done correctly.
LVL 40

Expert Comment

by:Vadim Rapp
ID: 34969454
Right, as I said, it probably does not apply to customized sql server for a particular application. But this question is about prerequisites in general, and recently we saw here exactly such a question where developer had to remotely troubleshoot failing upgrade of .Net framework that his application has installed. Even with sql server, I believe, if the problem comes up during upgrading it or (more realistically) uninstalling it, the caller may not even mention the cool piece of software it was for.

Thanks for finding the release-related bit of the prerequisite - I checked if something like that exists, but did it in an older version of Installshield.
LVL 22

Author Closing Comment

ID: 34970543
Thanks, that's exactly what I needed.

I also like the idea of letting the users separately install prerequisites to let them know that we do not support it. Though it doesn't apply for my current project, I will keep that into mind for my future projects.

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I have been scripting applications way too long and can never remember how to create an ISS file.  So I decided to write this article to act as my own knowledge base for future reference, and hope you will also benefit. An ISS file is a response …
With User Account Control (UAC) enabled in Windows 7, one needs to open an elevated Command Prompt in order to run scripts under administrative privileges. Although the elevated Command Prompt accomplishes the task, the question How to run as script…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question