4 Replies Latest reply on Oct 21, 2016 1:37 AM by B.Marxer

    :$BeginRepairScript

    B.Marxer Expert
      Guten Morgen

      Gibt es neben der Springmarke :$BeginUninstallScript auch noch eine z.B. :$BeginRepairScript unter der Befehle beim ausführen einer Reparatur aufgeführt werden können?

      Gruss Brian
        • 1. Re: :$BeginRepairScript
          derniwi Master
          Hallo Brian,

          nein, aktuell nicht.

          Und die Sprungmarke "$BeginUninstallScript" ist eigentlich auch keine echte, sondern kennzeichnet eher das Ende einer normalen Installation. Denn bei einer Deinstallation wird das Skript ja trotzdem von Anfang an abgearbeitet, hierbei die Befehl umgekehrt, so gut es geht. Und wenn dann der erste Teil fertig ist, wird auf den Deinstallationsmodus umgeschaltet und ab dieser Marke die Befehl so ausgeführt, wie sie dastehen.

          Eine echte Logik, wie man dass alles sauber trennen kann, ist nicht direkt möglich. Hast Du z.B. während der Installation den Befehl "InstallFileList", dann werden bei einer Deinstallation diese Dateien durch die Befehlsumkehr gelöscht, egal, wieder das Skript aussieht... Und erst danach wird die Marke "$BeginUninstallScript" angesprungen. Wenn Du dann bei der Deinstallation die Dateien noch bräuchtest, hast du ein Problem (z.B. Aktualisierunger des Programmes durch erstezen einzelner Dateien, bei der Deinstallation stört sich aber das Deinstallationsprogramm, weil schon Dateien fehlen...).

          Gruß
          Nils
          • 2. Re: :$BeginRepairScript
            B.Marxer Expert
            Danke für die Antwort

            Wir nutzen die :$BeginUninstallScript meist in Zusammenhang von Installationen die über ein EXE-Files /install erfolgen und dann über EXE-Files /uninstall etc. wieder entfernt werden. Teilweise stellen diese Setup.exe auch einen /repair zur Verfügung. Daher die Frage.

            Danke und Gruss Brian
            • 3. Re: :$BeginRepairScript
              derniwi Master
              In dem Fall kannst Du natürlich etwas mit If CheckInstallMode bauen...Das habe ich auch an einigen Stellen, je nach Anwendung.

              Dabei wird am Anfang des Skriptes geprüft, dass keine Deisntallation ausgeführt werden soll. Dann kommen ein paar Abfragen, eben Neuinstallation oder Reparatur (wobei man hier genau aufpassen muss, da bei einem dieser beiden "Aufträge" nur der Service-Installer, nicht aber der Auto-Installaer gestartet wird! Und wenn das alles abgeklärt ist, bleibt evtl. nur die Installation übrig.

              Bei manchen Anwendungen muss man auch zuerst eine Deinstallation durchführen.

              Und es bleibt Dir auch überlassen, ob Du zuerst prüfst, ob die Anwendung überhaupt vorhanden ist (Existenz der Setup.exe), somit kann man evtl. Fehler der Reparatur vermeiden, da diese fehlschalgen kann, wenn die Anwendung gar nicht vorhanden ist. Ebenso bei der Deinstallation...
              • 4. Re: :$BeginRepairScript
                B.Marxer Expert
                OK. Ich werde das mal auskundschaften.