Brauche hilfe beim Progammieren eines Installers

  • Allgemein

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Samus Aran.

    Brauche hilfe beim Progammieren eines Installers

    Hallo alle zusammen,
    ich bin ganz neu in diesem Forum und habe keine Ahnung von Visual Basic .
    aber ich habe schon eine Vorstellung wie das Programm sein soll also ich fange einfach mal an.
    Also ich wollte das man von unserem Team einen Lizenzcode zugewiesen bekommt den man bei dem start des programms eingeben muss dann wird eine abfrage an den mysql server gestellt ob die lizenz schon benutzt wurde und wenn ja welche Hardware id zugewiesen wurde und ob die mit dem computer überreinstimmt wenn ja einfach weiter installieren. Wenn die Lizenz benutzt ist und die hardware id nicht überreinstimmt soll angezeigt werden Lizenz schon verbraucht und das programm schließen. wenn die Lizenz noch nicht benutzt wurde soll die hardwareid hinzugefügt werden und als benutzt makiert werden und natürlich die Installation angefangen werden .Soweit zum schutz jetzt kommt der eigentliche Teil es soll ein zip-archiv vom webserver in einen ordner gedownloadet werden und die daten die schon in der exe vorhanden sind allso der ordner xy nach appdata kopiert werden .aber die auswahl mit dem zip archiv soll man selbst vornehmen.
    so jetzt nochmal kurzfassung:
    Download der exe->Start der exe->lizenzcode eingabe->Abfrage->installation oder abbruch->Auswahl welche komponente gedownloadet werden -> Fertig
    Hey,

    hier ein Link zu einem Buch.

    microsoft.com/germany/msdn/akt…005dasentwicklerbuch.mspx

    Wenn Du das durch hast, hast Du ein gutes Grundlagenwissen und kannst konkrete Fragen stellen.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Wie bereits oben erwähnt: erstmal Grundlagen lernen.
    Wenn du mit Visual Basic arbeiten willst musst du es auch erst lernen...

    Neben den Grundlagen:
    - Aufrufen von Dateien
    - Ausführen und Shell Kommandos
    --> sind eigentlich beides grundlegende Sachen

    - lesen der Ausgabe von PHP-Scripts in VB bzw. alternativ nutzung der erwähnten MySQLLib, welche den Teil zwischen PHP und VB abnimmt und erst noch sicher ist.
    - Nutzung von externen Tools (Unzip u.ä)
    Chris' Weblog - Mein Blog rund um Vieles :D
    Hey.

    Du kannst dein Vorgehen am besten mithilfe von PHP und MySQL realisieren.
    Hierbei brauchst du keine Grundlagen, um die PHP-Datei zu erstellen. Es reichen schon zwei Minuten, dann hast du's fertig; im Internet gibt es viele fertige Codes.

    Wenn du die PHP-Datei mit $_GET[] realisierst, koennte ein Aufruf bspw. so aussehen:
    http://www.dein-server.tld/LicenseCheck.php?key=H82ER-5GF1R-YJR1S-JEHG3-H9QUR
    -> Beispiel einer Ausgabe: -1 fuer einen Fehler (MySQL Fehler o.ae.); 0 fuer einen ungueltigen Lizenz-Code; 1 fuer einen gueltigen Lizenz-Code.

    Die Ausgabe kannst du mithilfe eines WebClienten herunterladen:

    VB.NET-Quellcode

    1. Dim _STRING As New String
    2. Dim _WEBCLIENT As New Net.WebClient
    3. Try
    4. _STRING = _WEBCLIENT.DownloadString("http://www.dein-server.tld/LicenseCheck.php?key=H82ER-5GF1R-YJR1S-JEHG3-H9QUR") ' Falls du die asynchrone Methode verwendest, musst du eine URI verwenden: New Uri("http://www.dein-server.tld/LicenseCheck.php?key=H82ER-5GF1R-YJR1S-JEHG3-H9QUR")
    5. If(_STRING = "-1") Then
    6. ' Dein Code zum Anzeigen eines Fehlers (in diesem Fall ein MySQL Fehler / allgemeiner Fehler)
    7. ElseIf(_STRING = "0") Then
    8. ' Dein Code zum Anzeigen eines ungueltigen Lizenz-Codes
    9. ElseIf(_STRING = "1") Then
    10. ' Dein Code zum Anzeigen eines gueltigen Lizenz-Codes
    11. Catch ex As Exception
    12. ' Dein Code zum Anzeigen eines sonstigen Fehlers (Server-Fehler: 404, 503, etc.)
    13. End Try


    Das Herunterladen einer Datei kannst du mit der .DownloadFile() oder der .DownloadFileAsync() erreichen.
    Ich empfehle die asynchrone Methode, dann laeuft, falls vorhanden, die ProgressBar weiter. Bei der ersteren Methode wuerde sie bis zum Fertigstellen des Downloads haengen bleiben.
    Jedoch musst du auch hier (bei der asynchronen Methode) den Link in eine Uri umwandeln:

    VB.NET-Quellcode

    1. New Uri("http://www.dein-server.tld/Package_1.zip")


    Falls du eine ZIP-Datei nach dem Herunterladen erhaeltst, kann ich dir die DotNetZip-Library von Ionic ans Herz legen.
    Benutze die selbst seit einigen Wochen und kann nur positives berichten.
    Die erste Benutzung mit der DotNetZip-Library kann ein bisschen schwer sein, aber nach 'ner Zeit lang raffst du es. ;)
    Auf der o.g. Website sind sogar einige Beispiel-Codes enthalten! :)
    Supergeile Methode, ist in ca. 5 Sekunden zu umgehen. Und wenn der TE bei der Erstellung des PHP-Skripts geschlampt hat, kann man seine Datenbank gleich auch kapern.
    Abgesehen davon kann man mit .NET allein inzwischen auch ZIP-Dateien entpacken. Das würde man auch mitkriegen, wenn man nicht immer mit .NET 2.0 auf Steinzeitniveau rumhantieren würde.