[gelöst]XIncludeBinary: eingebundene vs. mitgelieferte Files

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

[gelöst]XIncludeBinary: eingebundene vs. mitgelieferte Files

Beitrag von scholly »

moin,moin...

Ich möchte meine Video-Verwaltung auf der einen Seite installtechnisch so einfach wie möglich (.zip entpacken = fertig), auf der anderen Seite aber auch DAU-sicher machen. Neben Prefs (die notfalls zur Laufzeit erstellt werden), brauch ich ein paar Icons sowie die SQLite3.dll und die MediaInfo.dll.

Nun hab ich mir mir gedacht: pack das alles mit in die .exe und gut is...

Tja, und schon steh ich aufm selbigen, da DataSection bisher "unknown Country" war.

Mit

Code: Alles auswählen

DataSection
  sqlite:
  XIncludeBinary "sqlite3.dll"
  mediainfo:
  XIncludeBinary "MediaInfo.dll"
EndDataSection
bekomme ich die DLLs rein, aber wie mache ich das "ExcludeBinary" ?

Im Verzeichnis "gfx\" liegen die mitgelieferten Icons für TreeGadget und About-Requester.
Kann ich auch ein ganzes Verzeichnis samt Inhalt rekursiv includen (sowas wie XIncludeBinary "gfx\*.*") oder muß ich jedes File einzeln holen ?

mDv... scholly
Zuletzt geändert von scholly am 18.04.2008 01:53, insgesamt 1-mal geändert.
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von NicTheQuick »

Du musst jede Datei einzelnen reinpacken oder alle in eine schreiben und nur
die eine Include. Dafür soll doch auch die Packer-Lib nützlich sein, oder irre
ich mich da?

Beispiele zum Auslesen von Dateien in der DataSection gibt es aber bereits
einige. Vielleicht mal die Suchfunktion verwenden. :wink:
Bild
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Beitrag von gnasen »

Ich würde auch eher dazu raten, alles in eine Pack-Datei zu packen, die beim ersten Start (oder fehlen der Dateien) entpackt wird. Ist, meiner Meinung nach, sehr übersichtlich, leicht zu machen und DAU freundlich ;)
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag von scholly »

hm...

packen brauch ich die .dll/.ico IMHo eigentlich nicht für die Weitergabe, das passiert ja dann sowieso im .zip.

Ich hab jetzt nach AddPackFile *includebinary* gesucht, bin aber genauso dumm wie vorher.

Welche Suchbegriffe führen mich denn zu einem Thread, aus dem ich lernen kann, wie ich Binaries INclude und dann wieder EXclude?

etwas :freak: ...
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
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 »

Label in der Datasection, endlabel - startlabel = länge des files
WriteData ist Dein Freund :mrgreen:
Ansonsten CodeArchiv

Aber wenn Du so wenig Erfahrung hast, nimm lieber ein
Installationsprogramm. Zum Beispiel unter Vista wird das meist nicht so
funktionieren.

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
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag von scholly »

ts-soft hat geschrieben:Label in der Datasection, endlabel - startlabel = länge des files
WriteData ist Dein Freund :mrgreen:
Hach, da is ja wat: suchen nach includebinary writedata und was taucht da als älteste Frage auf: Exe+Dll?
:allright: für den Tip, sieht erlernbar aus.
Aber wenn Du so wenig Erfahrung hast, nimm lieber ein
Installationsprogramm. Zum Beispiel unter Vista wird das meist nicht so
funktionieren.
Wozu soll ich mir den Streß mitm Installationsprogramm antun, wenn der User das .zip nur auspacken und meine App starten braucht?
Ich bin mit den DLLS, die unbedingt richtig sein müssen, nur so vorsichtig, weil ich so Spezis kenne, die nach dem Auspacken ersma gucken, ob sie nicht irgendwo ne neuere haben und dann anfangen rumzukopieren.
Grade bei DLLs, die eine relative hohe Update-Frequenz haben, könnte mal eine Abwärtskompatibilität flöten gehen - sowohl bei SQLite3, als auch MediaInfo war das mal der Fall.
Zum Beispiel unter Vista wird das meist nicht so
funktionieren.
Was wird unter Vista nicht so funktionieren?
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
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 »

scholly hat geschrieben:Wozu soll ich mir den Streß mitm Installationsprogramm antun, wenn der User das .zip nur auspacken und meine App starten braucht?
Dann wäre es sehr viel besser die Dateien so ins Archiv zu packen.
Wer die Versionen austauscht hat selber schuld. Ich möchte schon sehen was
da in meinem Programm-Ordner rumliegt. Weils viele so machen, teste ich
auch kaum noch Programme aus dem Forum. Hat schon so manch einer mir
was nach System auspacken wollen.
scholly hat geschrieben:
Zum Beispiel unter Vista wird das meist nicht so
funktionieren.
Was wird unter Vista nicht so funktionieren?
Im Programmordner haste keine Schreibrechte. Die Dateien werden dort
also nicht so einfach erstellt.

//edit
Nachtrag:
Für die DLL kannste auch "LoadDllMemory" von PBOSL nehmen.
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
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag von scholly »

ts-soft hat geschrieben:Ich möchte schon sehen was da in meinem Programm-Ordner rumliegt. Weils viele so machen, teste ich auch kaum noch Programme aus dem Forum. Hat schon so manch einer mir was nach System auspacken wollen.
OK, das Argument zieht bei mir. Dann werd ich wohl zur Doku noch ein liesmich_zuerst.txt mit entsprechenden Hinweisen dazulegen.
Im Programmordner haste keine Schreibrechte. Die Dateien werden dort also nicht so einfach erstellt.
Zementemal.
Mein Programm kann in seinem Verzeichnis keine Dateien/Verzeichnisse erzeugen oder verändern? :o
Wie soll cih denn dann dort ein Database-File erzeugen/verändern oder zusätzliche Prefs in ein neues Verzeichnis schreiben? :o
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

tja... Vista ist nunmal für Amerikaner gemacht... *jiggles*
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
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 »

scholly hat geschrieben:Wie soll cih denn dann dort ein Database-File erzeugen/verändern oder zusätzliche Prefs in ein neues Verzeichnis schreiben? :o
Auch wenns die meisten falsch machen, diese Dateien haben seit Win2000
dort nichts zu suchen. Dafür gibts z.B. den Ordner AppData, in dem darfste
auch unter Vista kritzeln.
Was kann MS dafür wenns 98% der Programmierer (mich eingeschlossen)
nicht beachten :mrgreen:
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