Re: [Maria-developers] 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@askmonty.org> 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@lists.launchpad.net 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
participants (1)
-
Sergey Petrunya