Announcement

Collapse
No announcement yet.

Windows Installer - Gut oder böse?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Windows Installer - Gut oder böse?

    Hallo,<p>
    ich habe schon viel "Schlechtes" vom Windows Installer gehört!<br>
    Allerdings nie die Fakten, deshalb meine Frage:<p>
    Wann macht es Sinn auf die <i>Setup and Device Installer API</i> zurückzugreifen?<br>
    Wann sollte ich meine eigenen Routinen basteln?<p>
    Für Hilfe wäre ich sehr dankbar,<p>
    Markus<p>

  • #2
    Hallo,

    &gt;Wann sollte ich meine eigenen Routinen basteln?

    wenn man so viel Zeit hat, um das eigene Setup unter <b>allen</b> möglichlichen Versions- und Konfigurations-Alternativen ausgiebig zu testen. Selbstverständlich nachdem man sich vorher das Kleingedruckten in den Lizenzbedingungen von Delphi durchgelesen hat - bestimmte Teile erwingen die Programminstallation durch ein <b>zertifiziertes</b> Setup-Programm (wie zum Beispiel ein mit InstallSHIELD Express erstelltes)

    Comment


    • #3
      Hallo Andreas,<p>
      vielen Dank für die Antwort!<br>
      Ich wußte garnicht, dass es Situationen gibt wo ein zertifiziertes Setup-Programm erzwungen wird! (komisch)<br>
      Allerdings frage ich mich dann warum z.B. Nullsoft mit ihrem beliebten NSIS (Nullsoft Installer System) so stolz sind, dass sie nicht auf den Windows Installer aufsetzen!<p>
      Also: Ich möchte <b>kein</b> Setupprogramm schreiben!<br>
      Ich bin momentan nur am überlegen, ob ich in meinem FilePatcher die oben genannte Setup and Device API verwenden soll oder nicht. Dabei geht es wahrscheinlich nur um die Screens, der Rest ist, bis jetzt, unwichtig.<p>
      Ich hoffe, dass mir nochmal jemand kompetente Auskunft geben kann.<p>
      Gruß,<br>
      Marku

      Comment


      • #4
        Der Windows Installer ist so eine Sache. Prinzipiell kann er sehr viel, ist aber auch anspruchsvoll. Um den Installer auf Systemen zu nutzen, muss er halt erst mal installiert werden, sofern er noch nicht da ist und bei der aktuellen Version sind das 2*1,7 MB zum runterladen (Win9x und WinNT...), sofern man nicht davon ausgehen kann, dass den alle potentiellen Anwender schon haben. Und dann erfordert die Installation teilweise einen Neustart.<p>
        Von daher kann Nullsoft schon stolz sein. Die Setups sind klein und ohne Neustart. Da ist vielen Anwendern egal, ob der Windows Installer dahinter steckt!<p>
        Schöne Grüße, Mario Noac
        Schöne Grüße, Mario

        Comment


        • #5
          Hi Mario,<p>
          dann ist die Sache gegessen. Darauf hatte ich mich auch schon eingestellt.<br>
          Denn bei einem Patch kommt es ja auf die Größe an und wenn sich dann noch jemand den Installer downloaden muss bevor er den Patch ausführen kann ist das nicht Sinn der Sache.<p>
          Vielen Dank, jetzt kann ich mal wieder meiner Kreativität freien Lauf lassen =).<p>
          Marku

          Comment


          • #6
            Auf jeden Fall wirst du wohl meine SetupAPI-Konversion verwenden (http://delphi-jedi.org/APILIBRARY). Sag mal Bescheid wenn du Fehler findest ([email protected])

            Comment


            • #7
              Danke Robert,<p>
              ich habe gehofft, dass du dich auch noch zu Wort meldest.<br>
              Denn ich habe mir deine Konversion schon angesehen. Deshalb war ich ja auch so interessiert.<br>
              Falls ich sie verwende komme ich auf dich zurück.<p>
              Gruß,<br>
              Marku

              Comment


              • #8
                Was hat die SetupAPI mit dem Microsoft Installer (MSI) zu tun? <b>Zwangsläufig</b> sicher nichts, denn die API gab es IMHO schon vor Office2000, bei dem der MSI wohl das erste Mal benutzt wurde. Für den MSI gibt es eine eigene API (auch bei den JEDIs zu finden).
                Sicher könnte man beides benutzen, aber wenn ich mir das C-Beispiel des Web-Setups im Installer-SDK ansehe, dann ist das nicht notwendig, um eine MSI-Datei zu installieren.

                In einem Punkt stimme ich zu: den Installer für Patches zu benutzen, das ist Unfug. Wenn du allerdings mit dem MSI installierte Produkte updaten willst, dann bietet er eine eigene Patchschnittstelle (*.msp), und diese Patches sind auch relativ klein. (Letztlich hängt das natürlich von der Art und dem Umfang der Änderungen ab.)

                Hast du eine Art Setup für deinen Filepatcher, Markus, mit dem du die Patches einspielen lässt?
                Wenn ja, dann nimm z.B. das <b>IExpress</b>-Tool aus dem <b>Internet Explorer Administration Kit</b>. Damit kannst du Patch und Setup zusammenpacken und als einzige EXE weiterverteilen und auch den Start des Setups auslösen.
                (Irgendwie musst du ja auch die Patches erstellen, und so wäre es doch sinnvoll, dieses Prinzip einfach wieder umzukehren.)

                Im Prinzip reicht ein Mini-NonVCL-Tool mit einem Auswahldialog für den Zielordner. Der Anwender wählt also das Ziel aus, und dein Programm spielt dort den Patch ein. So habe ich das auch gemacht bei meiner Bearbeitung des Patchtools von Greg Bullock.

                Gruß,
                Mathias

                Comment


                • #9
                  Hi Mathias,<p>
                  vielen Dank erstmal für die Aufklärung (SetupAPI ungleich MSI-API!)<br>
                  Ja, ich habe ein (unfertiges) Setup für die Patches geschrieben an das dann die Patchinformationen als Resource angehängt werden.<br>
                  Ich dachte da an 2 verschiedene Setups (eine non-VCL und eine optisch ansprechende VCL-Version), die beim Erstellen des Patchs zur Auswahl stehen. Aber das ist ein anderes Thema und noch Zukunftsmusik!<br>
                  Dieses IPatch interessiert mich. Bitte erzähl' mir mehr davon bzw. ich lade es mir gleich runter <p>
                  Gruß,<br>
                  Marku

                  Comment


                  • #10
                    Du kannst auch eine optisch ansprechende NonVCL-Version des Patches machen. ) Wenn es dich interessiert - vor kurzem wurde das Fehlen des Links bemängelt - unter
                    http://www.reihe5.de/die-quelle/pm13a.zip
                    findest du ein Tool von Greg Bullock, das ich ein bisschen bearbeitet habe. (Alles Sourcen!) Und das besitzt NonVCL-Setups zum Einspielen der Patches. (Vielleicht nicht super-aussehend, aber egal ...) Allerdings wird der Patch nicht (mehr) als Ressource eingebunden. <b>Das</b> habe ich mir verkniffen, weil es für solche Zwecke ja das <b>IExpress</b> kostenlos von Microsoft gibt. Ich glaube das <b>IE Admin Kit</b> ist nicht so groß, aber manchmal findest du es auch auf einer CD, wo der IE drauf ist. Wenn du es installierst, steckt das Teil im Tools-Ordner. Mit dem <b>IExpress</b> erstellst du dann ein selbstentpackendes Archiv, bei dem du das eigentliche Setup-Programm dann auch starten lassen kannst.<br>(Für alle älteren Ossis wie mich: die Steuerdateien von <b>IExpress</b> haben die Endung .SED ;o)<br><br>
                    Und was den Microsoft Installer angeht - angenommen, du hättest ein selbstgeschriebenes Programm, das du damit auslieferst, dann könntest du eine weitere Funktion des MSI (die genannten MSP-Patches) nutzen, die im Idealfall vielleicht auch bloß ein paar KB groß sind und das installierte Programm dann updaten. In dem Fall bräuchtest du keinen extra Filepatcher - im Gegenteil: das wäre sogar unsinnig, denn einer der Vorteile des MSI ist ja, dass man gezielt Features installieren kann. Sagen wir mal: du aktualisierst ein Programm A aus dem Produkt B mit einem extra Filepatcher. Jetzt entfernt der Anwender das Programm A, aber nicht das ganze Produkt. Wenn er Programm A wieder einspielt, hat er wieder nur die ungepatchte Version aus dem Produkt. Mit einem MSP wird gleich nach der Neuinstallation des Programms A die Aktualisierung ausgelöst.<br><br>
                    Boah, zuviel Text. )<br><br>
                    Schönes Wochenende.<br>
                    Gruß,<br>Mathias

                    Comment

                    Working...
                    X