5

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

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

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

谢谢——迈克

4

5 回答 5

11

使用安装程序。

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

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

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

如果您想删除对 .NET Framework 的依赖,那么您将不得不将您的应用程序重写为可以编译为本机代码的东西(即使 NGEN 在没有安装框架的情况下也无法工作)。

于 2010-06-21T15:32:38.493 回答
1

这是可能的,但不是一种简单或便宜的方法。

例如,请参阅 http://www.remotesoft.com/

于 2010-06-21T15:41:13.870 回答
0

Don't use .NET. If you have no control over the enviornment, need wide distribution, and don't want to require 30 MB download, then you are pretty much stuck using native code. Your best bet would be C++.

Alternatively, as others have suggested, you could try using something like Remotesoft.

于 2010-07-01T04:12:06.827 回答
0

如果他们没有您需要的运行时环境,那么您对 ​​.Net 解决方案就很不走运了。使用安装程序,您可以安装适当的运行时环境(如果不存在)。

真的,如果您绝对担心人们会下载部分框架,那么最好不要使用它。在用本机代码重写应用程序之前,我真的会看看你的听众,看看他们没有它的可能性有多大,以及他们的连接速度是多少。

如果您不想用本机代码编写它,那么您的另一个选择是使用较低版本的框架。1.1 的市场渗透率将比 4.0 大得多。

于 2010-06-21T15:33:24.330 回答
0

来自维基百科(不是绝对权威,但通常对这类事情是可靠的):

Windows Vista 包括 .NET Framework 3.0 版。

因此 Windows 7 也将包含此功能。

因此,您真正需要担心的只是您的 XP 客户端。

我最近不得不重新安装 Windows XP,当我得到 SP3 和所有后续补丁时,我也安装了 .NET 3.5。虽然我也在安装 Visual Studio,但我不能 100% 保证每个人都会安装必要的 .NET 版本,但它会占很大比例,所以你可能会过度担心。

于 2010-06-21T15:40:12.157 回答