Seite 1 von 3
[gelöst]XIncludeBinary: eingebundene vs. mitgelieferte Files
Verfasst: 17.04.2008 13:34
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
Verfasst: 17.04.2008 16:31
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.

Verfasst: 17.04.2008 16:47
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

Verfasst: 17.04.2008 19:06
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

...
Verfasst: 17.04.2008 19:52
von ts-soft
Label in der Datasection, endlabel - startlabel = länge des files
WriteData ist Dein Freund
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
Verfasst: 17.04.2008 20:44
von scholly
ts-soft hat geschrieben:Label in der Datasection, endlabel - startlabel = länge des files
WriteData ist Dein Freund
Hach, da is ja wat: suchen nach
includebinary writedata und was taucht da als älteste Frage auf:
Exe+Dll?

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?
Verfasst: 17.04.2008 20:56
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.
Verfasst: 17.04.2008 21:11
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?

Wie soll cih denn dann dort ein Database-File erzeugen/verändern oder zusätzliche Prefs in ein neues Verzeichnis schreiben?

Verfasst: 17.04.2008 21:13
von Kaeru Gaman
tja... Vista ist nunmal für Amerikaner gemacht... *jiggles*
Verfasst: 17.04.2008 21:25
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?

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
