Deploying Your Application/fr

From Free Pascal wiki
Jump to: navigation, search

English (en) español (es) français (fr) 日本語 (ja) português (pt)

Installateurs pour Windows

Inno Setup

Inno Setup est un installateur libre pour des programmes Windows. Il peut être employé complètement gratuitement, même lorsque vous déployez une applications commerciale, le code source complet est disponible (Borland Delphi 2.0-5.0). (http://www.jrsoftware.org/).

Il supporte toutes les versions de Windows en service aujourd'hui -- Windows 95, 98, 2000, 2003, XP, Me, NT 4.0, Vista, 7. L'installateur a la capacité de comparer l'information de version de fichier, remplacer des fichiers en cours d'utilisation, d'employer le compte de partagé de fichier, l'enregistrement de DLL/OCX et bibliothèques, et d'installer des polices. Créer des raccourcis n'importe où, d'inclure un icône dans le menu Démarrer et sur le bureau. Création dans le registre et des fichiers .INI; Moteur Pascal scripting intégré; Le soutien d'installation multilingue; Le soutien d'installation avec mot de passe et chiffrement; installation et désinstallation Silencieuse.

Inno Setup est un logiciel avec des droits d'auteur, pas un logiciel du domaine public. Il y a quelques restrictions à la distribution et à l'utilisation; voir le fichier http://www.jrsoftware.org/files/is/license.txt pour les détails.

Inno Setup est employé pour créer l'installation de Lazarus pour Windows.

InstallJammer

InstallJammer un multi-plateformes, open source GUI l'installateur est conçu pour être complètement cross-plateformes et fonctionne sur Windows et la plupart des versions d'UNIX avec un certain soutien d'OS X.

HJ-Install

HJ-Install est un installateur freeware pour Windows 95, 98, ME, NT 4.0, 2000 et XP. Il peut créer des installations distribués par Internet, CD-Rom, disquette simple et multi-disquettes, mais il peut également être employé sur des réseaux et comme moteur de scripting autonome. L'installateur est petit et ajoute seulement 138 KBs. Il ne change pas le registre et les fichiers INI, et il n'y a pas de désinstallation. Voir http://www.freebyte.com/hjinstall/

Installateur LizaJet

L'installateur LizaJet est un installateur commercial, mais une édition libre est disponible. Utilisations de Pascal objet pour le scripting. Voir http://www.lizajet.com

NSIS (Nullsoft Scriptable Install System)

Un système Open source professionnel pour créer des installateurs Windows. Un installateur complet de NSIS une taille de seulement 34 KBs. Voir http://nsis.sourceforge.net/Main_Page et http://hmne.sourceforge.net/

Trousse à outils d'installateur Windows XML (WiX)

Une trousse à outils qui établit un paquet d'installation Windows en code source XML. La trousse à outils soutient l'environnement en ligne de commande que les développeurs peuvent intégrer dans leurs processus de construction pour établir des paquets d'installation MSI et MSM. Voir http://wix.sourceforge.net/

Installateurs Unix

Créer un paquet RPM sur Linux

Sur Linux, la meilleure manière de déployer des applications est en employant le système de paquet natif. De nombreux systèmes de paquet existes, RPM (RedHat Package Manager) est le format le plus généralement utilisé, et est défini en tant que standard sur la norme de base Linux.

Pour créer un fichier RPM, vous devez créer un fichier texte de Spec. avec l'information nécessaire pour créer le logiciel, et également un environnement pour construire ces Spec. Le meilleur éditeur pour créer des paquets RPM est Emacs, parce qu'il identifie l'extension de Spec., accentue le texte convenablement et a même une option de menu pour construire des paquets RPM.

Installation de votre environnement de construction

Des paquets RPM sont installés comme root au système de base (répertoire /), mais un accident comme root peut détruire votre machine. Pour éviter ceci, les paquets peuvent être construction comme utilisateur normale. Le processus de construction inclut une vrai installation, pour s'assurer des travaux du paquet, mais cette installation est faite à un faux répertoire racine représenté par la variable de $RPM_BUILD_ROOT.

D'abord, aller dans votre répertoire local(ou un autre répertoire à l'intérieur) et créer la structure de répertoires suivante:

RPM

RPM/BUILD - Ce répertoire est utilisé par RPM pour construire le paquet.

RPM/RPMS - Ici vous pouvez trouver les RPMs binaire après que vous les construisiez.

RPM/SOURCES - Placer vos fichiers comprimés tar et patch ici.

RPM/SPECS - Placer tous vos fichiers de Spéc. ici.

RPM/SRPMS - Ici vous pouvez trouver la source RPMs après que vous les construisiez.

Après vous devrez créer un fichier de configuration pour dire au logiciel de construction de RPM où il peut trouver vos répertoires de construction. Aller à votre répertoire local et créer un fichier appelé .rpmmacros et placer le texte ci-dessous dedans. Veiller à changer les répertoires par rapport a votre système.

%_topdir                /home/felipe/RPM/
%_tmppath               /home/felipe/tmp

%_signature             gpg
%_gpg_name              Mandrakelinux
%_gpg_path              ~/.gnupg

Créer seulement un paquet binaire

La manière la plus facile de créer un paquet RPM est de la faire installer par le logiciel déjà compilé. Il y a une certaine raison pour laquelle nous pourrions vouloir éviter de compiler le logiciel dans le fichier de Spéc. :

  • Il exige de créer un fichier makefile et les fichiers makefile sont complexes
  • Quelques paquets n'ont aucun logiciel binaire dedans, ainsi ils n'ont pas besoin d'être construit.

Chaque paquet RPM contient de simples archives comprimées tar. Placer les archives dans le répertoire de RPM/SOURCES. les compressions Zip, gz et bz2 devraient bien fonctionner. Le fichier peut contenir l'un ou l'autre la source complète du projet si vous voulez créer une source et un paquet binaire ou un répertoire avec les fichiers déjà en place, comme s'ils étaient installés sur la machine de l'utilisateur, si vous voulez créer seulement un paquet binaire.

Pour custruire un paquet binaire ouvrir le fichier Spec. avec l'éditeur de texte Emacs. Sur Emacs ouvrir le menu "RPM spec" --> "RPM Build" --> "Build Binary Package". Ceci créera un fichier .rpm dans le répertoire RPM/RPMS

Le texte si-dessous est un fichier Spéc. qui ne construit pas le logiciel. Dans ce cas-ci le logiciel est un cours de Braille composé de HTML et de fichier Flash Macromedia. Les fichiers Flash ne peuvent pas être construit sur Linux, ainsi il n'est pas possible de créer un paquet de source dans ce cas-ci.

%define name    braillevirtual 
%define version 1.0 
%define release mdk 
%define dir     braillevirtual
%define root    /home/felipe/tmp/ROOT/

Summary:   Curso On-Line de Braille
Name:      %{name}
Version:   %{version}
Release:   %{release}
Vendor:    Laboratório de Brinquedos da Faculdade de Educação da USP
URL:       www.braillevirtual.fe.usp.br
License:   Distribuível livremente
Group:     Books/Other
Packager:  Felipe Monteiro de Carvalho
Source0:   home/felipe/Programacao/SOURCES/braillevirtual.tar.bz2
BuildRoot: %{root}

%description
O Braille Virtual é um curso on-line público e gratuito destinado à difusão e ensino do sistema Braille de leitura e escrita para cegos a pessoas que vêem. É orientado especialmente a pais, crianças, professores e funcionários de escolas inclusivas e pretende facilitar a comunicação entre estas pessoas e as pessoas com cegueira.

%prep
cd $RPM_SOURCE_DIR
cp braillevirtual.tar.bz2 $RPM_BUILD_DIR
cd $RPM_BUILD_DIR
rm -rf %{dir}
rm -f braillevirtual.tar
bunzip2 -d braillevirtual.tar.bz2
tar -xvf braillevirtual.tar

%install
rm -rf $RPM_BUILD_ROOT/usr/share/%{dir}
cp -r $RPM_BUILD_DIR/%{dir} $RPM_BUILD_ROOT/usr/share/

%clean
rm -rf $RPM_BUILD_DIR/*.*

%files
/usr/share/%{dir}/

%changelog

* Mon Oct 24 2005 1.0-mdk.noarch.rpm

- Nova atualização do pacote de instalação. Inclusão dos exercícios avançados.

* Wed May 12 2005 1.0-mdk.noarch.rpm

- Atualizei o pacote para refletir as mudanças no site. Várias pequenas mudanças.

* Sun May 05 2005 1.0-1mdk.i586.rpm

- O pacote de instalação do braille Virtual para linux é criado.

Créer une source et un paquet binaire

Les distributions Linux acceptent seulement les paquets RPM qui peuvent construire le logiciel. Ceci exigera probablement de créer des scripts de construction et/ou un fichier makefile. Pour plus d'information voir la section Deploying_Your_Application#Creating_a_Makefile_for_your_Lazarus_software.

Vous devez employer la section %build pour compiler le logiciel.

Le texte ci-dessous est un exemple de fichier Spéc. capable de construire le logiciel. Faire très attention à ceci car chaque petit détail est important et bien suivre le modèle précis.

Name:           magnifier
Version:        3.2.1
Release:        1
Summary:        Virtual Magnifying Glass
Group:          Accessibility
License:        GPL Version 2
URL:            http://magnifier.sourceforge.net
Source0:        http://internap.dl.sourceforge.net/sourceforge/magnifier/magnifier-3.2.1.zip
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  fpc >= 2.0.2, lazarus >= 0.9.12
Requires:       ImageMagick

%description

Virtual Magnifying Glass is a free, open source, multiplatform, screen magnification tool. It is simple, customizable, and easy-to-use.

%prep
%setup -q magnifier

%build
make TARGET=%{_target_cpu}

%install
./install.sh DESTDIR=$RPM_BUILD_ROOT

%clean
rm -rf $RPM_BUILD_ROOT/

%files
%defattr(-,root,root,-)
/usr/share/magnifier/
/usr/bin/magnifier

%changelog

* Wed Feb 15 2006 Felipe Monteiro de Carvalho <felipemonteiro.carvalho at gmail.com> - 3.2-mdk.i386.rpm
- The Linux RPM package is created.

Créer un paquet Debian sur Linux

Svp, m'écrire.

Aller voir en attendant ce cours d'instruction écrit par IBM.
http://www-128.ibm.com/developerworks/linux/library/l-debpkg.html

GUInseng

GUInseng est un installateur basé sur GTK pour Linux sous licence GPL.

The Zero Install system

The Zero Install system aims to provide a better way of installing software than traditional systems

(tarballs, apt-get, bundles, setup.exe, etc). Here are some of yours goals:

Anyone can install software

You don't have to be the administrator (root) just to install a word-processor.

Anyone can distribute software

You don't need to be blessed by a distribution (or anyone else) to be part of Zero Install. The system is completely

decentralised.

It doesn't matter whether software is installed or not

You just run it. Zero Install handles the rest (downloading and caching as needed).

Security

If one user downloads a malicious program, other users aren't affected. Users can share downloads without having to trust

each other. Installation does not execute any of the downloaded code. Digital signatures are always checked before new

software is run.

Créer un fichier makefile pour votre logiciel Lazarus

Ce qui suit est un système en ligne de commande pour construire un logiciel Lazarus. C'est en particulier une utilisation complète si vous voulez créer un paquet RPM approprié à inclure sur des distributions GNU/Linux. Les commentaires sur les fichiers devraient expliquer chaque partie.

make.sh

<bash>

  1. Detects and parses the architecture

ARCH=$(uname -m)

case "$ARCH" in

"i686") ARCH="i386";;
"i586") ARCH="i386";;
"i486") ARCH="i386";;

esac

echo "Target architecture: $ARCH"

  1. Detects and parses the OS

OS="linux"

echo "Target operating system: $OS"


  1. Command line to build the sofware

fpc -S2cgi -OG1 -gl -WG -vewnhi -l -Fu/usr/lib/lazarus/components/opengl/gtk2x11/ -Fi/usr/lib/lazarus/components/opengl/gtk2x11/include/ -Fu/usr/lib/lazarus/components/jpeg/ -Fu/usr/lib/lazarus/lcl/units/$ARCH-$OS/ -Fu/usr/lib/lazarus/lcl/units/$ARCH-$OS/ -Fu/usr/lib/lazarus/lcl/units/$ARCH-$OS/gtk2/ -Fu/usr/lib/lazarus/packager/units/$ARCH-$OS/ -Fu. -o./magnifier -dLCL -dLCLgtk2 magnifier.dpr </bash>

install.sh

<bash>

  1. Parses command line options. Currently supported options are:
  2. DESTDIR Destination root directory

DESTDIR=""

for arg; do

 case $arg in
   DESTDIR=*) DESTDIR=${arg#DESTDIR=};;
 esac;

done

  1. Does the install
  2. "mkdir -p" is equivalent to ForceDirectories pascal function

mkdir -p $DESTDIR/usr/share/magnifier

cp ./topleft.bmp $DESTDIR/usr/share/magnifier/ cp ./topright.bmp $DESTDIR/usr/share/magnifier/ cp ./bottomleft.bmp $DESTDIR/usr/share/magnifier/ cp ./bottomright.bmp $DESTDIR/usr/share/magnifier/ cp ./top.bmp $DESTDIR/usr/share/magnifier/ cp ./left.bmp $DESTDIR/usr/share/magnifier/ cp ./bottom.bmp $DESTDIR/usr/share/magnifier/ cp ./right.bmp $DESTDIR/usr/share/magnifier/ cp ./icon3.ico $DESTDIR/usr/share/magnifier/

mkdir -p $DESTDIR/usr/bin

cp ./magnifier $DESTDIR/usr/bin/ </bash>

clean.sh

<bash> rm -rf *.o rm -rf *.ppu

rm -rf *.pas~ rm -rf *.sh~ rm -rf *.bak

rm -rf *~

rm -rf magnifier </bash>

uninstall.sh

<bash>

  1. Don´t use "rm -rf" in here, because you should only remove the files you created

rm -f /usr/share/magnifier/topleft.bmp rm -f /usr/share/magnifier/topright.bmp rm -f /usr/share/magnifier/bottomleft.bmp rm -f /usr/share/magnifier/bottomright.bmp rm -f /usr/share/magnifier/top.bmp rm -f /usr/share/magnifier/left.bmp rm -f /usr/share/magnifier/bottom.bmp rm -f /usr/share/magnifier/right.bmp rm -f /usr/share/magnifier/icon3.ico

rm -f /usr/share/magnifier/magnifier

rm -f /usr/bin/magnifier

rmdir /usr/share/magnifier </bash>

Makefile

#
# Targets
#

#
# The First target is the one build when there is nothing on make command line
#
all:
	./make.sh

clean:
	./clean.sh

install:
	./install.sh

uninstall:
	./uninstall.sh

Mac OS X installers

Using PackageMaker on OS X

Most OS X programs are distributed as a disk image file (.dmg extension). Normally you download or copy a program's .dmg file to your Mac and double-click it. This "mounts" the disk image and opens it in a window on the desktop, where you'll typically see a package file (.pkg extension) that you double-click to perform the actual program installation. After installation is complete, you "unmount" (eject) the mounted disk image by dragging it to the trash. You can also delete the .dmg file by dragging it to the trash as well.

The installer .pkg file is actually a directory, as is the resulting application bundle (.app extension) that it copies to the Applications folder. To the user, .pkg and .app files look and act like ordinary files, but they're really directories whose details have been hidden from the user. You can see what's inside a .pkg or .app file by entering normal cd commands in a terminal window (for example, cd progname.app) or by Ctrl-clicking the file and choosing Show Package Contents from the popup menu.

You create .pkg files using PackageMaker, which is installed along with the XCode tools in /Developer/Applications/Utilities. With PackageMaker, you select the folder containing the files you want to package and set other installation options, for example whether a password must be entered to install the program. Note that the folder you select can be an .app file. Choose File | Create Package to create the .pkg file. You can also save your settings for future use in PackageMaker by choosing File | Save to create a .pmsp file that you name (.pmproj with later versions).

To create a .dmg file, run the OS X Disk Utility, which is installed in /Applications/ Utilities. Select Images | New | Image from Folder and choose the folder containing your .pkg file and any other files you want to include in the disk image. In the Convert Image dialog, enter the name of the .dmg file to create, select where it should be saved, and select "compressed" as the image format. The .dmg file that Disk Utility creates is then ready for distribution.

Installing X11 and GTK on OS X

GUI apps created with Lazarus that use the GTK widgetset require X11 and the GTK libraries to run. X11 is included with OS X, but may not be installed by default on a user's Mac, so you'll want to mention this in your app's read-me file.

To install the GTK libraries on a user's system, you could include instructions for using fink. Or you could create a separate .dmg file containing just the files from the /sw/lib folder on your Mac. If you don't want to install all of the subfolders under the /sw/lib folder, copy just the .dylib files from /sw/lib to a different folder and package this folder instead of /sw/lib. Also, remember that the GTK libraries installed on your Mac are specific to the processor that you're running. That is, if you want to support both PowerPC and Intel Macs you'll need to create two different .dmg files and instruct your users to install the appropriate one. Note that the GTK libraries only need to be installed once and can be used with any number of Lazarus GUI programs that you develop.