SetupLib [1.3] - Erstell dein eigenen Setup

    • Beta

    Es gibt 54 Antworten in diesem Thema. Der letzte Beitrag () ist von pc-freack.

      pc-freack schrieb:


      Also die Repair funktion bekomme ich vieleicht auch noch schnell hin.
      Bei der Update Funktion müsste ich erstmal alles überprüfen, ob es den auch eine neue Version ist. Ist auch ganz leicht. Dann müsste ich noch schauen, dann müsste ich die alten Dateien überschrieben etc.
      .


      Hm. Man könnte doch sowas machen wie:

      VB.NET-Quellcode

      1. SetupLib.UpdateServer = "http://www.deine-domain.de/"
      2. SetupLib.CurrentVersion = 2011


      Dann macht die Lib eine Anfrage. z.B.

      VB.NET-Quellcode

      1. Dim BLAUPDATEDAS**T as new Webbrowser
      2. BLAUPDATEDAS**T.navigate(UpdateServer & "checkforupdate.php?version=" & CurrentVersion


      Dann gibt das Script das Ergebnis aus.

      VB.NET-Quellcode

      1. If(BLAUPDATEDAS**T.DocumentText = "Newer Version Available") Then
      2. BLAUPDATEDAS**T.navigate(UpdateServer & "setup.exe")
      3. Else
      4. ' Do Nothing. :P
      5. End If


      EDIT: Ja oda näh? :P
      Nun ist die Version 1.2 auch da.

      Changelog:
      • Software-Updates können nun installiert werden.
      • Die installierte Software kann nun Repariert werden.
      • Fehler in der Update Funktion und für Alle Benutzer bei der ActivationRepair Function gefixt.
      • Für die Deinstallation, Reperatur und für das Update muss nun nicht mehr angegeben werden,
        ob für CurrentUser oder AllUser installiert wurde, das es automatisch erkannt wird.

      Gredsoft schrieb:

      pc-freack schrieb:


      Also die Repair funktion bekomme ich vieleicht auch noch schnell hin.
      Bei der Update Funktion müsste ich erstmal alles überprüfen, ob es den auch eine neue Version ist. Ist auch ganz leicht. Dann müsste ich noch schauen, dann müsste ich die alten Dateien überschrieben etc.
      .


      Hm. Man könnte doch sowas machen wie:

      VB.NET-Quellcode

      1. SetupLib.UpdateServer = "http://www.deine-domain.de/"
      2. SetupLib.CurrentVersion = 2011


      Dann macht die Lib eine Anfrage. z.B.

      VB.NET-Quellcode

      1. Dim BLAUPDATEDAS**T as new Webbrowser
      2. BLAUPDATEDAS**T.navigate(UpdateServer & "checkforupdate.php?version=" & CurrentVersion


      Dann gibt das Script das Ergebnis aus.

      VB.NET-Quellcode

      1. If(BLAUPDATEDAS**T.DocumentText = "Newer Version Available") Then
      2. BLAUPDATEDAS**T.navigate(UpdateServer & "setup.exe")
      3. Else
      4. ' Do Nothing. :P
      5. End If


      EDIT: Ja oda näh? :P


      Mach es bitte, bitte nicht so. Wenn du einen Webbrowser zum abfragen der Daten benutzt, lädst du beim initialisieren Ressourcen ein, die du gar nicht benötigst. Das Webbrowser-Control ist dazu da, in Forms Webseiten einfach sichtbar zu machen, und nicht, um sie im Hintergrund herunterzuladen. Dafür gibt's die WebClient-Klasse, oder man geht noch eine Ebene tiefer und benutzt WebRequest/Response, dann lassen sich Parameter auch per POST übergeben. macht zwar im Endeffekt keinen Unterschied zu GET, ist mMn aber einfach ein bisschen schöner. Achja, und

      VB.NET-Quellcode

      1. Else
      2. 'Do Nothing. :P

      WTF? Wenn du keinen Programmablauf willst, wenn die Bedingung FALSE ist, lass das Else einfach weg.

      Und zum Thema W32/.net: Ein Installer, der das .net Framework nicht benötigt, lässt sich mit jedem Compiler realisieren, der den Programmcode direkt in nativen Code übersetzt und nicht in eine "Zwischensprache", wie z.B. der VBC (CIL). Nativcode-Compiler sind z.B. der GCC Compiler für C/C++. Für VB.net bzw. C# sind mir solche Compiler aber nicht bekannt.
      Edit by Manschula: [...] Komplett-Zitat entfernt. Warum den vorherigen Beitrag vollständig zitieren?!

      Weiß ich, aber um 17:37 war ich nunmal schon müde. Da kann ich mich nichtmehr konzentrieren. :(

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manschula“ ()

      @creac
      Hättest du etwas weiter gelesen, dann hättest du bemerkt, das er was ganz anderes meite. Er hatte sich damit Vertan.
      Ich mach das doch auf keinen fall mit dem Webbrowser Control. Ich will vernümpftig daten Herunterladen und nicht mit nem Control machen. Das wäre etwas Schwachsinnig.
      Oder meinst du garnicht mich?
      Irgendwie komme ich nich zurecht.

      Das kan 2 möglichkeiten haben:
      1. Ich bin zu blöd
      2. Ich rafs nicht

      Ich will für meine Programme jeweils ein Installer zusammenbasteln der dann auf dem Dekstop einen Shortcut oder wie die dinger auch immer heissen (Verknüpfung) erstellt damit man die Programme nich immer aus dem Ordner starten muss weil da DLL's bei sind.

      Ja ich habe mir das Besiepi Projekt angeschaut

      Hast du nur das Problem mit der Verknüpfung?

      Wenn ja, dann müsster der Code nur für die Verknüpfung so aussehen:

      VB.NET-Quellcode

      1. up.AddShortcut("Der Text der Verknüpfung", "Nur der Dateiname der Datei.", System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop))

      Falls du nicht weisst, was das up davor bedeutet: Dim up As New pc_freack.SetupLib.InstallSoftware

      Beispiele für den Dateinamen: "vb.exe" oder wenn es in einem Unterordner ist, dann z.B. "data\updater.exe"
      Also nur den Dateinamen oder falls vorhanden den Unterordner und den Dateinamen, da die Lib automatisch den Pfad davor setzt.
      In der Beispieldatei nutzt du ja Buttons und SaveFileDialog etc.
      Nun liegt mein Problem darin das ich eine sagen wir mal Startform basteln will die dann die Datei Installiert und ggf von meinem Webspace runterzieht ohne lange Knöpfe zu drücken,textboxen auszufüllen etc also alles alleingang.

      Also das mit dem WebInstaller kommt erst bei der nächsten Version.
      So und jetzt wegen dem Code.
      Also du müsstest einmal eine neue Deklaration mit der InstallSoftware Klasse machen.
      Beispiel: Dim install As New SetupLib.InstallSoftware

      Dann müsstest du noch eine neue Deklaration mit der DeinstallSoftware Klasse machen.
      Beispiel: Dim deinstall As New SetupLib.DeinstallSoftware

      Dann müsstest du als erstes mit der Function "CheckOfSoftware" überprüfen, ob die Software bereits installiert ist.
      Wenn nicht, dann müsst du eigentlich nur den Code vom Install-Button beim Beispielprojekt kopieren und etwas verändern.
      Wenn eine Software bereits installiert ist, dann müsst du einfach nur vom Deinstall-Buton vom Beispiel Projekt den Code übernehmen und etwas bearbeiten.
      ok hört sich Simpel an werde ich gleich mal "Versuchen"

      Ich wollte jetzt mal Anfangen, den WebInstaller zu machen doch ich weiss noch nicht, welche Funktionen es haben soll.
      Ihr sollt mir nun ein paar Vorschläge machen, welche Funktionen vorhanden sein sollen bzw. wie welche Funktion ungefähr aufgebaut sein soll.
      Ideen nehme ich natürlich auch an.

      EDIT: Bitte KEINE fertigen Codes posten. Das mag ich nicht so gerne.

      MfG pc-freack

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „pc-freack“ ()

      Ok. Schonmal die erste Idee.
      damit keiner die gleiche Idee nochmal postet, mach ich mal eine Liste:

      1.) In einen Temporären Ordner speichern und von da aus kopieren.
      2.) Ausgabe der Größe der zu heruntergeladenen Dateien.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „pc-freack“ ()