PB EasySetup - Setup für eigenes Programm erstellen

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von Thorsten1867 »

Ich vermeide Registry-Einträge soweit es möglich ist. Es wird bisher nur ein einziger Eintrag erzeugt und zwar für den Uninstaller.

Man könnte evtl. überlegen, ob bei 'zusätzliche benutzerdefinierte Aufgaben' auch Registry-Einträge definiert werden könnten.
Aber dazu wäre es nicht schlecht zu hören, wer alles daran Interesse hätte, welche Einträge sinnvoll wären und wo diese standardmäßig in der Registry hingehören würden.

Falls ich mich dann mal langweile .... :wink:
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 »

Auf dem ersten Tab solltest Du ein GUID Feld einrichten, sowie einen Button zum Erstellen.

Code: Alles auswählen

Procedure.s MakeGUID()
  LBuffer.s = Space(76)
  SBuffer.s = Space(38)
  CoCreateGuid_(GuidId.GUID)
  StringFromGUID2_(GuidId, LBuffer,76);
  WideCharToMultiByte_(0, 0, LBuffer, 76, SBuffer, 38, 0, 0);
  ProcedureReturn SBuffer
EndProcedure
GUID mit in den Projektoptionen speichern, wichtig!
Wenns leer bleibt, ist alles beim alten, ansonsten in der Registry eintragen:
HKEY_CURRENT_USER\SOFTWARE\thorsten1897\EasySetup
Schlüssel = GUID
Wert = Pfad
Wenn Wert mit GUID des Setups vorhanden, diesen Pfad vorschlagen, ansonsten wie bisher.

Bei den Benutzeraktionen kannste dann später auch eine vorherige Deinstallation ermöglichen, wenn GUID vorhanden.

Dieser eine Eintrag, zumal optional belastet die Registry nicht, und ist IMHO sehr praktisch :wink:

Gruß
Thomas

// Nachtrag:
Statt der Registry kannste auch eine Preference-Datei in:

Code: Alles auswählen

#CSIDL_APPDATA + "thorsten1867\EasySetup"
anlegen :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 »

Den tieferen Sinn der GUID ist mir noch nicht ganz klar, zumal das Programm doch durch den Pfad '...\EasySetup' definiert ist.
HKEY_CURRENT_USER\SOFTWARE\thorsten1897\EasySetup
Schlüssel = GUID
Wert = Pfad
Wenn ich noch eine Systemvariable für den User '...\thorsten1897\...' finde, klingt das Ganze machbar.
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 »

Thorsten1867 hat geschrieben:Den tieferen Sinn der GUID ist mir noch nicht ganz klar, zumal das Programm doch durch den Pfad '...\EasySetup' definiert ist.
Dort ist nur der Default-Setup-Pfad definiert, ich installiere z.B. meist nach D:. So möchte ich, wenn ich es nochmal Installiere, natürlich auch den zuletzt verwendeten Pfad vorgeschlagen haben, und nicht den Default.
Thorsten1867 hat geschrieben:
HKEY_CURRENT_USER\SOFTWARE\thorsten1897\EasySetup
Schlüssel = GUID
Wert = Pfad
Wenn ich noch eine Systemvariable für den User '...\thorsten1897\...' finde, klingt das Ganze machbar.
Die mußte Dir wohl selber erstellen. Die ist ja nur für Easy-Setup und interessiert den User ja nicht!

Die GUID ist nur zum sicheren Feststellen, das das aktuell zu installierende bereits installiert wurde, da GUID gleich. Setzt natürlich voraus, das die GUID in den Projekt-Optionen nur einmal erstellt wird.

GUID ist hierfür das einfachste und simpelste, Programmname ist nicht so geeignet, da dieser oft Versionsnummer usw. enthält.
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.3.4
- Globally Unique Identifier (GUID) kann für Programm erzeugt werden
- Erkennen einer vorherigen Installation anhand GUID (=> Installationsverzeichnis)
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 »

Bist ja schnell, aber so kommen Fehler :wink:
Bei erneuter Installation wird:
D:\Programmieren\PureBasic4\Tools\EasySetup\EasySetup
vorgeschlagen, da ist was zuviel. Bei der Gelegenheit sollte er sich den Ort
der Verknüpfung vielleicht auch merken.

Dann kann ich Inno-Setup ja bald ausmisten :allright:

Nachtrag:
Hab gerade in die Reg geschaut, Du solltest vielleicht nur den Pfad eintragen!
Dann funktioniert es auch!

Bei Deinstallation würde ich den RegEintrag lassen. Werden ja nicht tausende
von Programmen auf einen Computer von Deinem Programm installiert, so
das es wirklich keinelei Auswirkungen auf die Performance hat.

PS: Machen die anderen Installer auch nicht anders :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 »

Bug fixed (Hoffe ich zumindest :wink: )
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 »

Thorsten1867 hat geschrieben:Bug fixed (Hoffe ich zumindest :wink: )
Bug ist weg :allright:

Trotzdem noch nen Vorschlag:
Jetzt merkt er sich den letzten Pfad, aber nicht den zur Verknüpfung, sowie
ob Desktop-Verknüpfung, ja oder nein, das könnte er sich doch auch
merken, wo er den Pfad hat, kann er es in die uninstall.dat mit reinschreiben.

Ich weiß, ich nerve, aber das ist leider meist Standard bei Installern und es
wäre schön, wenn Deiner das auch macht!

UnInstall vorherige Version kannste jetzt auch einbauen. Obs ne vorherige
Version gibt weißte ja jetzt
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:Jetzt merkt er sich den letzten Pfad, aber nicht den zur Verknüpfung, sowie ob Desktop-Verknüpfung, ja oder nein, das könnte er sich doch auch merken, wo er den Pfad hat, kann er es in die uninstall.dat mit reinschreiben.

Ich weiß, ich nerve, aber das ist leider meist Standard bei Installern und es
wäre schön, wenn Deiner das auch macht!

UnInstall vorherige Version kannste jetzt auch einbauen. Obs ne vorherige
Version gibt weißte ja jetzt
Ich denke, ich beginne so langsam zu begreifen, was du willst. Mal schauen, was sich machen lässt.

PS: Der Pfad der Desktopverknüpfung steht schon in der Uninstall.dat
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 »

>> Ich denke, ich beginne so langsam zu begreifen, was du willst. Mal schauen, was sich machen lässt.
Ich wollte mal selber so ein Programm schreiben, aber mir war es bisher
einfach zuviel, weil ich würde noch viel mehr Einbauen, und wahrscheinlich
nie fertig werden. Deshalb kommt mir Deine EasySetup sehr entgegen, weil
es die wichtigsten Funktionen meiner Vorstellungen bereits unterstützt.

Für den Rest gebe ich Dir ab und zu nen Schubs :lol:

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
Antworten