.NET:将EXE文件嵌入到我的项目中

Mar*_*rcx 7 vb.net embed exe

我知道这是奇怪的情况,但我需要嵌入一个EXE文件(或汇编代码)到我的项目,所以也只能由应用程序(它不能创建在文件系统中的EXE和启动)启动. ..

可能吗?

编辑:

它不是.NET EXE.无论如何,我将Test.exe文件作为资源添加到我的项目中,我做到了这一点

   Dim exestr As Stream = Nothing
   Dim a As Assembly = Assembly.GetExecutingAssembly
   exestr = a.GetManifestResourceStream("Test.exe")  
Run Code Online (Sandbox Code Playgroud)

Han*_*ant 5

不可能.这是Dave Cutler和他们在设计Windows NT时做出的核心设计决策.进程必须由文件系统上的文件支持.Windows使用内存映射文件将进程代码映射到虚拟内存.这对于.NET程序来说并没有什么不同,即使它的许多代码都将JIT编译到内存中.包含IL的程序集以相同的方式映射.

用户和病毒扫描程序不仅仅是高效的操作系统操作,而且非常不喜欢突然冒出来的可执行代码.


Joh*_*n K 2

我正在考虑创建一个RAM 磁盘,将 .NET 资源文件中的 exe 文件写入其中,然后在其中执行该文件。没有任何内容触及物理磁盘。

我没有可编程 RAM 磁盘 API 的链接,但您可能可以从您的程序中找到一些可以操作的东西。另一个好处是病毒扫描程序仍然可以识别它以确保安全。

另外,我在想,如果您的应用程序在磁盘上运行,那么没有充分的理由说明相关可执行文件不能也在磁盘上运行。如果您通过网络将其传输(下载)或其他内容,则首先将其保存到磁盘并在执行完成后将其删除