PB EasySetup - Setup für eigenes Programm erstellen

Anwendungen, Tools, Userlibs und anderes nützliches.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ts-soft hat geschrieben:...Zusatzoption... (optional)... Es muß ja nicht verwendet werden, es kann!
so wäre das ok. :allright:
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von Thorsten1867 »

Neue Version 0.4.6b
- Überprüfung ob das (zu installierende) Programm läuft und erst beendet werden muss

Optional: MutexString (muss im Programm erzeugt werden)
Ansonsten: Abfrage der Prozessliste (unsicher!)

- Programmcode für 'Mutex' anzeigen (PB/Delphi/Profan)

PS: Benötige noch Codebeispiele ('CreateMutex') für:
C / C++ / VisualBasic / ASM / .....
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Benutzeravatar
neotoma
Beiträge: 202
Registriert: 13.09.2004 16:16
Kontaktdaten:

Beitrag von neotoma »

Ich finde die ganze Diskussion über Mutex und konsorten recht interessant, aber irgendwie für den eigentlichen Installer nicht von elementarer Bedeutung. Es wäre meiner Meinung nach besser eine alternative DLL anzugeben, die dann von Installer vor dem Install-Vorgang aufgerufen wird.
Dadurch bliebe die Mutex/Prozess/Windownamen-Prüfung beim eigentlichen entwickler, und dieser hätte dann auch die Möglichkeit weitere Prüfungen oder z.B. Codeeingaben einzubauen, ohne das der eigentliche Installer davon
betroffen ist.

Ich würde mir vorstellen, das man hierfür 2 Funktionen in der DLL angeben muss (z.B. EasySetupBefore() und EasySetupAfter()). Diese würden vom Installer dann aufgerufen, nachdem der Installer die DLL in das Temp-Verzeichnis geschrieben hat.

Ist nur ein Vorschlag.. ;-)

(Außerdem würde ich gerne das Header-Image selbst definieren... )

Michael
Alle Rechtschreibfehler unterliegen der GPL und dürfen frei kopiert und modifiziert werden.
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

Warum erstellt nicht der Installer das Mutex, das vom Programm aus gelesen werden kann?
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

vonTurnundTaxis hat geschrieben:Warum erstellt nicht der Installer das Mutex, das vom Programm aus gelesen werden kann?
Wie?
Soll die Anwendung laufend prüfen, ob es zufällig neuinstalliert wird und sich
dann selbst beenden :lol:

Sehr schöner Vorschlag :lol:

Irgendwas wurde hier wohl falsch verstanden :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von Thorsten1867 »

vonTurnundTaxis hat geschrieben:Warum erstellt nicht der Installer das Mutex, das vom Programm aus gelesen werden kann?
Das geht nicht. Das Programm erzeugt beim Start einen eindeutigen MutexString (z.B. GUID). Anhand dessen kann man dann sicher feststellen, dass das Programm läuft, unabhängig von sich ändernden Fenstertiteln, umbenannten EXE's, usw.

Unter PureBasic ist das ein Klacks. Eine Programmzeile zu Beginn und eine am Ende des Programmes. Die Alternative zum Mutex über die Prozessliste sollte immerhin noch um einiges sicherer sein, als das Auslesen der Fenstertitel.
Es ist also für alle etwas da und niemand muss weinen. :lol:
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> Unter PureBasic ist das ein Klacks
Ist in jeder Sprache ein Klacks, da es sehr häufig gebraucht wird, z.B:
Damit Trayanwendungen nicht doppelt starten (meist nicht gewünscht)
Damit Programme, welche mehrere Dateien öffnen können nicht mehrfach
starten, sondern die bereits geöffnete Instanz anweisen, folgende Datei zu
laden, usw.

Jeder halbwegs erfahrene Anwendungsprogrammierer hat das bereits
genutzt. Andere Installer unterstützen diese auch, z.B. Inno-Setup.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

ts-soft hat geschrieben:Soll die Anwendung laufend prüfen, ob es zufällig neuinstalliert wird und sich
dann selbst beenden :lol:
Warum nicht? Vielleicht etabliert es sich ja auch und in PB 5.0 Gibts dann #PB_Event_Uninstall und #PB_Event_Reinstall ;)

Jaja, es war eine blöde Idee...
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

vonTurnundTaxis hat geschrieben:Jaja, es war eine blöde Idee...
du willst nicht WIRKLICH, dass ich das jetzt kommentiere, oder?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

Sprich dich nur aus :twisted:
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Antworten