so wäre das ok.ts-soft hat geschrieben:...Zusatzoption... (optional)... Es muß ja nicht verwendet werden, es kann!
PB EasySetup - Setup für eigenes Programm erstellen
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
- Thorsten1867
- Beiträge: 1360
- Registriert: 04.02.2005 15:40
- Computerausstattung: [Windows 10 x64] [PB V5.7x]
- Wohnort: Kaufbeuren
- Kontaktdaten:
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 / .....
- Ü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 / .....
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
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.
- vonTurnundTaxis
- Beiträge: 2130
- Registriert: 06.10.2004 20:38
- Wohnort: Bayreuth
- Kontaktdaten:
- 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
Wie?vonTurnundTaxis hat geschrieben:Warum erstellt nicht der Installer das Mutex, das vom Programm aus gelesen werden kann?
Soll die Anwendung laufend prüfen, ob es zufällig neuinstalliert wird und sich
dann selbst beenden
Sehr schöner Vorschlag
Irgendwas wurde hier wohl falsch verstanden
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- Thorsten1867
- Beiträge: 1360
- Registriert: 04.02.2005 15:40
- Computerausstattung: [Windows 10 x64] [PB V5.7x]
- Wohnort: Kaufbeuren
- Kontaktdaten:
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.vonTurnundTaxis hat geschrieben:Warum erstellt nicht der Installer das Mutex, das vom Programm aus gelesen werden kann?
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.
- 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
>> 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.
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- vonTurnundTaxis
- Beiträge: 2130
- Registriert: 06.10.2004 20:38
- Wohnort: Bayreuth
- Kontaktdaten:
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
- vonTurnundTaxis
- Beiträge: 2130
- Registriert: 06.10.2004 20:38
- Wohnort: Bayreuth
- Kontaktdaten: