In diesem Aufsatz geht es um die Weitergabe von Visual-Basic-Programmen, die beispielsweise für Steuer-, Mess- und Regelaufgaben geschrieben wurden. Ein fertiges Programm wird normalerweise nicht aus der IDE (Integrated Development Environment) heraus gestartet. Der Grund dafür ist, dass es in der Regel an Anwender weitergegeben wird und man nicht davon ausgehen kann, dass es sich bei diesen um Programmierer handelt. Außerdem möchte man in der Regel nicht, dass der Programmcode geändert werden kann. Zudem ist es sehr unbequem, wenn man ein erstelltes Programm "nur" anwenden möchte und dazu die IDE starten muss. In diesem Papier werden Möglichkeiten für die Weitergabe eines fertiggestellten Programms vorgestellt: 1. die "Installation" eines Programms ohne Setup, 2. ein Setup mit "Windows-Bordmitteln" erstellen, 3. ein Setup mit Hilfsprogramm erstellen.
Weitergeben der mit VisualBasic.NET erstellten Anwenderprogramme- real und konkret
1. Installation ohne Setup
1.1 Selbstentpackende Datei erstellen
2. Eigenes Setup erstellen
2.1 Details zum Betriebssystem herausfinden
2.2 Details zur .NET-Version ermitteln
2.3 Ein Programmverzeichnis anlegen
2.4 Dateien kopieren
2.5 Eine Verknüpfung auf das Desktop ablegen
2.6 Automatisch startendes Setup
3. Setup mit Bordmitteln erstellen
3.1 Erstellen des Setups mit "Visual Basic 2010 Express"
3.2 Erstellen eines Setups mit "Visual Studio"
3.3 Ablauf der Installation
4. Setup erstellen mit Hilfsprogramm
4.1 "Inno Setup"
4.2 "NSIS (Nullsoft Scriptable Install System)"
Mehr und mehr gehören zu Elektronik-Projekten Programme, die die erstellte Hardware ansteuert. In diesem Aufsatz geht es um die Weitergabe von Visual-Basic-Programmen, die z.B. für Steuer-, Mess- und Regelaufgaben im Zusammenhang mit der in [1] beschriebenen Hardware entstanden sind bzw. entstehen.
Ein fertiges Programm wird normalerweise nicht aus der IDE (Integrated Development Environment) heraus gestartet. Der Grund dafür ist, dass es in der Regel an Anwender weitergegeben wird und man nicht davon ausgehen kann, dass es sich bei diesen um Programmierer handelt. Außerdem möchte man in der Regel nicht, dass der Programmcode geändert werden kann. Zudem ist es sehr unbequem, wenn man ein erstelltes Programm "nur" anwenden möchte und dazu die IDE starten muss.
Im Folgenden werden Möglichkeiten für die Weitergabe eines fertiggestellten Programms vorgestellt:
1.) die "Installation" eines Programms ohne Setup
2.) ein Setup mit "Windows-Bordmitteln" erstellen
3.) ein Setup mit Hilfsprogramm erstellen
In allen Fällen muss zunächst eine Release-Version des zu verteilenden Programms erstellt und kompiliert werden.
Dann muss sichergestellt sein, dass auf dem Rechner, auf dem das Programm ausgeführt werden soll, die benötigte .NET-Framework-Version installiert ist. Microsoft gestattet die Weitergabe des .NET-Frameworks zusammen mit seinem weiterzugebenden Programm in sogenannten "Redistributable Packages". Will man diese nicht in Anspruch nehmen, bleibt nur die vorherige Prüfung, ob die benötigten Ressourcen vorhanden sind. Im Zweifelsfall muss dann der Anwender die für die Nutzung des Programms notwendigen, aber fehlenden Bestandteile in seinem Betriebssystems nachinstallieren.
1. Installation ohne Setup
Nach dem Kompilieren eines Visual Basic-Programms in eine .exe-Datei erhält man ein eigenständiges Programm, das unabhängig von der IDE (z.B. Visual Basic 2010 Express Edition) ausgeführt werden kann.
Dieses Programm befindet sich im Verzeichnis bin/Release (Bild 1.1).
Abbildung in dieser Leseprobe nicht enthalten
Bild 1.1: Das kompilierte Programm (hier V3-Test.exe) befindet sich im Ordner "Release".
Alle Dateien, die für die Ausführung benötigt werden und nicht als Standard auf Windows-Rechnern zur Verfügung stehen, müssen in diesem Verzeichnis vorhanden sein. Im Bild 1.1 ist z.B. die Datei iowkit.dll zu sehen. Dabei handelt es sich um eine Treiberdatei für die in diesem Projekt verwendete Hardware (USB-Schnittstellen-Chip "IO-Warrior56"). Es muss also der gesamte Ordner "Release" weitergegeben werden. Der Ordnername "Release" wird am besten sinnvoll umbenannt. Im Beispiel aus Bild 1.1 etwa "V3-Test". Es sollte eine Anleitung mitgegeben werden in der erklärt wird, dass man das Verzeichnis öffnen und auf die Programmdatei (hier "V3-Test.exe" doppelklicken muss, um das Programm zu starten. Falls man Zugang zum Anwenderrechner hat, kann man eine Verknüpfung auf die exe-Datei herstellen und diese auf den Windows-Desktop ablegen.
Auch muss klar sein, dass das Programm nur gestartet werden kann, wenn das bei der Entwicklung verwendete .NET Framework auf dem Zielrechner installiert ist. Die "notwendige Umgebung" muss auf dem Zielrechner existieren.
Zusammengefaßt ergeben sich für die Programmweitergabe ohne Setup die folgenden Vor- und Nachteile:
Vorteil: Eine Installation im herkömmlichen Sinne ist nicht notwendig. Es braucht nur der Ordner mit den notwendigen Dateien auf die Festplatte kopiert zu werden.Um das Programm wieder vom Rechner zu entfernen muss einfach nur der Programmordner mit den Dateien gelöscht werden. Deshalb bleiben auch keine Rückstände im Betriebssystem zurück.
Nachteil: Dem Nutzer wird eine vergleichsweise hohe Windows-Kompetenzen abverlangt. Z.B. muss er fehlende oder unzureichender Ressourcen (etwa was die notwendige Version des .NET-Frameworks betrifft) selbständig erkennen und nachinstallieren.
1.1 Selbstentpackende Datei erstellen
Optional kann man alle benötigten Dateien in eine zip-Datei (*.zip) zusammenfassen. Dazu bietet Windows seit einiger Zeit schon die mit der rechten Maustaste erreichbare Option "ZIP-komprimierter Ordner" an (Bild 1.2). Dort kann man alle für die Programmausführung notwendigen Dateien einfügen.
Abbildung in dieser Leseprobe nicht enthalten
Bild 1.2: Zip-Ordner in Windows anlegen.
Noch bequemer für den Anwender ist eine selbstextrahierende Datei. Diese entpackt sich selbst, wenn man darauf doppelklickt (Bild 1.3).
Abbildung in dieser Leseprobe nicht enthalten
Bild 1.3: Vom Ordner "Release" zur selbstextrahierenden Datei "Release.exe", die die Programmdateien enthält.
Selbstextrahierende Dateien sind wichtig, wenn die komprimierte Datei auf ältere Windows-Rechner ohne ZIP-Funktion entpackt werden soll. Per Doppelklick lassen sich die Dateien dann trotzdem extrahieren. Man kann selbstextrahierende ZIP-Dateien mit Windows-Bordmitteln wie in der Tabelle 1.1 gezeigt erzeugen.
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 1.1: Eine selbstentpackende Datei mit Windows-Boardmitteln erstellen.
2. Eigenes Setup erstellen
Ein setup-Programm kann man auch selbst programmieren. Damit können dann die Aufgaben, die unter 1. noch der Nutzer erledigen muss, vom setup-Programm ausgeführt werden.
Vorteil: Alle Manipulationen am System hat der Programmierer in der Hand. Sie sind deshalb genauestens bekannt. Aus diesem Grund kann das Programm durch einfaches Löschen der kopierten Ordner/Dateien wieder rückstandsfrei vom System entfernt werden.
Der Anwender braucht keine besonderen EDV-Kenntnisse.
Nachteil: Unter Umständen können die Programmdateien nicht in Systemordner abgelegt werden (z.B. in C:\programme). Auch gibt es keinen Eintrag in der Systemsteuerung. Die Deinstallation erfordert ein eigenes Vorgehen.
Nachfolgend gibt es eine Schritt-für-Schritt-Anleitung für das Erstellen eines eigenen Setups. Dazu gehört:
1. die Version des Betriebssystems abfragen
2. prüfen ob die notwendigen Ressourcen (.NET-Framework) installiert sind
3. ein Programmverzeichnis anlegen (z.B. unter C:\programme)
4. die Dateien von der CD dorthin kopieren
5. eine Verknüpfung auf das Desktop ablegen
2.1 Details zum Betriebssystem herausfinden
Beim folgenden Listing handelt es sich um eine Funktion, die beim Aufruf Angaben zum Betriebssystem als Text-String bereitstellt. Die Funktion verwendet dazu die Namespaces "PlatformID" und "Environment.OSVersion". Zunächst wird die PlatformID ermittelt. Innerhalb der PlatformID "Win32NT" werden die aktuellen Betriebssysteme der heutigen Desktop-PCs detektiert.
Public Function GetOSVersion() As String
Select Case Environment.OSVersion.Platform 'Win32S, Win32Windows, Win32NT, WinCE, Xbox, MacOSX, Unix
Case PlatformID.Win32S
Return "Windows 3.1"
Case PlatformID.Win32Windows
Select Case Environment.OSVersion.Version.Minor
Case 0
Return "Windows 95" 'Windows 95 unterstützt .Net nicht
Case 10
If Environment.OSVersion.Version.Revision.ToString() = "2222A" Then
Return "Windows 98 - Second Edition"
Else
Return "Windows 98"
End If
Case 90
Return "Windows ME"
Case Else
Return "Unbekannt"
End Select
Case PlatformID.Win32NT
Select Case Environment.OSVersion.Version.Major
Case 3
Select Case Environment.OSVersion.Version.Minor
Case 0
Return "Windows NT 3" 'Windows NT 3 unterstützt .Net nicht
Case 1
Return "Windows NT 3.1" 'Windows NT 3.1 unterstützt .Net nicht
Case 5
Return "Windows NT 3.5" 'Windows NT 3.5 unterstützt .Net nicht
Case 51
Return "Windows NT 3.51" 'Windows NT 3.51 unterstützt .Net nicht
End Select
Case 4
Return "Windows NT 4.0"
Case 5
Select Case Environment.OSVersion.Version.Minor
Case 0
Return "Windows 2000"
Case 1
Return "Windows XP"
Case 2
Return "Windows 2003"
End Select
Case 6
Select Case Environment.OSVersion.Version.Minor
Case 0
Return "Windows Vista/Windows 2008 Server"
Case 1
Return "Windows 7"
Case 2
Return "Windows 8"
End Select
Case 10
Select Case Envionment.OSVersion.Version.Minor
Case 0
Return "Windows 10"
End Select
Case Else
Return "Unbekannt"
End Select
Case PlatformID.WinCE
Return "Windows CE"
Case Else
Return "Unbekannt"
End Select
End Function
[...]
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X.