Einige kurze Ratschläge : Schauen Sie zuerst im PluginRepository und auf den anderen Plugin-Seiten nach, ob für Ihre Anwendung oder ein Programm, welches die selbe Aufgabe erfüllt, bereits ein Plugin existiert, so können Sie viel Aufwand sparen. Sollten Sie dort nichts finden, gehen Sie zum Forum und suchen Sie nach dem Programm oder der Problemstellung (vergessen Sie nicht, das voreingestellte Zeitlimit von 30 Tagen zu entfernen), ein Plugin könnte in Arbeit sein oder das Programm unter PE nicht laufen. Da BartPE von einem schreibgeschützten Medium läuft, müssen Sie beachten, dass Sie Konfigurationsdateien einiger Programme, auf die RAMdisk legen müssen, da nur dort Schreibzugriff besteht. Es gibt eine Menge kleiner Tools, die ihre Aufgaben einwandfrei erledigen und schon für BartPE angepasst wurden. Ich will Sie nicht abschrecken, Ihre eigenen Plugins zu schreiben (es macht irgendwie süchtig), stellen Sie sich nur nicht gleich vor die Aufgabe "Ich will MS Office 2003 da drin", dann sind Sie nur enttäuscht, dass es nicht funktioniert. Aber nun zur Anleitung.
1. Installieren Sie Ihr Programm unterWindows XP SP1/SP2. Es ist sinnvoll, Sysinternals filemon and regmon während der Installation laufen zu lassen, um die installierten Dateien und die hinzugefügten Registry-Einträge zu protokollieren.
2. Erstellen Sie ein Verzeichnis (z.B. MyTool) für das Programm in Ihrem PEbuilder\plugins Verzeichnis. Erstellen Sie ein Unterverzeichnis namens files.
3. Kopieren Sie alle Dateien und Ordner aus Ihrem Windows XP Installationsverzeichnis (d.h. C:\Programme\MyTool) in das PEbuilder\plugins\MyTool\files Verzeichnis.
4. Besorgen Sie sich ein Programm zur Bestimmung von Dateiabhängigkeiten, z.B. Dependency Walker . Laden Sie MyTool.exe in dieses Programm, um die benötigten dlls etc. zu bestimmen.
5. Überprüfen Sie, welche Dateien aus 4. sich auf Ihrer Windows XP SP1/SP2 CD befinden. Fügen Sie die übrigen Ihrem files Verzeichnis hinzu.
6. Erstellen Sie eine leere ASCII Textdatei (z.B. mit dem Windows Editor Notepad) und speichern Sie diese unter PEbuilder\plugins\MyTool\MyTool.inf. Es bietet sich an, eine .inf Datei aus einem bestehenden Plugin zu verwenden und diese zu modifizieren (z.B. adaware.inf). Die Datei sollte ungefähr so aussehen:
-------------------------------------------------------
; MyTool.inf
; PE Builder v3 plug-in INF file for MyTool
; Created by Me
; Plugin version 0.0
[Version]
Signature= "$Windows NT$"
[PEBuilder]
Name="MyTool"
Enable=1
Help="mytool.htm"
[WinntDirectories]
a="Programs\mytool",2
b="Programs\mytool\unterverzeichnis",2
[SourceDisksFiles]
files\mytool.exe=a,,1
files\mytool.ini=b,,1
etc.
[Append]
nu2menu.xml, MyTool_nu2menu.xml
-------------------------------------------------------------
Wie sie sehen, ist die .inf Datei in verschiedene Sektionen unterteilt. Der Kopfteil dient nur zur Information über das Programm und den Autor des Plugins. Es empfiehlt sich, das Plugin hier mit einer Versionsnummer zu versehen, um Änderungen erkennbarer zu machen.
Die Sektion [Version] darf nicht verändert werden.
In der Sektion [PEBuilder] wird der Name des Programms eingetragen, ausgewählt ob es standardmäßig aktiviert sein soll (Enable=1) oder nicht (Enable=0) und der Name der Hilfedatei genannt, in der die Nutzungsanweisungen stehen werden. Die Hilfedatei muss eine HTML Seite sein.
In der Sektion [WinntDirectories] wird festgelegt, welche Ordner PEBuilder für Ihr Programm erstellen soll und wo. Sie benötigen einen Eintrag für den Programmordner selbst (normalerweise Programs\MyTool) und jedes Unterverzeichniseach. Die Variable (a-z) vor den Ordnernamen werden für die nächste Sektion benötigt. Die Zahl 2 nach dem Komma weist PEBuilder an, den Ordner im Wurzelverzeichnis der CD zu erstellen, nicht im Ordner i386. Sie könnnen sie mit der Nummer 1 verbinden (einfach zu 3 aufaddieren), die PEBuilder anweist, den Ordner auch zu erstellen, falls er leer bleibt.
In der Sektion [SourceDisksFiles] wird festgelegt, woher PEBuilder die benötigten Dateien nimmt und in welches Verzeichnis er sie einordnet. In diesem Beispiel wird die Datei mytool.exe aus dem Verzeichnis files genommen und in das durch die VAriable bezeichnete Verzeichnis aus der voherigen Sektion eingeordnet. Es gibt hier auch numerische Codes, die Systemverzeichnisse repräsentieren, z.B. system32 wird durch die 2 dargestellt. Eine vollständige Liste der Verzeichniscodes finden sie hier. Zwischen den beiden Kommas können Sie einen alternativen Dateinamen festlegen, den die Datei auf der CD erhalten soll, falls eine andere Datei mit demselben Namen bereits auf der CD vorhanden ist. Das Plugin für ERD Commander nutzt diese Funktion, um seine eigene Variante von explorer.exe hinzuzufügen, ohne das Original zu überschreiben. Die Zahl 1 am Ende des Eintrags weist PEBuilder an, die Existenz der Datei in dem angegebenen Verzeichnis zu überprüfen und gegebenenfalls eine Fehlermeldung auszugebent. Die Benutzung von Wildcards ist zulässig, z.B. files\*.dll=2,,1 . Falls Sie nicht alle Dateinamen aus dem Verzeichnis abtippen wollen, empfiehlt sich hier die Benutzung des Befehls dir /b > files.txt , so wird einfach eine Liste aller Dateien in eine Datei files.txt geschrieben, aus der Sie dann die Namen übernehmen können.
Wenn Sie alle Dateien demselben Ordner zuweisen wollen, können Sie eine Sektion [SourceDisksFolders] (nicht im Beispiel) benutzen und dort einen Eintrag ähnlich dem folgenden vornehmen: files=a,,1.
Es gibt noch eine Reihe weiterer möglicher Sektionen, die das Erstellen bzw. Löschen von Registry-Einträgen ermöglichen, dise werden in einem weiteren Howto besprochen. Wenn Sie ein einfaches Plugin ohne Registrierungseinträge erstellen, sind Sie jetzt fast fertig.
In der Sektion [Append] wird PEBuilder angewiesen, die Datei MyTool_nu2menu.xml, die Sie im letzten Schritt erstellen werden, an das Nu2Menu, welches in BartPE dem Startmenü entspricht, anzuhängen.
Speichern Sie nun Ihre Datei unter PEBuilder\plugins\MyTool\MyTool.inf.
7. Schauen Sie sich nun noch einmal das AdAware Plugin an. Öffnen Sie die Datei adaware_nu2menu.xml mit einem Editor (egal ob Text oder html Editor) und passen Sie einfach die Pfade darin für Ihr eigenes Plugin an. Speichern Sie es unter PEBuilder\plugins\MyTool\MyTool_nu2menu.xml. Es sollte nun ungefähr so aussehen:
---------------------------------------------------------
<!-- Nu2Menu entry for MyTool -->
<NU2MENU>
<MENU ID="Programs">
<MITEM TYPE="ITEM" DISABLED="@Not(@FileExists(@GetProgramDrive()\Programs\mytool\MyTool.exe))" CMD="RUN" FUNC="@GetProgramDrive()\Programs\mytool\MyTool.exe">DiskEditor</MITEM>
</MENU>
</NU2MENU>
----------------------------------------------------------
8. Erstellen Sie eine HTML Datei mit einer Beschreibung, welche Dateien benötigt werden, der Homepage des Programms, Ihrem Namen und der Versionsnummer des Plugins etc. Eine E-Mail Adresse für eventuelle Fragen ist gerne gesehen, aber nicht notwendig. Schauen Sie sich einmal die htm Dateien schon vorhandener Plugins als Beispiel an. Speichern Sie die Datei unter PEBuilder\plugins\MyTool.htm.
9. Erstellen Sie BartPE inklusive Ihrem Plugin, testen Sie es gründlich auf Fehler, dann veröffentlichen Sie es im Forum. Üblicherweise veröffentlichen Sie entweder den Code der Dateien, oder Sie packen alle Dateien aus Pebuilder\plugins\Mytool ohne die Unterverzeichnisse in eine .cab Datei und bieten diese zum Download an. Das Verzwichnis files sollte nicht enthalten sein, aus Copyright Gründen. Außerdem verringert sich so die Downloadgröße.
Das war's, viel Spaß beim Ausprobieren!.
Sollten Sie weitere Fragen oder Änderungsvorschläge haben, schicken Sie mir eine Mail.