如何将C#应用程序分发到具有.Net未知版本的计算机?

edu*_*e05 5 .net cil distribution native-code

我写了一个小应用程序,我需要分发到700多台计算机,问题是计算机可以运行任何版本的Windows(尽管很可能是XP或更好)与任何版本的.Net框架安装的互联网连接都来自OC3拨号.

我考虑过将.Net与我的应用程序捆绑在一起,但.net安装程序至少为39mb,这对于拨号的人来说确实需要几个小时.

那么有没有办法可以捆绑应用程序需要的特定DLL,或者将整个东西转换为本机代码?

谢谢 - 迈克

Jus*_*ner 11

使用安装程序.

Microsoft提供了一个基本解决方案,以便您可以检查依赖项(并在缺少它们时安装它们),以确保您部署应用程序的计算机满足应用程序的最低Framework(和依赖项)要求.

如果您需要更复杂的东西,可以使用Nullsoft Scriptable Install System,InstallAwareInstallShield之类的东西.

但请记住,如果您正在创建.NET应用程序,那么用户将需要以某种方式安装运行时.安装程序通过不强制您将.NET安装程序与您的应用程序捆绑在一起使事情变得更好.它将允许用户在安装时下载.NET运行时.

如果要删除对.NET Framework的依赖性,那么您将不得不将应用程序重写为可编译为本机代码的内容(即使没有安装Framework,NGEN也无法工作).

  • @msarchet:这不对.必须安装框架*才能运行.NET应用程序.完全XCOPY部署.NET应用程序(意味着不要求框架出现在目标机器上)是100%不可能的,我担心. (3认同)