PB EasySetup - Setup für eigenes Programm erstellen

Anwendungen, Tools, Userlibs und anderes nützliches.
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 »

Thorsten1867 hat geschrieben:Ich glaube es gibt eine Möglichkeit ein laufendes Programm anhand des Programmtitels zu ermitteln.
Viel zu unsicher! Wenn dann solltest Du mit Mutex arbeiten, als Mutex-String
kannste die bereits vorhandene GUID verwenden. Natürlich muß das
installierte Programm dann beim start so einen Mutex erstellen. Bei
erkennen, das das installierte Programm bereits läuft, dieses nicht beenden,
sondern lediglich drauf hinweisen, das dies zu beenden ist, da ansonsten die
Installation nicht fortgesetzt werden kann.

Falls nicht verstanden, kannste ja nochmal fragen :wink:

Gruß
Thomas
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 »

ts-soft hat geschrieben:Wenn dann solltest Du mit Mutex arbeiten, als Mutex-String kannste die bereits vorhandene GUID verwenden. Natürlich muß das installierte Programm dann beim start so einen Mutex erstellen.
Äh..., ich glaube ich kann nicht ganz folgen.
Aber ich glaube es gibt da ein Problem. Ich habe keinen Einfluss auf das installierte Programm und der ist nötig, wenn ich das richtig verstanden habe.
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Benutzeravatar
Frogger
Beiträge: 425
Registriert: 14.03.2006 19:27
Kontaktdaten:

Beitrag von Frogger »

Am besten du prüfst einfach ob der Name der zu installierenden EXE schon ausgeführt wird und gibst, wie schon von ts-soft gesagt, einfach eine entsprechende Meldung aus.
[PB4.20]
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 »

Frogger hat geschrieben:Am besten du prüfst einfach ob der Name der zu installierenden EXE schon ausgeführt wird
Das ist auf jedenfall zu unsicher. Finde den Artikel zu FindWindow von MS gerade nicht, aber man sollte damit nicht Arbeiten.

@Thorsten:
Ja der Author muß diesen Mutex natürlich in seinen Code einbauen!

Code: Alles auswählen

; Programstart:

Define.l Mutex
Define.s GUIDString = "{61C99BB7-1C0A-47EC-88E1-9A6599E55CB9}"
Mutex = CreateMutex_(0, 0, @GUIDString)

; Programmende:
CloseHandle_(Mutex)
So hab ich das auch bei TS-Shutdown und Inno-Setup gelöst!

Ansonsten mußte den Process suchen, und auch den Pfad zum Process
vergleichen, mit Mutex ist es einfacher. Nur FindWindow kannste
vergessen!
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 »

Was ich bisher gefunden habe, ist:

PBOSL: AppRunning(MyAppName.s)

Ich werde wohl eine Lösung bevorzugen, die programmunabhängig ist.

(Vielleicht kann man die Mutex-Sache später als Zusatzfeature für Fortgeschrittene einbauen)
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
a14xerus
Beiträge: 1440
Registriert: 14.12.2005 15:51
Wohnort: Aachen

Beitrag von a14xerus »

ja, das man das mit häckchen aktiviren kann.. so kann jeder selber entscheiden, ob er den code bei sich einfügt...
Benutzeravatar
Frogger
Beiträge: 425
Registriert: 14.03.2006 19:27
Kontaktdaten:

Beitrag von Frogger »

Was ich bisher gefunden habe, ist:

PBOSL: AppRunning(MyAppName.s)
Genau das hab ich gemeint.
Es wird nicht nach dem Fensternamen gesucht sondern nach dem Namen der EXE.

Aber eigendlich reicht auch eine Meldung unabhängig davon ob das Programm läuft oder nicht.
Es wird einfach nur darauf hingewiesen, dass die vorher installierte Version beendet werden muss, bevor mit dem Setup vortgefahren wird.
[PB4.20]
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 »

Frogger hat geschrieben:[
Genau das hab ich gemeint.
Es wird nicht nach dem Fensternamen gesucht sondern nach dem Namen der EXE.
Da wird ein Mutex erstellt, wie ich oben beschrieben habe :lol:
Einfach mal den Source studieren
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 »

Neue Version 0.4.5
- englisches Handbuch hinzugefügt

Glücklicherweise ist es mir aus aktuellem Anlass (Anfrage Heft-CD PC Praxis)gelungen einen Freund von mir, Oliver Grän, davon zu überzeugen, das Handbuch ins Englische zu übersetzen. Hierzu war fast keine Gewaltanwendung (abgesehen von ein paar Ketten u.ä.) :twisted: nötig, sondern nur eine schlaflose Nacht, ein paar Liter Tee und viele Gummibärchen. :mrgreen:
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Benutzeravatar
Frogger
Beiträge: 425
Registriert: 14.03.2006 19:27
Kontaktdaten:

Beitrag von Frogger »

Anfrage Heft-CD PC Praxis
hehe^^ bei mir kam auch letzte Woche ne Anfrage zu NotEx :D
Gleich 2 Programme in einer Zeitschrift, die mit PB geschrieben wurden.
Das könnte PB vielleicht helfen noch bekannter zu werden.
[PB4.20]
Antworten