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: Schaut schlecht aus. Erste Versuche haben ergeben, dass es die Größe des Installers fast verdoppeln (+ ca. 70 KByte) würde.
Wo ist das Problem, 2 unterschiedliche Install.exe zu verwenden. Soll ja nicht
gemischt werden, sondern entweder Zip oder PackerEx :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 »

Hm....
Werde mal in mich gehen müssen. :wink:

Klingt nach einem umfangreicherem Update.
- Combobox auf Setup-Panel oder als Einstellung
- zweiter Installer
- zweite alternative Packroutine
- .....


..... Das dürfte noch etwas dauern ..... /:->
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 »

OptionGadget :wink:
und dann entsprechend entweder Install.exe oder Install2.exe benutzen

Aber hast schon Recht, es eilt nicht, wäre aber schön.
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
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 »

Hab noch nen Tip für Deinen Uninstaller, so das kein Batch usw. gebraucht wird!

Diese Lib nutzen: http://www.purebasic.fr/english/viewtopic.php?t=22382

Code für UninstallFinish.exe:

Code: Alles auswählen

EraseFile.s = GetEnvironmentVariable("ERASEFILE")
Delay(1000)
DeleteFile(EraseFile)
Code für Deinen Uninstaller:

Code: Alles auswählen

DataSection
  finishuninstall: IncludeBinary "uninstallfinish.exe"
EndDataSection

SetEnvironmentVariable("ERASEFILE", ProgramFilename())
ExecuteEXE(?finishuninstall)
Bei Aufruf der letzten Zeile, wird Dein Uninstaller gelöscht :wink:
(evtl. noch Ordner löschen, ist da auch kein Problem mehr)

Hab aber nur unter XP getestet!

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 »

Interessanter Ansatz, wenn ich das richtig verstanden habe.
Das Ergebnis dürfte sich nicht viel von meinem unterscheiden. :wink:

Ich habe es noch nicht getestet, aber ich vermute die Batchlösung erzeugt eine kleinere EXE.

PS:
Ich wäre sehr dankbar für Tipps, mit welchen Tricks (außer UPX) man die EXE-Größe von Installer und Uninstaller noch minimieren 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 »

>> Ich habe es noch nicht getestet, aber ich vermute die Batchlösung erzeugt eine kleinere EXE.
Wenn die Uninstallfinish.exe mit UPX gepackt wird, ist diese exact 3 KB gross.
(oder mit PackerEx packen)

Dein Code wird kürzer und wenn es unter Win9x auch sauber funktioniert
finde ich diese Lösung wesentlich besser, als temporäre Dateien zu schreiben.

PS: wer löscht den den Batch?
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 »

Die Batch-Datei löscht sich selber. Im Gegensatz zu einer EXE funktioniert das. :mrgreen:

Code: Alles auswählen

Procedure SelfDestruct(ProgDir$="") 
  exe$ = ProgramFilename()
  bat$ = Left(exe$,1)+":\~~uninst.bat"
  If ProgDir$ And Right(ProgDir$,1) = "\" : ProgDir$ = Left(ProgDir$,Len(ProgDir$)-1) : EndIf 
  If CreateFile(0, bat$) 
    WriteStringN(0, "cd \")
    WriteStringN(0, ":DeleteFile")
    WriteStringN(0, "del "+exe$) ;program executable
    WriteStringN(0, "if exist "+exe$+" goto DeleteFile")
    If ProgDir$
      WriteStringN(0, "rd "+ProgDir$) ; program directory
    EndIf
    WriteStringN(0, "del "+bat$) ; temporary batch file
    WriteStringN(0, "exit") 
    CloseFile(0)
    ShellExecute_(0,"open",bat$,0,0,#SW_HIDE)
  EndIf 
EndProcedure
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 »

ts-soft hat geschrieben:Dein Code wird kürzer und wenn es unter Win9x auch sauber funktioniert finde ich diese Lösung wesentlich besser, als temporäre Dateien zu schreiben.
Muss jetzt mal eine Möglichkeit suchen (ohne Dualboot), um meine Programme einfach unter Win98 zu testen. Bei 'KvGS' kam es bei Nutzern unter Win98 (v.a. in Netzwerkumgebung) zu seltsamen Abstürzen (z.B. beim Ändern der Dateiattribute).
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:Die Batch-Datei löscht sich selber. Im Gegensatz zu einer EXE funktioniert das. :mrgreen:
Bei EXE funktioniert es auch, wie Du oben siehst :mrgreen:
Statt umständliches Batch eine Exe im RAM nutzen, die ist am Programmende automatisch in Nirvana :mrgreen:
Ist aber nur ein Vorschlag :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.1
- benutzerdefinierte Bezeichnung für Programmverknüpfungen möglich
- kleinere Fehlerbehebungen
- Übersetzungstool beigelegt
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Antworten