Hi all,
Thanks for the responses. I've had a closer look at the question, and (you
guessed it) it's a bit more complex than I was hoping. I've written a couple of
notes and queries - any comments would be gratefully received. As you will
probably be able to tell, I'm still in the early stages of learning NSIS, so
forgive me if any of these are completely wrong-headed.
----
(1) The current install script makes the installer work in silent mode always ("SilentInstall
silent"). I believe this is so that the installer bypasses the dialog where the user can
select the installation directory, and hence the user is forced to install the application to
"C:\Program Files\Quick Search Deskbar".
This means that simply adding /SD switches to each MessageBox would result in a
totally silent installation whether or not the user specified the /S switch on
the command line. That is, the installation will be completely silent even if a
user just double-clicks the dqsd.exe installer.
My initial reaction is that this would be unacceptable. The MessageBox warnings
are useful for normal users and should be shown unless /S is explicitly
specified - unless anyone here thinks differently?
----
(2) The solution that presents itself immediately is to change the install mode to read:
"SilentInstall normal". This ensures that MessageBox warnings with /SD defaults will be
shown unless /S is specified, but it has a side-effect: if /S is not specified, the dqsd.exe
installer now shows a dialog asking the user to choose the installation folder (with the default of
"C:\Program Files\Quick Search Deskbar").
My initial reaction is that this *might* be acceptable, but I'd want to consult
the group about the following questions:
(2a) I know that Kim's excellent DQSDHost.dll requires the default installation
path (see http://sourceforge.net/mailarchive/message.php?msg_id=10225235), but
does any part of the default distribution require that path?
(2b) With regard to DQSDHost.dll, is it acceptable to suppose that if you're the sort of user that will be installing the host, then you're the sort of user who will be clued-up enough to make sure that the installation paths are correct for the host?
(2c) The installation instructions at http://www.dqsd.net/ assume that the path is hardcoded. Is it acceptable to require a modification to those instructions?
(2d) Are there any other reasons why we should not show the "Choose installation
folder" dialog?
----
(3) What should be the default answer to the "reboot now" dialog under a silent
install? On one hand, if a reboot is necessary then we should reboot. On the other hand,
an instantaneous reboot with no warning is not generally a good thing. The
unattended.sourceforge.net project allows a .reboot-on directive which reboots gracefully
if an installer returns a particular code. So we could specify that the installer returns
zero if the installation succeeded fully, and returns (say) 20 if the installation
succeeded but needs a reboot. This would allow the caller can decide what to do in the
case of a silent install that requires a reboot, but would require additional code. Nb:
looks like return values of 0, 1 and 2 are used by NSIS already - see
http://nsis.sourceforge.net/Docs/AppendixD.html.
----
(4) If we decide that we definitely should not show the "Choose installation
folder" dialog on the default install, then I think that there may still be a
solution for silent install, but it would need some more work on the NSIS script (I think
we can use SectionSetFlag, but this would - I think - need an additional .onInit
function).
----
Thanks for your time, and all comments are welcome.
Dave.
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
Archive: https://lists.sourceforge.net/lists/listinfo/dqsd-devel