C# 将程序集作为进程运行

C# 将程序集作为进程运行,c#,process,assemblies,C#,Process,Assemblies,例如,我从数据库下载一个EXE或MSI文件作为字节数组。我想运行它。我可以将其保存在文件中,然后Process.Start(路径)。但是,如果我不想创建一个真正的文件,我可以从程序集这样做吗 非常感谢 如果字节数组是.NET程序集,则可以使用字节数组,然后使用反射处理程序集中包含的类型。这个 这会将其直接加载到您的流程中,因此它的工作方式类似于引用的程序集 但是,如果该文件是本机可执行文件,这将不起作用-需要另一种技术。就个人而言,此时,我会将其保存到磁盘并执行。然而,也有一些方法使用。然而,这

例如,我从数据库下载一个EXE或MSI文件作为字节数组。我想运行它。我可以将其保存在文件中,然后Process.Start(路径)。但是,如果我不想创建一个真正的文件,我可以从程序集这样做吗


非常感谢

如果字节数组是.NET程序集,则可以使用字节数组,然后使用反射处理程序集中包含的类型。这个

这会将其直接加载到您的流程中,因此它的工作方式类似于引用的程序集


但是,如果该文件是本机可执行文件,这将不起作用-需要另一种技术。就个人而言,此时,我会将其保存到磁盘并执行。然而,也有一些方法使用。然而,这可能需要C#中的不安全代码与P/Invoke混合才能正常工作。

哦,顺便说一句,MSI不能直接执行。它必须保存到磁盘,并通过msiexec调用


至于其他人,考虑一下你到底想做什么。如果您必须解决一般情况,您将把它们写入磁盘并执行它们。

不,我不需要使用它的方法或其他方法。非常感谢。所以,我将把它保存到光盘。