slickgoonie
17th May 2005 02:27 UTC
Silent installation
Hi:
Here is what im trying to do:
I'm making an installer that calls another installer, i want to make everything in silent mode, but unfortunally the other installer requires some inputs from the user(yes, next, etc) is there any way i can pass parameters or set ID_YES to everything?? so that way it will really be a silent installion??
thanks.
Brummelchen
17th May 2005 04:37 UTC
you should read this section from help
>> 4.12 Silent Installers/Uninstallers
i think this function is expandable ...
slickgoonie
17th May 2005 21:57 UTC
The example on the page tells you how to pass usernames, directory paths...etc, but how about 'clicks' i mean, like whenever an user input is required, just simply skip that...by passing a ID_YES or something like that to all the screens. Example:
On the user agreentment page for example, it requires that the user click on next to go on with the installation. is there any way i can skip all of that??
thanks.
Brummelchen
26th May 2005 00:02 UTC
"silent" means silent > no interaction.
whats wrong about that definition ?
mui pages can not be skipped if present - i think so.
there are lot of examples here to manipulate pages...
pergh
26th May 2005 05:52 UTC
Silent Install
Originally posted by slickgoonie
The example on the page tells you how to pass usernames, directory paths...etc, but how about 'clicks' i mean, like whenever an user input is required, just simply skip that...by passing a ID_YES or something like that to all the screens. Example:
On the user agreentment page for example, it requires that the user click on next to go on with the installation. is there any way i can skip all of that??
thanks.
I know there are "mouse and keyboard playback" software out there, that you could wrap that installer in to make an automatic install out of an install file that does not support silent install.
For passing windows GUI messages to other programs, I would be most surprised if Microsoft actually wanted that to happen. Although not impossible (shatter attack e.g.), I don't think there is any reliable way to do it. I'm not a windows programmer though, so I may very well be mistaken.
Regards,
pergh
RobGrant
26th May 2005 09:26 UTC
"silent" means silent > no interaction.
whats wrong about that definition ?
It's not quite specific enough; an unattended installation requires no user interaction, but does display progress onscreen. A silent installer doesn't show anything on screen, AND requires no user interaction.
Kieren
26th May 2005 15:07 UTC
On the user agreentment page for example, it requires that the user click on next to go on with the installation. is there any way i can skip all of that??
Hmm, I'm using something similar myself for multi-application installers, and I find that executing the second installer in Silent mode simply skips any sections which would normally require user input, such as the EULA page. It may do this by assuming the user is pressing all the default options, so it may be checking that you've got those set up right?
Within a Section or Function, the command you're after is "IfSilent" (from the docs). However, I guess you could cheat, and place a check inside .onInit something like the following:
IfSilent 0 +2
!define SILENT_TRUE
Then, you could use !ifdef SILENT_TRUE to turn off certain sections of your installer, or otherwise set certain default values. I've actually not tested this though, since as I said above, I've not needed to try this trick out.
Afrow UK
26th May 2005 20:02 UTC
That will not work. !define is a compile time instruction, and SILENT_TRUE will always be defined no matter what the condition of IfSilent is.
-Stu