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

Internet installer downloads only applicable features?

Hi,

We have a requirement to enable download of selective components. I would like to know more details on the internet installer package and understand if only the selected components are downloaded form the web server? I see that we have a .html file generated along with a few support files. The Installer also generates a .cab file that contains the bulk of the installable components. Once I invoke the installer by clicking on the HTML page, the installer UI starts up. Now, if I select a few components (via custom install), would these components be selectively downloaded or the full CAB is downloaded and then the components are extracted?

The reason why I ask is, we have a lot of features in our application and they get enabled based on a serial number. Based on a serial number, only a few features will get installed. It would not be very efficient to allow the user to download the full installer to install only a few components. We have a requirement to minimize the amount of content that needs to be downloaded to install the application.

Please advise,
Shoban Jayaraj
Labels (1)
0 Kudos
4 Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Most scenarios will download the full application, and if you are using cabs, in all cases only entire cab files will be donwloaded. (Due to the nature of cab's implementation, you need to scan the entire file even if you're going to extract only part of it.) InstallShield offers some advanced cab options like the ability to build a cab per feature that can prevent that limitation from being a problem.

These days I would also encourage you look into Suite/Advanced projects. If you break up your underlying features into separate basic MSI projects, then include them all in a Suite/Advanced UI installation, they can be downloaded at the granularity of a single basic MSI project.
0 Kudos
shoban
Level 3

Thanks for the response! We have tried the same and it looks like a viable option. Looks like there is an UI to get the serial number from the suite UI too. Further questions:

* But is it possible to configure each of the MSI to install to a common folder? As each of the features that we have reside in a common folder. There will be no duplicate files that will result in conflicts of overwrite. Currently, all the MSI install to their own folder.

regards,
Shoban Jayaraj
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Sure. The approach I would take is to create a property in the Suite, say InstallRoot with a (formatted) value along the lines of [ProgramFilesFolder]CompanyName\AppName\. Then for each of your MSI packages you can pass this on their command line as INSTALLDIR=[InstallRoot] or INSTALLDIR=[InstallRoot]Subdir\, etc. If you desire to allow the property to be easily changed by the person installing the suite, you can add a page similar to the predefined page "Browse for installation folder". (That page does everything you need, but is implemented to retarget a single package. Change the properties it uses, or live with the bad name and use it in multiple packages, and it should do the trick.). If on the other hand you want to make it much harder to change the installation location, skip the property and put INSTALLDIR=[ProgramFilesFolder]CompanyName\AppName\ directly in the packages' command line.
0 Kudos
shoban
Level 3

Hi MichaelU,

Thanks for your response. I was able to change the install dir as indicated via command line arguments for an Install Suite.

You had also mentioned that for a basic MSI, it is possible to force a cab file for a feature. How do I enable this? We are using InstallShield 2012 spring. Is this fully supported here? I see in the InstallShield 2014 product features where we have streaming capability to stream only the components required from the web.

Thanks,
Shoban Jayaraj
0 Kudos