如何不安装.net运行C#程序?

如何不安装.net运行C#程序?,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

我电脑已经没有多余的硬盘空间来安装了,可是最近必须要运行一个.exe的c#程序,如何不安装来运行这个程序?

解析:

一定要安装NET Framework 2.0 或是 NET Framework 1.0

很小20mm

现成的工具有Xenocodenbsp的postbuidle或者vas,还有Salamandernbsp.NETnbspLinker。另外还有MaxToCodenbsp作者以前做的frameworknbsplinker,以及一些支持注册表模拟和文件模拟的打包工具molebox,thinstall等。nbspnbspXenocode的是使用了一个虚拟机环境,模拟框架需要的注册表信息和文件信息。Xenocode号称的生成native代码功能实际上就是指的这个功能。我测试了几个程序打包,兼容性似乎不怎么好,不知道是不是因为机器上已经安装了框架的原因。nbspnbspJason做的frameworknbsplinker以前我也使用过,他实际上是利用了Remotesoft的内核文件,然后自己实现了一个loader。好像是使用的早期的内核文件,兼容性也不太好。nbspnbspSalamandernbsp.NetnbspLinkernbsp,Remotesoft的一个产品,没有可以下载的,但是其兼容性似乎很不错。移动的飞信软件就利用了它的核心。某网友的方法似乎是利用remotesoft的核心和飞信的框架,因为他并没有免费公开方法,从他给出的样例可以看到有remotesoft的核心文件以及飞信的框架程序。这里要介绍的方法是直接利用飞信的框架来实现脱离nbsp.Netnbspframework运行。nbspnbsp首先下载一个飞信的程序安装,在安装目录中会有VMDotNetnbsp目录,这个就是.Net框架虚拟环境需要的文件,直接把整个目录提取出来。nbspnbsp如何利用这个虚拟环境运行自己的nbsp.Netnbsp程序呢?很简单,一个命令行搞定。在nbspVMDotNetnbsp目录里面会找到一个nbspFetionVM.exenbsp,这个是虚拟环境的loader。nbspnbsp使用方法:nbspnbspFetionVM.exenbsppathtoyoureexe。就是直接把你的nbsp.Netnbsp程序作为命令行参数传递给FetionVM.exenbsp就可以在这个虚拟环境中执行你的.net程序了。nbspnbsp最好再自己写一个启动程序,首先检查系统是否安装了.Net框架,如果有直接运行,没有调用虚拟环境运行。nbspnbsp这个启动程序飞信也有,如果不想自己写就直接拿飞信安装目录中的nbspFeition.exe,但是这样的话你自己的.Net程序的名字必须叫nbspFeitionFX.exenbsp。把它和Feition.exenbsp放在同一目录下,直接执行nbspFeition.exenbsp即可。另外,如果你对.Net程序使用了加密保护,需要注意一下,目前市面上的大部分.Net加密工具加密后的程序集不能在这个虚拟环境中运行的。 查看原帖>>

看起来必须安装,其实有第三方软件可以让你制作的安装包脱离.NET。

.NET其实也是对windows的API的封装和包装,如果有其他的形式可以解释C#的中间码并且连接到windows的API的话,理论上是完全可以的。

现成的工具有Xenocode 的postbuidle或者vas,还有Salamander .NET Linker。另外还有MaxToCode 作者以前做的framework linker,以及一些支持注册表模拟和文件模拟的打包工具molebox,thinstall等

目前可以推荐你使用 飞信 的客户端来实现脱离.NET。其实使用飞信的客户端也是一个“.NET”,只是是飞信自己封装的,比较小。

你上网一搜一大堆


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11925274.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存