繁体   English   中英

将dll注入exe文件

[英]injecting dll into exe file

我想在具有Windows xp且没有.net框架且没有c ++库的计算机上执行用VC ++。net 2008编写的exe文件。 但是当我运行文件时,出现此错误:

This application has failed to start because the application configuration is incorrect....

我想要一种将所有依赖关系放在一起的方法,以摆脱此问题。 有谁知道我该怎么办?

如果要编写纯C ++应用程序(仅Win32,没有.NET),则需要静态链接C ++运行时,可以在项目属性中对其进行更改。 有关说明,请参见此答案 (适用于VC2005,但步骤与VC2008中的相同)

您似乎正在寻找一个.Net链接程序,例如这个

您有两个基本选择:用纯C ++(或可以/将产生完全独立的可执行文件的其他某种语言)编写程序,或使用依赖遍历器查找所需的DLL,并将其打包到安装程序中。

您建议的选项(获取依赖于某些DLLS的现有可执行文件,并尝试将DLL“注入”到可执行文件中)几乎是行不通的。 从理论上讲,您可以(例如)将安装程序创建为可执行文件,并使用户每次想要运行该程序时都重新运行安装程序。 这通常会增加足够的开销,您的用户可能会不喜欢它。

同样,您可以将DLL作为二进制资源放入可执行文件中,并使用FindResourceLoadResource等将其内容写到临时文件中-但这需要进行一些半高级编程,并且仍然需要大量的时间。的开销。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM