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?
Answers (3)
that is Installshield so have you tried to use /r switch to create .iss file?
http://www.silentinstall.org/InstallShield
https://helpnet.flexerasoftware.com/installshield19helplib/helplibrary/IHelpSetup_EXECmdLine.htm
Comments:
-
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 5 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 5 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 5 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 5 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 5 years ago
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.
Comments:
-
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
:run2014
run installer for 2014 silently
:no2014
If Exist c:\the\matlab2015\directory goto run2015 else goto no2015
:run2015
run installer for 2015 silently
:no2015
If Exist c:\the\matlab2016\directory goto run2016 else goto no2016
:run2016
run installer for 2016 silently
:no2016
If Exist c:\the\matlab2017\directory goto run2017 else goto no2017
:run2017
run installer for 2017 silently
:no2017
If Exist c:\the\matlab2018\directory goto run2018 else goto no2018
:run2018
run installer for 2018 silently
:no2018 - SMal.tmcc 5 years ago