How do I create a setup.iss file that selects all options before moving on for silent install?

I am writing a program to do a silent install, but one of the selection screens can change depending on which versions of Matlab are installed. The selection screen can be seen below.

I need it to select every version that is available, but the list is dependent on what is installed on the users machine. I was wondering if there was a way just to have the setup.iss file click the select all button?

0 Comments   [ + ] Show comments

Answers (3)

Posted by: SMal.tmcc 4 years ago
Red Belt

  • I have the .iss file already created. The problem is if I have different versions of Matlab's installed, the program will crash and not install. - jcall47 4 years ago
    • The 5 shown can vary from machine to machine so the select all is not always the same?

      can you post the portion of the iss file - SMal.tmcc 4 years ago
    • is it possible to remove all the older versions first? - SMal.tmcc 4 years ago
  • Whoa, that sucks. In regards to the ISS, you will need to create a ISS file for every permutation of the install. There is no other way around this if you want to install the selected/detected MatLabs on the fly, if course you will need some whizzy scripting to choose the correct ISS file too.

    I think your best plan is to get MatLab on the computers to a know state. This will make life much easier.

    Or another way is, if you know your computers have MatLab 2019 and 2016b, then just install for those - its a bit of a pants solution tough. - rileyz 4 years ago
    • If you have Kace you can create a smart label for each version and a .iss for each version and use the labels to push the install with the corresponding iss for each version separately. - SMal.tmcc 4 years ago
    • Is there no way to trick it into clicking the select all button by having a Result=3 (or whatever number the select all button would be), have it think it goes to a new page, and then have a Result=1 to have it go to the next screen? - jcall47 4 years ago
      • You would have to use something like AutoIT to wrap the install in and have it click the buttons for you. - SMal.tmcc 4 years ago
Posted by: rileyz 4 years ago
Red Belt

I have an idea.

You could try and make a ISS for each of the MatLabs, then just install using the required ISS for the MatLab version found (script whizz required for this bit). Not sure if the installer will be allowed to run twice, guess you will to find that out.

And I dont know what will happen to the ISS file, if two MatLabs are found for example - as it might add extra data to the ISS and break the silent install - guess you just have to try.

  • I bet you got the idea from my reply to your reply above :)

    Whether he has Kace or not I think this is the best way to proceed BTC is a addin module that will work with matlab as well as other programs, it is designed to work with all the matlab versions so it scans for installed versions when you start the installer. You can create a silent install per version and use a batch file to run "If-Exist-Then" logic on the file system to tell what versions are on that computer and let the batch file have the power to run for all versions.

    If Exist c:\the\matlab2014\directory goto run2014 else goto no2014
    run installer for 2014 silently

    If Exist c:\the\matlab2015\directory goto run2015 else goto no2015
    run installer for 2015 silently

    If Exist c:\the\matlab2016\directory goto run2016 else goto no2016
    run installer for 2016 silently

    If Exist c:\the\matlab2017\directory goto run2017 else goto no2017
    run installer for 2017 silently

    If Exist c:\the\matlab2018\directory goto run2018 else goto no2018
    run installer for 2018 silently
    :no2018 - SMal.tmcc 4 years ago
Posted by: anonymous_9363 4 years ago
Red Belt

The best way of dealing with brain-dead vendors like this is to have *them* create the .ISS for you. More sensibly, ask them very nicely to create an MSI-driven installation instead of an InstallShield script-driven one. It would take less than 10 minutes for their packager to do.

Don't be a Stranger!

Sign up today to participate, stay informed, earn points and establish a reputation for yourself!

Sign up! or login

View more:


This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ