AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Inno-setup: Pausen zwischen den einzelnen Installationen im [Run]-Bereich, „postinsta
Thema durchsuchen
Ansicht
Themen-Optionen

Inno-setup: Pausen zwischen den einzelnen Installationen im [Run]-Bereich, „postinsta

Ein Thema von interessierter · begonnen am 20. Dez 2013 · letzter Beitrag vom 9. Jan 2014
Antwort Antwort
interessierter

Registriert seit: 19. Dez 2013
4 Beiträge
 
#1

Inno-setup: Pausen zwischen den einzelnen Installationen im [Run]-Bereich, „postinsta

  Alt 20. Dez 2013, 09:56
Hi Leute,
kann mir jemand sagen wie ich im [Run]-Bereich Pausen zwischen den einzelnen Ausführungen einfügen kann?
Ich habe zusätzlich auch versucht Config-Files mit „postinstall“ zu kennzeichnen. Allerdings bringt er am Ende der Installationen die Meldung zum „Neustarten“ und nicht zum auswählen der „postinstall“ gekennzeichneten Einträge.
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
703 Beiträge
 
Delphi 12 Athens
 
#2

AW: Inno-setup: Pausen zwischen den einzelnen Installationen im [Run]-Bereich, „posti

  Alt 20. Dez 2013, 11:07
Jetzt wollte ich gerade schreiben: Warum fragst du nicht im Inno Setup-Forum? aber www.inno-setup.de scheint gerade nicht erreichbar zu sein.

Was sind das denn für Programme, die du da im Run startest? Und brauchst du die Pause, um auf irgendetwas zu warten? Wenn es eigene Programme sind, ist es vielleicht eine bessere Idee, das Warten auf die vorherige Aktion dort einzubauen.
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Inno-setup: Pausen zwischen den einzelnen Installationen im [Run]-Bereich, „posti

  Alt 20. Dez 2013, 13:26
Kann das PostInstall nicht deine App übernehmen?
  Mit Zitat antworten Zitat
interessierter

Registriert seit: 19. Dez 2013
4 Beiträge
 
#4

AW: Inno-setup: Pausen zwischen den einzelnen Installationen im [Run]-Bereich, „posti

  Alt 21. Dez 2013, 12:46
Zitat:
Jetzt wollte ich gerade schreiben: Warum fragst du nicht im Inno Setup-Forum? aber www.inno-setup.de scheint gerade nicht erreichbar zu sein.
Habe mich da vor Wochen schon angemeldet aber bis heute keine Freischaltung bekommen. Inzwischen ist das komplette Board "OFF".

Zitat:
Was sind das denn für Programme, die du da im Run startest? Und brauchst du die Pause, um auf irgendetwas zu warten? Wenn es eigene Programme sind, ist es vielleicht eine bessere Idee, das Warten auf die vorherige Aktion dort einzubauen.
Es sind verschiedene Silent-Installationen wie z.B. Notepad++ oder TeamViewer (bei dem ich eben das Problem mit der Pause habe).
Beim TeamViewer muss ich nach der Installation warten bis er TeamViewer automatisch gestartet hat, dann beenden und erst dann kann ich die Registry-Datei mit den Einstellungen importieren.

Ich hab bei den Config-Files die ich nach dem installieren ausführen möchte, überall "postinstall" gesetzt. Allerdings will Inno-Setup nach dem ausführen des letzten Installationsprogramms den Rechner neustarten. Unter den [Setup] Einstellungen habe ich aber bei "Allways Restart=off" gesetzt.

Zitat:
Kann das PostInstall nicht deine App übernehmen?
Wie meinst Du?
  Mit Zitat antworten Zitat
interessierter

Registriert seit: 19. Dez 2013
4 Beiträge
 
#5

AW: Inno-setup: Pausen zwischen den einzelnen Installationen im [Run]-Bereich, „posti

  Alt 6. Jan 2014, 21:40
Hi Leute,

kann mir da keiner was zu sagen und evtl. einen Tip geben wie ich das machen könnte?
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#6

AW: Inno-setup: Pausen zwischen den einzelnen Installationen im [Run]-Bereich, „posti

  Alt 7. Jan 2014, 00:00
zu 1)
Die Direktive im [Setup]-Abschnitt lautet so: AlwaysRestart=false
Dann sollte er nicht mehr automatisch neu starten. Vielleicht hast du es einfach nur falsch geschrieben?

zu 2)
Ich würde mir an deiner Stelle evtl. ein kleines eigenes Hilfs-Tool (in Delphi o.Ä.) schreiben, das deine Post-Install Bedingungen checkt (Teamviewer läuft, wenn nicht, wartet DEIN Tool solange, bis er eben läuft) und dann die entsprechenden Aktionen wie z.B. den Teamviewer beenden selbst durchführt und sich danach beendet. Dann kannst du dieses kleine Hilfs-Tool mit dem Installer einkompiliert mitliefern, während der Installation in ein Temp-Verzeichnis extrahieren, als Postinstall ausführen und InoSetup anweisen, auf Beendigung von deinem Tool zu warten, bevor sich die Installation selbst beendet, z.B. so ähnlich im [Code]-Abschnitt:
Delphi-Quellcode:
// INNO-Setup Direktive => Wird ausgeführt, wenn sich der Installationschritt ändert.
procedure CurStepChanged(CurStep: TSetupStep);
begin
  // Post install steps
  if (CurStep = ssPostInstall) then
  begin
    Exec('TEMP_PFAD_ZU_DEINEM_HILFSTOOL', '', '', SW_SHOW, ewWaitUntilTerminated, returnCode);
    //..returnCode auswerten...
  end;
end;
Dein Tool läuft damit standardmäßig mit den gleichen Rechten wie der Installer, also meistens mit Adminrechten, somit kannst du mit deinem Tool relativ viel machen wie z.B. eben den Teamviewer beenden etc.
Dies würde bei dem vorherigen Vorschlag, das ganze von deinem eigentlichen Programm durchführen zu lassen, etwas problematischer werden (wenn auch nicht unlösbar ).

Ich mache das bei meinen Installern meistens so, wenn es in InnoSetup-Pascalscript zu umständlich werden würde, sehr spezielle Sachen zu erledigen, die nicht zum Standard-Paket einer Standard-Installation gehören.
Ein mitgeliefertes Tool, das der Installer am Ende der Installation startet hat eben den Vorteil, dass du bei der Programmierung des Tools nicht auf die teilweise sehr eingeschränkte PascalScript-Funktionalität von InnoSetup angewiesen bist.
Du musst allerdings darauf achten, dass sich dein Hilfs-Tool unter allen Umständen korrekt selbst beendet und evtl. Fehlermeldungen am Besten über den Returncode lösen.
Sollte dein Hilfs-Tool hängen und sich nicht selbst beenden, hängt auch die Ganze Installation bis zum St. Nimmerleinstag

Von dem Ansatz, einfach mal ein paar "Pausen" geschätzter Länge einzubauen, würde ich komplett abraten. Das führt früher oder später zu Problemen, da eine Pause halt einfach nur geraten ist, wann das Programm (Teamviewer) installiert und gestartet sein könnte. Das kann aber von Rechner zu Rechner immens unterschiedlich sein. Sollte dann deine Pause mal auf einem Rechner nicht ausreichen, knallt deine ganze Installation.
Im Gegenzug dazu nervt eine sehr lang gewählte, sichere Pause bei jeder Installation, bei der sie evtl. gar nicht nötig wäre.

Geändert von blackfin ( 7. Jan 2014 um 00:35 Uhr)
  Mit Zitat antworten Zitat
interessierter

Registriert seit: 19. Dez 2013
4 Beiträge
 
#7

AW: Inno-setup: Pausen zwischen den einzelnen Installationen im [Run]-Bereich, „posti

  Alt 8. Jan 2014, 16:44
Zitat:
zu 1)
Die Direktive im [Setup]-Abschnitt lautet so: AlwaysRestart=false
Dann sollte er nicht mehr automatisch neu starten. Vielleicht hast du es einfach nur falsch geschrieben?
Hatte bisher "AlwaysRestart=no" drinstehen. Allerdings geht es auch mit deinem Wert nicht und er will nach der Installation neu starten.
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#8

AW: Inno-setup: Pausen zwischen den einzelnen Installationen im [Run]-Bereich, „posti

  Alt 9. Jan 2014, 18:38
Hast du in der [Files]-Sektion Elemente, die einen Neustart brauchen? (Datei ersetzen / löschen beim nächsten Start etc., Files mit Flag "restartreplace" z.B.)
Manchmal erkennt Inno-Setup auch, wenn du in [Run] eine externe Installation startest, die selbst einen Neustart braucht, dass es dann nach Beendigung der Installation den "Neustarten"-Bildschirm zeigt. Vielleicht wird da bei dir ja von der TeamViewer-Installation ausgelöst.

In beiden Fällen sollte die [Setup]-Direktive

RestartIfNeededByRun=no

helfen, um auch das zu unterbinden.

Geändert von blackfin ( 9. Jan 2014 um 18:41 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz