← Back to team overview

maria-developers team mailing list archive

Re: Updated (by Psergey): Windows installer for MariaDB (55)

 

Hi Peter,

On Wed, Oct 14, 2009 at 11:56:50PM +0200, Peter Laursen wrote:
> Important addition.  It will be necessary to let user specify both 'basedir'
> and 'datadir' (due to problems with Windows UAC  (user account control) on
> Windows versions from Vista and up.
> 
> MySQL uses defaults \program files\... for basedir and 'AppData'\.. for
> datadir. Datadir cannot be a subfolder to basedir if basedir is in \Program
> Files.. and UAC is on on Vista+.  As long as program runs as a service it
> will work but should server occasionally be started with user privileges any
> writable file (=data files) will be copied to users \virtualstore folder and
> this copy will be used.  So this will result in two different copies of the
> database files written to .. one for 'system' and another for 'user'. This
> would also apply to a very large InnoDB/XtraDB tablespace - update a single
> bit and the complete file is copied by Windows to \virtualstore.
> 
Thanks, noted.

> On Wed, Oct 14, 2009 at 23:35, <worklog-noreply@xxxxxxxxxxxx> wrote:
> 
> > -----------------------------------------------------------------------
> >                              WORKLOG TASK
> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> > TASK...........: Windows installer for MariaDB
> > CREATION DATE..: Wed, 14 Oct 2009, 00:07
> > SUPERVISOR.....: Monty
> > IMPLEMENTOR....:
> > COPIES TO......:
> > CATEGORY.......: Server-RawIdeaBin
> > TASK ID........: 55 (http://askmonty.org/worklog/?tid=55)
> > VERSION........: Server-9.x
> > STATUS.........: Un-Assigned
> > PRIORITY.......: 60
> > WORKED HOURS...: 0
> > ESTIMATE.......: 0 (hours remain)
> > ORIG. ESTIMATE.: 0
> >
> > PROGRESS NOTES:
> >
> > -=-=(Psergey - Thu, 15 Oct 2009, 00:35)=-=-
> > High-Level Specification modified.
> > --- /tmp/wklog.55.old.27287     2009-10-15 00:35:54.000000000 +0300
> > +++ /tmp/wklog.55.new.27287     2009-10-15 00:35:54.000000000 +0300
> > @@ -4,15 +4,33 @@
> >  --------------------------------
> >  From the user point of view:
> >
> > -1.1 Step 1: simplest installer
> > -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > +1.1 Step 1: simple installer
> > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >  An installer package that
> >  - Copies files on installation
> >  - Registers mysqld a service
> > -- Checks if installation directory, MySQL's port, or named pipe are
> > +- Prompts the user for "essential" configuration options. Preliminary list
> > +  of "essential" options:
> > +  * root password
> > +  * default character set
> > +  * <TODO come up with the final list. The criteria for inclusion are:
> > +    1. ask for things that are essential to have a working setup as soon
> > as
> > +       the installation is complete
> > +    2. ask for things without answers for which the newbies can get into
> > +       trouble.
> > +- Checks if the target installation directory, TCP port, or named pipe are
> >   busy. If they are, it asks to remove the previous installation first
> >   and aborts.
> > -- Uninstall procedure (TODO: should that remove the datadir or leave it?)
> > +- Adds start menu items
> > +   - to start the server manually (with --console)
> > +   - to start mysql client
> > +   - to edit the my.cnf file.
> > +- Registers MariaDB as installed, sets up uninstaller.
> > +  (TODO: should the uninstaller the datadir or leave it? (or ask the
> > user?))
> > +
> > +- Creates installation log, and in case of any failures presents the log
> > to
> > +  the user and requests to file it as a bug (How far we should go here
> > depends
> > +  on how complex and error-prone the final installation procedure will
> > be).
> >
> >  1.2 Step 2: upgrades from MySQL
> >  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > @@ -28,6 +46,7 @@
> >  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >  - Installer should include configuration wizard that's similar to what
> > MySQL
> >   installer does.
> > +  TODO come up with options
> >
> >  2. Installer wishlist (developer POV)
> >  -------------------------------------
> > @@ -45,3 +64,8 @@
> >   installation succeeded, then start the server, run some commands, then
> >   uninstall. Any ways to achieve that?)
> >
> > +3. Other notes
> > +--------------
> > +* MySQL's logo is the seal (see e.g. here:
> > https://code.launchpad.net/maria),
> > +  Bo Thorsen has the latest revision of the picture in various formats.
> > +
> >
> > -=-=(Psergey - Wed, 14 Oct 2009, 00:46)=-=-
> > High-Level Specification modified.
> > --- /tmp/wklog.55.old.29984     2009-10-14 00:46:50.000000000 +0300
> > +++ /tmp/wklog.55.new.29984     2009-10-14 00:46:50.000000000 +0300
> > @@ -29,9 +29,6 @@
> >  - Installer should include configuration wizard that's similar to what
> > MySQL
> >   installer does.
> >
> > -1.1 Step 1
> > -~~~~~~~~~~
> > -
> >  2. Installer wishlist (developer POV)
> >  -------------------------------------
> >  * Some "installshield-like" tool that's easy to use (suggestion by Webyog:
> >
> > -=-=(Psergey - Wed, 14 Oct 2009, 00:07)=-=-
> > High-Level Specification modified.
> > --- /tmp/wklog.55.old.28205     2009-10-14 00:07:28.000000000 +0300
> > +++ /tmp/wklog.55.new.28205     2009-10-14 00:07:28.000000000 +0300
> > @@ -1 +1,50 @@
> > +Not a spec so far but a list of points to consider:
> > +
> > +1. Installer wishlist (user POV)
> > +--------------------------------
> > +From the user point of view:
> > +
> > +1.1 Step 1: simplest installer
> > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > +An installer package that
> > +- Copies files on installation
> > +- Registers mysqld a service
> > +- Checks if installation directory, MySQL's port, or named pipe are
> > +  busy. If they are, it asks to remove the previous installation first
> > +  and aborts.
> > +- Uninstall procedure (TODO: should that remove the datadir or leave it?)
> > +
> > +1.2 Step 2: upgrades from MySQL
> > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > +- Same as above but with handling of the case where MySQL has been already
> > +  installed:
> > +  - offer to replace MySQL.
> > +  - upgrade the data directory (todo we should sort out if anything/what
> > is
> > +    needed for this).
> > +  - Uninstall MySQL
> > +  - Install MariaDB.
> > +
> > +1.3 Step 3: Configuration wizard
> > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > +- Installer should include configuration wizard that's similar to what
> > MySQL
> > +  installer does.
> > +
> > +1.1 Step 1
> > +~~~~~~~~~~
> > +
> > +2. Installer wishlist (developer POV)
> > +-------------------------------------
> > +* Some "installshield-like" tool that's easy to use (suggestion by Webyog:
> > +  NSIS)
> > +* Installation procedure source should reside in MariaDB source repository
> > +* Installation procedure source file is better to be in human-readable
> > text
> > +  format.
> > +* It should be possible to automate creation of the installer package, in
> > a way
> > +  that can be run from buildbot (e.g. the installer package build process
> > +  should print messages to its stdout)
> > +
> > +* Any suggestions on how can one automatically test the installation
> > package?
> > +  (for example, we'll want to start the installer, install, check that
> > +  installation succeeded, then start the server, run some commands, then
> > +  uninstall. Any ways to achieve that?)
> >
> >
> >
> >
> > DESCRIPTION:
> >
> > We need Windows Installer package for MariaDB.
> >
> >
> > HIGH-LEVEL SPECIFICATION:
> >
> >
> >
> > Not a spec so far but a list of points to consider:
> >
> > 1. Installer wishlist (user POV)
> > --------------------------------
> > >From the user point of view:
> >
> > 1.1 Step 1: simple installer
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > An installer package that
> > - Copies files on installation
> > - Registers mysqld a service
> > - Prompts the user for "essential" configuration options. Preliminary list
> >  of "essential" options:
> >  * root password
> >  * default character set
> >  * <TODO come up with the final list. The criteria for inclusion are:
> >    1. ask for things that are essential to have a working setup as soon as
> >       the installation is complete
> >    2. ask for things without answers for which the newbies can get into
> >       trouble.
> > - Checks if the target installation directory, TCP port, or named pipe are
> >  busy. If they are, it asks to remove the previous installation first
> >  and aborts.
> > - Adds start menu items
> >   - to start the server manually (with --console)
> >   - to start mysql client
> >   - to edit the my.cnf file.
> > - Registers MariaDB as installed, sets up uninstaller.
> >  (TODO: should the uninstaller the datadir or leave it? (or ask the user?))
> >
> > - Creates installation log, and in case of any failures presents the log to
> >  the user and requests to file it as a bug (How far we should go here
> > depends
> >  on how complex and error-prone the final installation procedure will be).
> >
> > 1.2 Step 2: upgrades from MySQL
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > - Same as above but with handling of the case where MySQL has been already
> >  installed:
> >  - offer to replace MySQL.
> >  - upgrade the data directory (todo we should sort out if anything/what is
> >    needed for this).
> >  - Uninstall MySQL
> >  - Install MariaDB.
> >
> > 1.3 Step 3: Configuration wizard
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > - Installer should include configuration wizard that's similar to what
> > MySQL
> >  installer does.
> >  TODO come up with options
> >
> > 2. Installer wishlist (developer POV)
> > -------------------------------------
> > * Some "installshield-like" tool that's easy to use (suggestion by Webyog:
> >  NSIS)
> > * Installation procedure source should reside in MariaDB source repository
> > * Installation procedure source file is better to be in human-readable text
> >  format.
> > * It should be possible to automate creation of the installer package, in a
> > way
> >  that can be run from buildbot (e.g. the installer package build process
> >  should print messages to its stdout)
> >
> > * Any suggestions on how can one automatically test the installation
> > package?
> >  (for example, we'll want to start the installer, install, check that
> >  installation succeeded, then start the server, run some commands, then
> >  uninstall. Any ways to achieve that?)
> >
> > 3. Other notes
> > --------------
> > * MySQL's logo is the seal (see e.g. here:
> > https://code.launchpad.net/maria),
> >  Bo Thorsen has the latest revision of the picture in various formats.
> >
> >
> > ESTIMATED WORK TIME
> >
> > ESTIMATED COMPLETION DATE
> > -----------------------------------------------------------------------
> > WorkLog (v3.5.9)
> >
> >
> >
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~maria-developers
> > Post to     : maria-developers@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~maria-developers
> > More help   : https://help.launchpad.net/ListHelp
> >

-- 
BR
 Sergey
-- 
Sergey Petrunia, Software Developer
Monty Program AB, http://askmonty.org
Blog: http://s.petrunia.net/blog



References