问题描述
有人知道可以将几个DLL和.EXE打包成一个可执行文件的程序。我不是在说.NET的这个例子,我在说一般的DLL,其中一些是我在C ++中生成的,其中一些是外部的DLL我无法控制。
Is anybody aware of a program that can pack several DLL and a .EXE into one executable. I am not talking about .NET case here, I am talking about general DLLs, some of which I generate in C++, some of others are external DLL I have no control over.
我的具体情况是与py2exe打包的python程序,我想通过打包来隐藏另一个DLL。这个问题是一般的,尽管如此。
My specific case is a python program packaged with py2exe, where I would like to "hide" the other DLL by packing them. The question is general enough though.
看看的东西:
- ILMerge:特定于.NET
- :具体到.NET
- :DLL压缩但不是多个DLL + EXE包装
- :
- ILMerge: specific to .NET
- NETZ: specific to .NET
- UPX: does DLL compression but not multiple DLL + EXE packing
- FileJoiner:
也许这是不可能的?
答案总结:
DLL打开由操作系统管理,所以将DLL打包成可执行文件意味着在某些时候,他们需要被提取到一个OS的地方可以找到他们没有魔法子弹。
DLL opening is managed by the OS, so packing DLL into executable means that at some point, they need to be extracted to a place where the OS can find them. No magic bullet.
所以,我想要的是不可能的。
So, what I want is not possible.
除非...
我们在操作系统中更改了一些内容。感谢康拉德指出我,虚拟化应用程序和操作系统加载机制。使用ThinInstall,可以将所有内容打包在一个exe(DLL,注册表设置,...)中。
We change something in the OS. Thanks Conrad for pointing me to ThinInstall, which virtualise the application and the OS loading mechanism. With ThinInstall, it is possible to pack everything in one exe (DLL, registry settings, ...).
推荐答案
看看
这篇关于将exe + dll打包成一个可执行文件(不是.NET)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!