Windows安装程序MSI文件是否应包含.NET框架?

3
我正在为我的Windows客户端应用程序创建安装程序。目前,我创建了一个包含.NET 3.5 SP1可再发行组件的MSI(Windows Installer)文件。
我的应用程序不到10MB,但包括.NET框架将使安装程序超过100MB。这是很多额外的位数需要下载。
.NET Framework的大小不断增加,不幸的是,我不能使用“客户端配置文件”版本的框架。
我应该简单地检查我需要的.NET框架版本并在没有时向用户发出警告吗?还是应该继续在我的安装程序中包含.NET框架?什么被认为是最佳实践?
3个回答

2
这取决于用户配置文件,但通常需要检查框架是否已安装,如果没有,则启动下载和安装过程。您使用什么来创建MSI软件包?某些MSI软件包制作系统(例如Visual Studio)可以直接支持此流程。
越来越多的安装程序正在转向非常小的可下载可执行文件,询问用户想要安装什么,然后下载并安装所有适当的部分(如果我从Web而不是DVD安装Visual Studio,它会很好地询问我是否将使用VB,如果不是,则不下载所需的位)。

我正在使用InstallAware,它允许您在需要时单独下载.NET框架。但是我想了解最佳实践是什么。 - dthrasher

1

我建议针对一个较旧的框架版本(比如2.0),然后依赖于它作为Windows安装的一部分(或者之前接触过.NET)已经被安装在所有系统上。

如果你真的需要使用最新和最好的功能,现在你知道这些功能的代价了。


1

检查版本并在必要时将用户指向下载URL。

或打开安装程序提供的(本地)网页。包含易于遵循的说明和直接链接到下载页面。

或在安装程序中创建代码以下载文件并开始安装。我想这对于安装程序框架来说很容易实现,更高级的框架可能已经内置了此功能。这里是如何使用 NSIS(Nullsoft Scriptable Install System)。


在我看来,根据他们对计算机的熟练程度,将其指向该内容可能会让他们感到困惑。 - olle
我同意,我添加了其他建议。 - codeape

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接