maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #01300
Re: Windows installer, part 2
Hi,
I tried to send this from my askmonty.org address, so it might come twice.
Fredag 16 oktober 2009 23:18:23 Sergey Petrunya wrote:
> Thanks everyone for input on the input so far! I believe I've collected it
> all and put into the WL entry:
> http://askmonty.org/worklog/Server-RawIdeaBin/?tid=55
>
> * If there is something missing there, please bring that argument up again.
I would really like to see NSIS used for this package. It is a really good
install system, and with all the features in part 1, I don't think anything
else will be easier to use. It will be wasted effort to try and use anything
else or build a script from a bat file or something like that. A simple zip file
that doesn't do any installation is of course the easiest, but that's not what
step #1 describes.
I have used NSIS to build three installers before, and it has been powerful
and easy. However, none of the installers I did used as many features as this
installer will. The ones I did were fairly simple.
One thing it also does, which I haven't seen mention here, is to produce an
uninstaller script. This is almost as hard to do as an installer. It's not
produced automatically, but it is part of the NSIS system to create one.
At the end of this mail, I have copied some of the statements from an install
script as examples of how easy it is to do standard things.
> * Final call for objections/comments on Step#1. Please voice them now,
> otherwise what is described in step #1 may end up implemented.
One thing I don't see here is how to handle development files. Will there be
one installer at 100MB or two packages? One way to handle it would be to have
a separate installer that is installed with MariaDB, that pulls all the files
from the net.
Here are a couple of examples from an NSIS script:
; Install the license file if chosen
!ifdef licensefile
CreateShortCut "${startmenu}\License.lnk "$INSTDIR\${licensefile}"
!endif
; Add a registry key with the install dir and the uninstaller
WriteRegStr HKLM "${regkey}" "Install_Dir" "$INSTDIR"
WriteRegStr HKLM "${uninstkey}" "UninstallString" '"$INSTDIR\${uninstaller}"'
; Example of an optional install
IfFileExists "$EXEDIR/${java}" java nojava
java:
MessageBox MB_YESNO "Install the Java Runtime Environment?" IDNO nojava
Exec "$EXEDIR/${java}"
nojava:
; Files are added like this:
File /a "${srcdir}\somefile"
; More files in a generated file with install lines
!include "${files}"
Bo.
Follow ups