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 »

ts-soft hat geschrieben:Wie wäre es mit Zip als alternative Packformat, so das man es auch normal entpacken kann (SFX-Setup). Hierfür vielleicht einen separaten Wizzard verwenden, damit es nicht unnötig grösser wird.
Alle Versuche der Verwendung des ZIP-Formats sind fehlgeschlagen:
- Der Append-Befehl in PureZIP zerstört die EXE-Datei mit dem Installer???
- Beim manuellen Anhängen des ZIP-Archives an die EXE, ist nach dem Entpacken die eingebettete ZIP-Datei mit den Programmdateien nicht mehr gültig und somit unentpackbar.

Also habe ich frustriert aufgegeben, nachdem die Probleme momentan unlösbar zu sein scheinen. :cry:
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

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.2
- gleichzeitiges Erzeugen eines ZIP-Archives mit den Programmdateien möglich
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Sehr gute arbeit bis jetzt :allright: :allright: :allright:

Wird mein neues Standard Programm um Setups zu erzeugen. Ausführliche Hilfe kommt wohl erst später.

FF :wink:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
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 »

Hallo Thorsten1867

Die ZIP-Version auf der Projektpage ist defekt! Die Setup-Version geht aber

Bei der Auswahl des Ortes für die Verknüpfung werden mir nur die Ordner
des Users angeboten, einige Ordner sind aber nur bei den Ordnern für alle
User vorhanden. Das beste wäre es den Inhalt beider Ordner zusammen
darzustellen, und notfalls den Ordner zu erstellen. (PureBasic kann ich bei
mir zum Beispiel nicht auswählen)

PS: Zum testen bin ich noch nicht gekommen

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 »

Habe die Zip-Datei nochmal hochgeladen.

Das StartMenü ist der Benutzer-Ordner (#CSIDL_PROGRAMS). Habe bisher keine Idee, wie man beide Ordner (Benutzer/alle Benutzer) zusammenfassen kann.
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:Habe die Zip-Datei nochmal hochgeladen.

Das StartMenü ist der Benutzer-Ordner (#CSIDL_PROGRAMS). Habe bisher keine Idee, wie man beide Ordner (Benutzer/alle Benutzer) zusammenfassen kann.

Code: Alles auswählen

Procedure.s GetSpecialFolderPath(CSIDL.l)
  Protected Path.s = Space(#MAX_PATH * SizeOf(Character))
  Protected Library = OpenLibrary(#PB_Any, "shell32.dll")
  If Library
    CompilerIf #PB_Compiler_Unicode
      CallFunctionFast(GetFunction(Library,"SHGetSpecialFolderPathW"), 0, @Path, CSIDL, 0)
    CompilerElse
      CallFunctionFast(GetFunction(Library,"SHGetSpecialFolderPathA"), 0, @Path, CSIDL, 0)
    CompilerEndIf
    CloseLibrary(Library)
  EndIf
  If Right(Path, 1) <> "" : Path + "" : EndIf
  ProcedureReturn Path
EndProcedure

Debug GetSpecialFolderPath(#CSIDL_COMMON_PROGRAMS)
Durch diesen iterieren, durch den anderen iterieren und in eine Linklist zusammenfassen. Beim erstellen nur drauf achten, das der Ordner existiert, bzw. erstellen. In der Windows-Ansicht sind die auch einfach nur so zusammengefaßt, obwohl es 2 versch. Ordner sind :wink:

Erstellen aber am besten in den Ordner des Users!!! Alleine schon wegen der Rechte.
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 »

Das war die fehlende Systemvariable. :wink:

Da wären einige Änderungen nötig. Man müsste dann auch beim Erstellen festlegen können, ob sich ein Startmenü-Eintrag auf den Benutzer oder alle Benutzer bezieht.
Ich werde das für ein nächstes Update ins Auge fassen. :)
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:Das war die fehlende Systemvariable. :wink:
Naja, die sind in PB4 bereits vordefiniert, mußt also nur Autovervollständigen
aktivieren und prüfen, ob diese immer Gültig sind, nicht vergessen. In
diesem Falle wäre ein Leerstring aber nicht so schlimm :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 »

Neue Version 0.3.3
- Installer: Startmenü-Auswahl enthält jetzt sowohl 'Benutzer' als auch 'alle Benutzer' Einträge
(siehe dazu: http://www.purebasic.fr/german/viewtopi ... highlight=)
- Bug beim Erstellen eines Zip-Archiv behoben (evtl. vorhandene Datei wird nun zuerst gelöscht)
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 »

Mal schnell nochmal nerven :mrgreen:
Da ich jetzt ja per Setup installiert habe, hab ich eigentlich erwartet, das er
das zuletzt verwendet Verzeichnis vorschlägt, stattdessen wollte er nach
C:\Progamme\EasySetup\

Meist verwenden Installer eine GUID, welche in die Registry eingetragen
wird, zusammen mit dem Installationspfad, den der Anwender gewählt hat,
um diesen Pfad, bei einem Update gleich anbieten zu können :wink:

Wenn Update nicht empfohlen, kann man so auch gleich Deinstallation der
alten Version vorschlagen, z.B.

Gruß
Thomas, und danke für die schnelle Umsetzung
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