2009-05-14 8 views
6

Ich möchte eine Reihe von Dateien (eine EXE ein .xml, einige Bilder) in 1 ausführbares Paket verpacken. Wenn der Benutzer dieses ausführbare Paket startet, sollte die in diesem ausführbaren Paket enthaltene .exe ausgeführt werden. Ist dies in erster Linie auf der Windows-Plattform möglich?Wrap-Dateien in einem ausführbaren Paket

Was ich nicht suche, ist eine selbstextrahierende Zip oder ein Installer, weil beide tatsächlich die neuen Dateien auf die Festplatte verschieben.

Warum möchte ich das? Ich möchte, dass der Benutzer nur eine Datei hat, damit sie leicht verteilt werden kann.

Vielen Dank im Voraus

Bart


Vielen Dank für Ihre Antworten. Ich muss zugeben, dass ich kein Anwendungsentwickler bin, also ist das alles ein bisschen neu für mich. Ich bin eigentlich ein Flash-Entwickler. Ich möchte ein bisschen genauer sein und erklären euch, was ich versuche tatsächlich zu tun:

entwickelte ich die folgenden Dateien:

  • viewer.exe (ein Flash-Standalone-Viewer, in der Regel diese .swf ist ein kompilierte, aber dieser Dateityp muss einen Browser-Plugin-Player selbst zeigen. der Stand-alone-Version nicht)
  • content.xml
  • Bilder Ordner mit unterschiedlichen Arten von Bildern

Die Datei viewer.exe lädt die Datei content.xml, erstellt eine Präsentation mit dem definierten Inhalt in der Datei content.xml (mit Verknüpfungen zu verschiedenen Bildern im Ordner images).

Mein Client mag nicht die komplette Struktur mit all den verschiedenen Dateien, weil es nicht einfach ist, diese Dateien zu verteilen. Also versuche ich, alle Dateien in eine .exe oder etwas anderes zu "wickeln" :)

Ich hoffe, ich bin ein bisschen klarer.

Wenn einer Ihrer Lösungen können immer noch diese Art von Paket erstellen, können Sie sich frei, mich zu korrigieren und erziehen :)

Bart

Antwort

1

Sie können alles, was Sie an das Ende einer ausführbaren wollen befestigen gerade fein . Was habe ich zu tun ist, meine Dateien anhängen dann ein int zu sagen, wie lange meine Nutzlast war so, dass (psuedo):

payload.size = readInteger(exe.size - sizeof(int)) 
payload.offset = exe.size - sizeof(int) - payload.size 
2

Gibt es einen Grund, warum Sie nicht eingebettete Ressourcen für Ihre XML/Bilddateien verwenden könnte?

0

Drei Ansätze, die Sie vielleicht wollen: Wenn Sie nur Bilder/Audio und andere nicht ausführbare Dateien (keine DLLs, keine OCX usw.) bündeln müssen, dann können Sie Informationen auf resource files; Sie sind nicht auf die Typen beschränkt, die im Artikel verlinkt sind, aber für diese gibt es spezielle Helfer. Ansonsten - wenn Sie auch ausführbare Dateien bündeln wollen oder eine einfachere Lösung bevorzugen - können Sie

0

Es ist sicherlich möglich, mit thinstall oder molebox betrachten. Die Tcl-Sprache kann als "Starpack" gebündelt werden, was eine ausführbare Datei mit einem eingebetteten virtuellen Dateisystem ist.In diesem Dateisystem können Sie XML, Bilder, Sounds, Skripte usw. einbetten. Tcl'ers haben die Single-File-Deployment-Sache seit Jahren gemacht.