我在visual studio 2008中使用C#开发了一个winform应用程序.现在我想在另一台没有.net框架或Visual Studio的PC上运行exe.我通过电子邮件使用Zip发送应用程序.第二台PC下载该应用程序并提取到普通文件夹,然后执行exe文件.但我得到的例外是必须安装.net frame work v 2.0.
你可以告诉我如何在没有安装.net框架工作的情况下运行该exe吗?
(修改为@ Merhdad的理智:-))
简短的回答:你可以.你不应该.
答案很长:您可以从技术上创建自己的非托管引导程序,然后下载.NET客户端配置文件redist并使用MSI API静默安装它,然后加载CLR并在进程中托管它以执行托管代码,之后它会从机器上静默卸载.NET Framework.
免责声明:我知道很少有人可以解决这个问题.他们会是第一个告诉你不要这样做的人.
替代黑客回答:你也可以使用@Mehrdad提到的工具之一.我无法评论它们是否有效.但是,您应该知道这会使您的应用程序链接到.Net框架代码的特定快照,并且对于您需要采取的每个安全更新,您也必须重新链接并发布应用程序的更新.
替代的开源答案:您可以确保您的WinForms应用程序在Mono上构建和运行,并与应用程序并排部署Mono.我听说它支持这种情况.
替代IT答案:您可以创建一个VM设备,其中包含仅具有.Net和您的应用程序的精简窗口映像,并将其作为单个可执行文件发送.
正确答案:为您的应用程序创建一个安装程序,为您的客户安装.NET Framework.