".Net 2.0 先决条件安装程序"

3
什么是确保用户在计算机上安装了.Net 2.0的最佳方法?我不想使用由Visual Studio创建的普通设置项目,因为我的应用程序是便携式应用程序,不使用注册表或需要添加和删除程序条目。对于用户来说,它需要尽可能简单易用(因为有些用户可能不太熟悉计算机)。
编辑:我接受了MusiGenesis的答案,因为它对我和用户来说都是最简单的。我将在用户下载我的应用程序的网站上添加一个链接到.Net 2.0安装程序。
在将来,我可能会结合这三个答案编写一个简单的C++先决条件检查应用程序,用户可以在安装我的应用程序之前运行该应用程序。
3个回答

4

如果您从网站分发应用程序,请包含 .Net 2.0 可再发行安装程序的链接(大小约为“只有”23 MB)。如果您从 CD 或其他介质分发,请将可再发行安装程序放在光盘上。

您还可以创建包含 .Net 可再发行安装程序的 MSI,但此时您的 MSI 将会达到 23MB+,而且大多数用户已经安装了 .Net 2.0,因此这样做是没有意义的。


如果您通过网站进行分发,是否可以使用Click Once(我认为是这个名字)安装程序?虽然我不太了解它的工作原理。 - Jaimal Chohan
@Jaimal:Click Once已经集成到.Net应用程序中,因此它只有在已安装了.Net的情况下才能正常工作。 - MusiGenesis

2

我不太清楚。由于这是一个.NET应用程序,它需要.NET才能运行,因此您无法检查.NET的先决条件,除非您在C++中编写了一个引导程序。但是那将必须作为单独的应用程序运行,以启动您的.NET应用程序。


1
你可以在Delphi中完成双重安装程序(我们公司已经这样做了),但是这真的不值得麻烦,因为大多数用户已经至少拥有.NET 2.0,如果他们没有,只需下载运行即可,也不会带来什么麻烦。 - MusiGenesis

1

你必须在注册表或文件系统中进行检查。 在注册表中,您可以枚举 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP 下的键,这些键是已安装的版本。或者您可以探索 c:\Windows\Microsoft.NET\Framework 中的文件夹名称。 但是,对于更复杂的检测,我建议使用 code


@Yakeen:他的应用程序是一个 .Net 2.0 应用程序,这意味着除非已经安装了 .Net 2.0,否则他无法检查 .Net 2.0 是否已安装。 - MusiGenesis

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