Frage

Ich mag die Art und Weise wirklich der Sysinternals-Dienstprogramme (z Process Explorer) 64-Bit-Kompatibilität behandeln. Es sieht aus wie die 32-Bit-ausführbare die 64-Bit-Version hat darin eingebettet ist, und extrahiert sie, falls erforderlich.

Ich würde ein Tool wie die diese automatisiert - das heißt nimmt 32bit und 64bit ausführbare Dateien, packt sie irgendwie zusammen und fügt Stubcode die richtige ausführbare Datei zu starten, nach welcher Plattform seine bekommt laufen.

Bevor ich meine eigene Rolle, weiß jemand von so etwas wie diese, die bereits vorhanden ist?

War es hilfreich?

Lösung

Mark Russinovich von Sysinternals Ruhm beschreibt ihre Methode hier . Sie machen ein x 64 Bild in einem x86-Bild einbetten. Leider oben Blog-Post eigentlich nicht zu sehr ins Detail gehen, aber erwähnt, dass ihre Technik auf einem viel älteren Artikel basiert gefunden hier .

Andere Tipps

Dies scheint bereits abgedeckt worden zu sein (obwohl es auf Detail ziemlich flach ist) innerhalb ...

Rollen 64-Bit- und 32-Bit-Versionen einer App in die gleichen binären?

Nicht ein Werkzeug, aber es scheint ziemlich einfach ausführbare Dateien in einem VC ++ Projekt als Ressourcen einzubetten, und führen Sie die richtigen nach der OS-Umgebung zu überprüfen.

die IsWow64Process Funktion kann 32 oder 64 Bit erfassen, und hier ist eine nette Zuschreibung einschließlich Quellcode, wie die ausführbaren Dateien einbetten: http://www.codeproject.com/KB/winsdk/binaryresources.aspx .

Während dies möglich ist, würde ich es eine schlechte Praxis, da die meisten dieser Anwendungen berücksichtigen (z Process Explorer) extrahiert die Datei im Verzeichnis arbeiten. Wenn Sie Programme in „Program Files“ Ordner abzulegen, dass Kollisionen mit diesem Verzeichnis schreibgeschützt ist.

Für mich scheint es gerade einfacher zwei Programme getrennt zu haben und Verknüpfung nur auf x86-Datei. Wenn die Version 64-Bit erkennt, es muss nur x64-Datei starten.

Wenn Sie wirklich guten Grund haben, diese beide zu kombinieren, als embeedding es als Ressource wie ein richtiger Pfad scheint.

scroll top