2009-01-11 35 views
5

在我开始开发一个桌面应用程序之前,我想知道如果我在.NET中构建它,安装程序会变得多大?如何分发.NET应用程序?

现在.NET可能已经5岁了。我们是否还需要在应用程序中包含运行时间?或者我们可以假设大多数用户将其安装在他们的系统上? Vista预装了.NET吗?最后我们能否安全地假设大多数XP用户已经在他们的系统上安装了CLR?

回答

1

它很容易确定您的目标.NET版本是否安装,如果没有,指示用户在哪里下载它。我不喜欢重新安装安装程序bootstrap;它是黑客会做的事情。让用户直接从源代码获取它。

Vista附带3.5。 XP SP2附带2.0 .NET 2.0需要XP SP2,但默认情况下,从未安装.NET系统;其始终可选。这几乎是任何MS桌面系统的最低规格;如果他们运行XP SP1或更早的版本,我会避免它们,除非你有特定的要求(嵌入式系统,笨拙/顽固的用户群等)。

编辑:我可以发誓SP2带有.NET 2.0,但我找不到任何关于此的明确信息。

+0

这对我来说是新的,我不认为Win XP SP2带有任何版本的.NET Framework是不对的。你说过吗? – 2009-01-11 20:36:38

2

您不需要包含运行时,安装程​​序会检测它是否存在于用户计算机上,并要求安装,如果没有。现在,假设大多数XP用户拥有CLR是安全的。

1

这取决于您希望如何分发应用程序。如果你把它放在CD上,那么把可再发行组件放在一起是很有意义的。否则,如果您通过Web分发它,.NET客户端配置文件仅为25兆字节。您可以将您的设置配置为在不可用时下载。

0

.NET在2004年被包含在XP的Service Pack 2中,所以我认为可以假设大多数人现在拥有它。

2

检出Clickonce部署。如果你问我,真的很不错的分销系统。

+0

我已经使用ClickOnce一年了,它已经很好地服务了我。您可以指定必需的.NET版本,并且它会自动下载,然后从Microsoft安装适当的版本(如果尚未安装)。像DirectX这样的库也是如此。推出更新是微不足道的。 – DavGarcia 2009-01-11 20:22:36