User Tools

Site Tools


k11:k11.10:k11.10.1:start

11.10.1 Create installation package

Check again which files you want to share with your program and if these files are in the correct folders.

  • Finally check whether all translations from English into German have been completed.
  • Make sure that you have thoroughly tested the program to be exported and that the project has been cleaned up, which includes creating an executable file.

The wizard for creating an installation package (Packer Wizard) in 10 steps can be found under Project> Create>Install package or you can call it directly in the IDE with CTRL+ALT+I. Fill in all required information carefully and thoroughly!

11.10.1.1 Step 1 - Package information

Figure 11.10.1.1.1.1: Step 1 - Packet information

You can change or supplement the settings in the menu item' Tools' in the Gambas IDE here. The description' dealer name' and' provider name' are used synonymously here.

If you do not enter a provider name, a standard text will be inserted automatically. Use the character string “- - - -” instead. By default, however, the retailer name is not placed before the package name.

11.10.1.2 Step 2 - Change protocol

Figure 11.10.1.2.1: Step 2 - Change log

In this step, you should document the project progress and changes to older versions for the program user.

Make sure to make these entries for the StructDB project in English and German, as these entries are not available for translation in the Translation Wizard!

11.10.1.3 Step 3 - Destination distribution

Select the target distributions you need to share on the target machine:

Figure 11.10.1.3.1: Step 3 - Selecting the destination distribution Mint

11.10.1.4 Step 4 - Package Group

Here the selection' database' from the given list fits well for the database project.

11.10.1.5 Step 5 - Menu item

In this step, you will also be offered a list from which you can choose immediately in the upper part. The entries from the combo box are available for specifying the category:

Figure 11.10.1.5.1: Step 5 - Menu entry

Obviously, menu entries on a target computer with MINT 17.1 are ignored that are not main entries in the MINT menu. The StructDB program then appears in the MINT menu under the menu item 'Other'. When selecting 'Applications/Office' you will find the program in the correct menu entry under 'Office'.

11.10.1.6 Step 6 - Desktop configuration file

1st variation

The program StructDB has a memory management function with which you can save the database structure (data type Struct → chapter 7.2 Structures - Struct) serialized in a file and read it out again. This is how you determine the MIME type of a file under Ubuntu - where the term content type would be more suitable:

hans@linux:~/11-Buchprojekt/$ xdg-mime query filetype ~/StructDB/example.sdb 
application/octet-stream 

The content type for these *.sdb files is therefore application/octet-stream and is independent of the self-assigned file extension.sdb for the database files! Specifying the appropriate mime type application/octet-stream for the database file in the Packer Wizard automatically creates the entry in the system-wide file /usr/share/applications/mimeinfo.cache of the target computer when the installation package is installed on the target computer:

application/octet-stream=StructDB.desktop 

This saves (internally via the Args component) that after double-clicking on a *.sdb file the database program StructDB opens, the records from the selected *.sdb file are read and displayed. As long as there is only one single mime entry for application/octet-stream, the database program StructDB is the default program; otherwise you must right-click to open the database program. Under the link: http://wiki.ubuntuusers.de/MIME-Typ you will find a good description of the MIME type.

Since the MIME type application/octet-stream for a database file of the program StructDB is application/octet-stream, this type is entered here:

B

Figure 11.10.1.6.1: Step 6 - Defining the MIME Type - Variant 1

2nd variation

In this variant, a new MIME type is created and registered on the target computer using entries in both step 6 and step 8:

Figure 11.10.1.6.6.2: Step 6 - Defining the MIME Type - Variant 2

The .desktop files associate certain file content types (MIME types) with programs and thus determine which programs are used to process files of a certain type. This is a part of the file structdb.desktop after variant 2:

[Desktop Entry]
Version=1.0
Name=StructDB				' Program-Name
…
Exec=/usr/bin/StructDB			' Program-Path
Icon=/usr/share/pixmaps/structdb.png	        	' Path to the program-icon
Terminal=false
Type=Application
StartupNotify=true
Categories=Office;				' Menu entry
MimeType=application/x-structdb	 	' Program-specific MIME type 

11.10.1.7 Step 7 - Extra dependencies

There is a (fictitious) extra dependency for the StructDB project. It is assumed that the program StructDB calls the HTML editor BlueFish to edit a specific HTML file. The program would not work if this editor is not installed on the target computer. You must therefore make sure that the HTML editor BlueFish is installed during the installation of the installation package if it has not yet been installed.

You have to add this information to the installation package in the extra dependencies. That's exactly what this 7th step is all about. If necessary, you can also enter the required version numbers (min/max).

Figure 11.10.1.7.1: Step 7 - Determination of extra dependencies

These scenarios are possible:

  • The editor BlueFish is installed on the target computer in the specified (minimum) version. Then this extra dependency is resolved.
  • The editor BlueFish is not installed on the target computer. The editor is then automatically installed if a suitable package source exists on the target computer. This has always been the case with all tests under MINT 17.1.
  • If the Debian installer can't resolve the extra dependency, you will be notified and a solution will be offered that has always worked.

11.10.1.8. step - Additional files

In this step, for example, you can specify files that can only be read by all system users. You can only select the files individually with 'Add' (a Multi-Select is not available) located in the logical “Project” directory. As the target folder, specify a folder in which normal system users can only read and the files are protected from write access.

B

Figure 11.10.1.8.1: Step 8 - Additional files

If you have decided to create and register your own MIME type on the target computer, Chapter 11.10.0.11 (variant 2) and had also entered the MIME type in step 6, you must enter the necessary information here in step 8 how to define the new MIME type for database files that are created locally with the program StructDB. Files with the extension *.sdb are to be assigned to the new MIME type and are to be provided with a file symbol as well as the assignment to the standard application StructDB so that the program opens, the data records are read from the file and displayed after a double-click on the file symbol. First, an XML file with the description of the MIME type (mime-type), the file extension (glob pattern) and the file icon (icon name) is required.

The content of the (tested) structdb.xml file follows the specifications on www.freedesktop.org:

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="application/x-structdb">
    <comment xml:lang="de">StructDB Projekt</comment>
    <comment xml:lang="en">StructDB Project</comment>
    <comment xml:lang="es">Proyecto StructDB</comment>
    <comment xml:lang="fr">StructDB projet</comment>
    <comment xml:lang="nl">StructDB Project</comment>
    <glob pattern="*.sdb" />
    <icon name="structdb_dfi" />
  </mime-type>
</mime-info> 

Many thanks to Willy Raets (Netherlands - http://howtogambas.org), who provided a sample XML file from one of his projects.

The XML file to be copied and the icon file must be selected (…) and entered in step 8 of the Packer Wizard:

B

Figure 11.10.1.8.2: Step 8 - Packer Wizard

These are the default directories for the XML file and the icon file on the target computer:

/usr/share/mime/packages/ 
/usr/share/icons/ 

Both the XML file and the symbol file must be located in the physical. hidden folder in the project folder, which corresponds to the logical folder 'Project' in the IDE. You can also copy both files to sub-folders such as XML and Icon, Figure 11.10.1.8.2.

11.10.1.9 Step 9 - target directory

In this step, select a folder on the development computer where the Packer Wizard will save and back up all the files of the installation package, or create this folder using the context menu. The option (marked in red) can only be activated if you have specified several target distributions in step 3.

Figure 11.10.1.9.1: Step 9 - Define target directory

11.10.1.10. Step 10 - Create Package

Now it's getting serious. Press OK to move the creation of the installation package to step 10. This process takes a little time. If the creation of all files in the installation package has been successfully completed, you will be notified:

B

Figure 11.10.1.10.1: Step 10 - The installation package has been successfully tied up

Afterwards, you will find these files in your IP_StructDB (export) folder in your home directory named in the dialog:

IP

Figure 11.10.1.10.2: Contents of the installation package

Under Ubuntu or MINT, you can view the structured contents of the deb file by right-clicking on the deb file and selecting “Open with archive management” or, under MINT, the entry “Open with archive manager” in the context menu that opens. Take your time and take a look at the structure of the installation package. Read through the contents of the numerous files!

Pay attention:

  • No folder in the project folder may have the same name as the project folder itself, because then the generation of an installation package fails.
  • If you want to give your own component (!) an icon that is to be displayed in the development environment, you have to save the icon in the project folder in png format in the hidden folder.hidden/control.

Download

11.10.1 Installationspaket erzeugen

  • Überprüfen Sie noch einmal, welche Dateien Sie Ihrem Programm mitgeben wollen und ob diese Dateien in den richtigen Ordnern liegen.
  • Kontrollieren Sie abschließend, ob alle Übersetzungen von der englischen in die deutsche Sprache vollständig vorgenommen worden sind.
  • Stellen Sie sicher, dass Sie das zu exportierende Programm ausführlich getestet haben und das Projekt aufgeräumt wurde, was dann das Erzeugen einer ausführbaren Datei einschließt.

Den Assistenten zum Erzeugen eines Installationspakets (Packer-Assistent) in 10 Schritten finden Sie unter Projekt> Erstellen> Installationspaket oder Sie rufen ihn direkt in der IDE mit CTRL+ALT+I auf. Füllen Sie alle erforderlichen Angaben sorgfältig prüfend aus!

11.10.1.1 1. Schritt – Paketinformation

Abbildung 11.10.1.1.1: Schritt 1 – Paketinformation

Die Angaben aus den Einstellungen im Menü-Punkt 'Tools' in der Gambas-IDE können Sie hier ändern oder ergänzen. Die Beschreibung 'Händlername' und 'Anbietername' werden hier synonym verwendet.

Wenn Sie keinen Anbieternamen eintragen, dann wird automatisch ein Standardtext eingefügt. Setzen Sie statt dessen dort die Zeichenkette “- - -” ein. Der Händlername wird jedoch standardmäßig nicht vor den Paketnamen gestellt.

11.10.1.2 2. Schritt – Änderungsprotokoll

Abbildung 11.10.1.2.1: Schritt 2 - Änderungsprotokoll

In diesem Schritt sollten Sie für den Programm-Nutzer den Projekt-Fortschritt und die Änderungen zu älteren Versionen dokumentieren.

Achten Sie darauf, diese Eintragungen beim Projekt StructDB in englischer und deutscher Sprache vorzunehmen, denn diese Eintragungen werden nicht zur Übersetzung im Übersetzungsassistenten angeboten!

11.10.1.3 3. Schritt – Ziel-Distribution

Wählen Sie die Ziel-Distributionen aus, die Sie für die Weitergabe auf dem Ziel-Rechner benötigen:

Abbildung 11.10.1.3.1: Schritt 3 – Wahl der Zieldistribution Mint

11.10.1.4 4. Schritt – Paket-Gruppe

Hier passt die Auswahl 'database' aus der vorgegebenen Liste für das Datenbank-Projekt gut.

11.10.1.5 5. Schritt – Menü-Eintrag

Auch in diesem Schritt wird Ihnen eine Liste angeboten, aus der Sie im oberen Teil sofort auswählen können. Für die Festlegung der Kategorie stehen Ihnen die Einträge aus der Combo-Box zur Verfügung:

Abbildung 11.10.1.5.1: Schritt 5 – Menü-Eintrag

Offensichtlich werden Menü-Einträge auf einem Ziel-Rechner mit MINT 17.1 ignoriert, die nicht als Haupteinträge im MINT-Menü stehen. Das Programm StructDB erscheint dann im MINT-Menü unter dem Menü-Eintrag 'Sonstige'. Bei der Wahl von 'Applications/Office' finden Sie das Programm jedoch im richtigen Menü-Eintrag unter 'Büro'.

11.10.1.6 6. Schritt – Desktop-Konfigurationsdatei

1. Variante

Das Programm StructDB verfügt über ein Speicher-Management, mit dem Sie die Datenbank-Struktur (Daten-Typ Struct → Kapitel 7.2 Strukturen - Struct) serialisiert in einer Datei abspeichern und wieder auslesen können. So bestimmen Sie unter Ubuntu den MIME-Typ einer Datei – wobei der Begriff Content-Typ geeigneter wäre:

hans@linux:~/11-Buchprojekt/$ xdg-mime query filetype ~/StructDB/example.sdb 
application/octet-stream 

Der Content-Typ für diese *.sdb-Dateien ist also application/octet-stream und ist unabhängig von der selbst vergebenen Datei-Extension .sdb für die Datenbank-Dateien! Die Angabe des zutreffenden Mime-Typs application/octet-stream für die Datenbank-Datei im Packer-Assistenten erzeugt bei der Installation des Installationspakets auf dem Ziel-Rechner automatisch in der systemweit geltenden Datei /usr/share/applications/mimeinfo.cache des Ziel-Rechners den Eintrag:

application/octet-stream=StructDB.desktop 

Das sichert (programm-intern über die Args-Komponente), dass sich nach einem Doppel-Klick auf eine *.sdb-Datei das Datenbank-Programm StructDB öffnet, die Datensätze aus der ausgewählten *.sdb-Datei eingelesen und anzeigt werden. So lange nur ein einziger Mime-Eintrag für application/octet-stream existiert, ist das Datenbank-Programm StructDB das Standard-Programm; sonst müssen Sie mit der rechten Maustaste das Datenbank-Programm zum Öffnen auswählen. Unter dem Link: http://wiki.ubuntuusers.de/MIME-Typ finden Sie eine gute Beschreibung zum Thema MIME-Typ.

Da für eine Datenbank-Datei des Programms StructDB der MIME-Typ application/octet-stream ist, wird dieser Typ hier eingetragen:

B

Abbildung 11.10.1.6.1: Schritt 6 – Festlegung MIME-Typ – Variante 1

2. Variante

In dieser Variante wird durch Einträge sowohl im Schritt 6 als auch im Schritt 8 ein neuer MIME-Typ auf dem Zielrechner erzeugt und registriert:

Abbildung 11.10.1.6.2: Schritt 6 – Festlegung MIME-Typ – Variante 2

Der Eintrag x-structdb muss bereits hier eingetragen werden und steht in der XML-MIME-Definitionsdatei → Schritt 8. Dabei steht das x- für einen eigenen MIME-Typ und structdb für das Programm.

Die .desktop-Dateien assoziieren bestimmte Datei-Content-Typen (MIME-Typen) mit Programmen und legen so fest, mit welchen Programmen Dateien eines bestimmten Typs bearbeitet werden. Das ist ein Ausschnitt aus der Datei structdb.desktop nach Variante 2:

[Desktop Entry]
Version=1.0
Name=StructDB					' Programm-Name
…
Exec=/usr/bin/StructDB				' Programm-Pfad
Icon=/usr/share/pixmaps/structdb.png	        ' Pfad zum Programm-Icon
Terminal=false
Type=Application
StartupNotify=true
Categories=Office;				' Menü-Eintrag
MimeType=application/x-structdb	 	        ' Programm-spezifischer MIME-Typ 

11.10.1.7 7. Schritt – Extra-Abhängigkeiten

Für das Projekt StructDB existiert eine (fiktive) Extra-Abhängigkeit. Es wird angenommen, dass das Programm StructDB den HTML-Editor BlueFish aufruft, um eine bestimmte HTML-Datei zu bearbeiten. Das Programm würde nicht funktionieren, wenn auf dem Zielrechner dieser Editor nicht installiert ist. Sie müssen daher sicherstellen, dass der HTML-Editor BlueFish während der Installation des Installationspakets installiert wird, wenn er noch nicht installiert wurde.

Diese Information müssen Sie bei den Extra-Abhängigkeiten dem Installationspaket einfügen. Genau dafür ist dieser 7. Schritt gedacht. Wenn es erforderlich ist, so können Sie auch die benötigten Versionsnummern (min/max) eintragen.

Abbildung 11.10.1.7.1: Schritt 7 – Festlegung von Extra-Abhängigkeiten

Diese Szenarien sind möglich:

  • Der Editor BlueFish ist auf dem Ziel-Rechner in der angegebenen (Minimal-)Version installiert. Dann ist diese Extra-Abhängigkeit aufgelöst.
  • Auf dem Ziel-Rechner ist der Editor BlueFish nicht installiert. Dann wird der Editor automatisch installiert, wenn eine passende Paket-Quelle auf dem Ziel-Rechner existiert. Das war bei allen Erprobungen unter MINT 17.1 stets der Fall.
  • Wenn der Debian-Installer die Extra-Abhängigkeit nicht auflösen kann, dann werden Sie darüber informiert und eine Lösung angeboten, die bisher stets zum Ziel führte.

11.10.1.8 8. Schritt – Zusätzliche Dateien

In diesem Schritt haben Sie die Möglichkeit, dem Programm zum Beispiel Dateien mitzugeben, die jedoch von allen System-Benutzern nur gelesen werden können. Sie können die Dateien nur einzeln mit 'Hinzufügen' auswählen (ein Multi-Select steht nicht zur Verfügung), die sich im logischen “Projekt”-Verzeichnis befinden. Als Ziel-Ordner geben Sie einen Ordner an, in dem normale System-Benutzer nur lesen können und die Dateien so vor schreibendem Zugriff geschützt sind.

B

Abbildung 11.10.1.8.1: Schritt 8 – Zusätzliche Dateien

Wenn Sie sich entschieden hatten, einen eigenen MIME-Typ auf dem Ziel-Rechner erzeugen und registrieren zu lassen → Kapitel 11.10.0.11 (Variante 2) und im 6. Schritt den MIME-Typ auch eingetragen hatten, dann müssen Sie hier im 8. Schritt die notwendigen Informationen angeben, wie der neue MIME-Typ für Datenbank-Dateien, die lokal mit dem Programm StructDB angelegt werden, definiert wird. Dateien mit der Endung *.sdb sollen dem neuen MIME-Typ zugeordnet und mit einem Datei-Symbol sowie der Zuordnung zur Standard-Anwendung StructDB versehen werden, so dass sich auch nach einem Doppelklick auf das Datei-Symbol das Programm öffnet, die Datensätze aus der Datei eingelesen und angezeigt werden. Zunächst wird dazu eine XML-Datei mit der Beschreibung des MIME-Typs (mime-type), der Datei-Extension (glob pattern) und des Datei-Icons (icon name) benötigt.

Der Inhalt der (erprobten) Datei structdb.xml folgt den Vorgaben auf www.freedesktop.org:

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="application/x-structdb">
    <comment xml:lang="de">StructDB Projekt</comment>
    <comment xml:lang="en">StructDB Project</comment>
    <comment xml:lang="es">Proyecto StructDB</comment>
    <comment xml:lang="fr">StructDB projet</comment>
    <comment xml:lang="nl">StructDB Project</comment>
    <glob pattern="*.sdb" />
    <icon name="structdb_dfi" />
  </mime-type>
</mime-info> 

Ein herzlicher Dank geht an Willy Raets (Niederlande – http://howtogambas.org), der aus einem seiner Projekte eine Muster-XML-Datei zur Ansicht zur Verfügung stellte.

Die zu kopierende XML-Datei und die Icon-Datei müssen Sie im 8. Schritt des Packer-Assistenten auswählen (…) und eintragen:

B

Abbildung 11.10.1.8.2: Schritt 8 – Packer-Assistent

Das sind die Standard-Verzeichnisse für die XML-Datei und für die Icon-Datei auf dem Ziel-Rechner:

/usr/share/mime/packages/ 
/usr/share/icons/ 

Sowohl die XML-Datei als auch die Symbol-Datei müssen im physischen .hidden-Ordner im Projekt-Ordner liegen, was dem logischen Ordner 'Projekt' in der IDE entspricht. Sie können beide Dateien auch in Unter-Ordner wie XML und Symbol kopieren → Abbildung 11.10.1.8.2.

11.10.1.9 9. Schritt – Zielverzeichnis

Wählen Sie in diesem Schritt einen Ordner auf dem Entwicklungsrechner aus, in dem der Packer-Assistent alle Dateien des Installationspakets abspeichert und sichert oder legen Sie diesen Ordner über das aufrufbare Kontext-Menü an. Die Option (rot markiert) ist nur dann zu aktivieren, wenn Sie im 3. Schritt mehrere Ziel-Distributionen angegeben haben.

Abbildung 11.10.1.9.1: Schritt 9 – Zielverzeichnis festlegen

11.10.1.10 10. Schritt – Paket erstellen

Jetzt wird es ernst. Mit OK schieben Sie das Erzeugen des Installationspakets im Schritt 10 an. Dieser Vorgang dauert ein wenig. Wenn das Erzeugen aller Dateien im Installationspaket erfolgreich abgeschlossen wurde, dann werden Sie darüber unterrichtet:

B

Abbildung 11.10.1.10.1: Schritt 10 – Das Installationspaket wurde erfolgreich geschnürt

Mit OK kehren Sie zum Schritt 10 zurück. Nur nicht nervös werden und voller Begeisterung auf den OK-Button des Packer-Assistenten klicken, denn dann würde ein weiterer Durchlauf zum Erzeugen eines Installationspakets starten. Klicken Sie auf 'Abbrechen' oder schließen Sie das Fenster des Packer-Assistenten!

Im Anschluss finden Sie in Ihrem – im Dialog benannten (Export-)Ordner IP_StructDB im Home-Verzeichnis – diese Dateien:

IP

Abbildung 11.10.1.10.2: Inhalt Installationspaket

Unter Ubuntu oder MINT können Sie sich den strukturierten Inhalt der deb-Datei ansehen, indem Sie nach einem Klick mit der rechten Maustaste auf die deb-Datei den Eintrag “Mit Archivverwaltung öffnen” oder unter MINT den Eintrag “Öffnen mit Archiv-Manager” im sich öffnenden Kontext-Menü auswählen. Sehen Sie sich in aller Ruhe die Struktur des Installationspakets an. Lesen Sie sich den Inhalt der zahlreichen Dateien durch!

Beachten Sie:

  • Es darf kein Ordner im Projektordner den gleichen Namen tragen wie der Projektordner selbst, weil dann das Generieren eines Installationspakets misslingt.
  • Wenn Sie einer eigenen Komponente(!) ein Icon mitgeben wollen, das in der Entwicklungsumgebung angezeigt werden soll, dann müssen Sie das Icon im Projektordner im png-Format im versteckten Ordner .hidden/control speichern.

Download

The website uses a temporary session cookie. This technically necessary cookie is deleted when the browser is closed. You can find information on cookies in our privacy policy.
k11/k11.10/k11.10.1/start.txt · Last modified: 02.07.2018 (external edit)

Page Tools