Copyright (c) Hyperion Entertainment and contributors.

Difference between revisions of "Installation Utility"

From AmigaOS Documentation Wiki
Jump to navigation Jump to search
(Created page with "Here we intend to document the Python-driven '''Installation Utility''' which is meant as a replacement for the original Lisp-like-driven '''Installer'''.")
 
Line 1: Line 1:
  +
<pre>
Here we intend to document the Python-driven '''Installation Utility''' which is meant as a replacement for the original Lisp-like-driven '''Installer'''.
 
  +
How the installer works
  +
-----------------------
  +
  +
The installer executes a python script that sets up the installation. At the
  +
basic level, there are only a few script commands required. A minimal install
  +
script looks like this:
  +
  +
  +
- BEGIN ------------------------------------------------------------------------
  +
# Simple, basic installation script
  +
from installer import installer
  +
  +
# These will be used for the first page (welcome) and last page (finish)
  +
welcomeText = "This is a welcome text, displayed at the first page"
  +
finishText = "This is the finish message"
  +
  +
# Create the installer
  +
myInstall = installer()
  +
  +
# Set up the installer for a basic default setup. This means
  +
# - A welcome page with the above text
  +
# - A page to select the installation directory
  +
# - A selection page for the features to install
  +
# - A progress page that is shown during the installation
  +
# - A "finish" page.
  +
  +
myInstall.Setup(installer.SETUP_DEFAULT)
  +
  +
# Set the welcome and finish texts
  +
myInstall.WelcomeText(welcomeText)
  +
myInstall.FinishText(finishText)
  +
  +
# This adds an installable feature. The name is displayed in the selection list.
  +
# The optional parameter determines whether this can be left out or not (it is
  +
# made mandatory in this case). selected means that the feature is initially
  +
# selected for installation. The description is displayed to the right of the
  +
# feature list when the feature is selected.
  +
# Finally, files is a list of files, directories, or archives that belong to
  +
# this feature, relative to the installation's base directory (i.e. where the
  +
# install script resides).
  +
myInstall.AddInstallableFeature(
  +
name = "Basic Installation",
  +
optional = False,
  +
selected = True,
  +
description = "Descriptional text displayed on the right",
  +
files = ["base.lha"]
  +
)
  +
  +
# this sets the default path to "SYS:". In addition, it also tells the installer
  +
# that the path should not be changed.
  +
myInstall.SetDefaultPath("SYS:", installer.RECOMMENDED)
  +
  +
# Finally, this runs the installation.
  +
myInstall.Run()
  +
- END --------------------------------------------------------------------------
  +
  +
This script is a very basic installer without any additional bells and whistles.
  +
If you need something more complicated that this, then the setup will be a bit
  +
more complicated. The following script results in the same installer as the
  +
previous one, but it does most of the setup "by hand".
  +
  +
- BEGIN ------------------------------------------------------------------------
  +
# The same installer, just done manually
  +
from installer import installer
  +
  +
# These will be used for the first page (welcome) and last page (finish)
  +
welcomeText = "This is a welcome text, displayed at the first page"
  +
finishText = "This is the finish message"
  +
  +
# Create the installer
  +
myInstall = installer()
  +
  +
# Set up the installer without any pages.
  +
  +
myInstall.Setup(installer.SETUP_EMPTY)
  +
  +
# This adds a welcome text page
  +
myInstall.AddWelcomePage(welcomeText);
  +
  +
# This adds an installation directory page
  +
myInstall.AddDirectoryPage(text = "Please select an installation directory",
  +
default="SYS:",
  +
recommendation=installer.RECOMMENDED);
  +
  +
# Add the feature selection page. If you ommit this page, the feature selection
  +
# cannot be changed by the user.
  +
myInstall.AddFeaturePage("Select the features to be installed");
  +
  +
# This adds an installable feature. The name is displayed in the selection list.
  +
# The optional parameter determines whether this can be left out or not (it is
  +
# made mandatory in this case). selected means that the feature is initially
  +
# selected for installation. The description is displayed to the right of the
  +
# feature list when the feature is selected.
  +
# Finally, files is a list of files, directories, or archives that belong to
  +
# this feature, relative to the installation's base directory (i.e. where the
  +
# install script resides).
  +
myInstall.AddInstallableFeature(
  +
name = "Basic Installation",
  +
optional = False,
  +
selected = True,
  +
description = "Descriptional text displayed on the right",
  +
files = ["base.lha"]
  +
)
  +
  +
myInstall.AddFinishPage(finnishText);
  +
  +
# Finally, this runs the installation.
  +
myInstall.Run()
  +
- END --------------------------------------------------------------------------
  +
</pre>

Revision as of 02:57, 14 June 2013

How the installer works
-----------------------

The installer executes a python script that sets up the installation. At the
basic level, there are only a few script commands required. A minimal install
script looks like this:


- BEGIN ------------------------------------------------------------------------
# Simple, basic installation script
from installer import installer

# These will be used for the first page (welcome) and last page (finish)
welcomeText = "This is a welcome text, displayed at the first page"
finishText = "This is the finish message"

# Create the installer
myInstall = installer()

# Set up the installer for a basic default setup. This means
# - A welcome page with the above text	
# - A page to select the installation directory
# - A selection page for the features to install	
# - A progress page that is shown during the installation
# - A "finish" page.

myInstall.Setup(installer.SETUP_DEFAULT)

# Set the welcome and finish texts
myInstall.WelcomeText(welcomeText)
myInstall.FinishText(finishText)

# This adds an installable feature. The name is displayed in the selection list.
# The optional parameter determines whether this can be left out or not (it is
# made mandatory in this case). selected means that the feature is initially
# selected for installation. The description is displayed to the right of the
# feature list when the feature is selected.
# Finally, files is a list of files, directories, or archives that belong to
# this feature, relative to the installation's base directory (i.e. where the 
# install script resides).
myInstall.AddInstallableFeature(
	name = "Basic Installation",
	optional = False,
	selected = True,
	description = "Descriptional text displayed on the right",
	files = ["base.lha"]
)

# this sets the default path to "SYS:". In addition, it also tells the installer
# that the path should not be changed.
myInstall.SetDefaultPath("SYS:", installer.RECOMMENDED)

# Finally, this runs the installation.
myInstall.Run()
- END --------------------------------------------------------------------------

This script is a very basic installer without any additional bells and whistles.
If you need something more complicated that this, then the setup will be a bit
more complicated. The following script results in the same installer as the 
previous one, but it does most of the setup "by hand".

- BEGIN ------------------------------------------------------------------------
# The same installer, just done manually
from installer import installer

# These will be used for the first page (welcome) and last page (finish)
welcomeText = "This is a welcome text, displayed at the first page"
finishText = "This is the finish message"

# Create the installer
myInstall = installer()

# Set up the installer without any pages.

myInstall.Setup(installer.SETUP_EMPTY)

# This adds a welcome text page
myInstall.AddWelcomePage(welcomeText);

# This adds an installation directory page
myInstall.AddDirectoryPage(text = "Please select an installation directory",
	default="SYS:",
	recommendation=installer.RECOMMENDED);

# Add the feature selection page. If you ommit this page, the feature selection
# cannot be changed by the user.
myInstall.AddFeaturePage("Select the features to be installed");

# This adds an installable feature. The name is displayed in the selection list.
# The optional parameter determines whether this can be left out or not (it is
# made mandatory in this case). selected means that the feature is initially
# selected for installation. The description is displayed to the right of the
# feature list when the feature is selected.
# Finally, files is a list of files, directories, or archives that belong to
# this feature, relative to the installation's base directory (i.e. where the 
# install script resides).
myInstall.AddInstallableFeature(
	name = "Basic Installation",
	optional = False,
	selected = True,
	description = "Descriptional text displayed on the right",
	files = ["base.lha"]
)

myInstall.AddFinishPage(finnishText);

# Finally, this runs the installation.
myInstall.Run()
- END --------------------------------------------------------------------------