Duplicar posibles:
How can a C++ windows dll be merged into a C# application exe?Embalaje un exe + DLL en un ejecutable (no .NET)
Hay alguien consciente de un programa que puede empaquetar varios DLL y un .EXE en un ejecutable. No estoy hablando del caso de .NET aquí, estoy hablando de DLL generales, algunos de los cuales genero en C++, algunos de ellos son DLL externos sobre los que no tengo control.
Mi caso específico es un programa python empaquetado con py2exe, donde me gustaría "ocultar" el otro archivo DLL empaquetándolos. La pregunta es lo suficientemente general sin embargo.
Las cosas que tenían un vistazo a:
- ILMerge: específico para .NET
- NETZ: específico para .NET
- UPX: hace compresión DLL pero no múltiples DLL + EXE embalaje
- FileJoiner:
Casi lo consiguió. Puede empacar ejecutable + cualquier cosa en un exe pero cuando se abre, se iniciará el abridor predeterminado para cada archivo que se empaquetó. Por lo tanto, si el usuario usuario dlldepende instalado, lo ejecutará (porque ese es el abridor predeterminado de dll).
Quizás eso no sea posible?
Resumen de las respuestas:
apertura DLL es administrado por el sistema operativo, por lo que el embalaje DLL en ejecutable significa que en algún momento, tienen que ser extraído a un lugar en el que el sistema operativo puede encontrarlos. Sin bala mágica.
Por lo tanto, lo que quiero no es posible.
A menos que ...
Cambiamos algo en el sistema operativo. Gracias a Conrad por indicarme ThinInstall, que virtualiza la aplicación y el mecanismo de carga del sistema operativo. Con ThinInstall, es posible empacar todo en un exe (DLL, configuración de registro, ...).
También puede usar boxedapppacker - similar a thinstall. – MastAvalons
o use BoxedApp SDK - biblioteca del desarrollador para archivos de virtualización y registro – MastAvalons
Recientemente, PELock se actualizó con capacidad de enlace DLL https://www.pelock.com/img/en/products/pelock/virtual-dll-libraries/pelock-virtual- dll-binder.png –