2010-08-18 21 views
0

我有一个可执行文件,显示一个简单的Windows窗体。不幸的是,如果用户没有安装.NET框架,这个应用程序将不会运行。如何在不使用安装程序的情况下将.NET框架与可执行文件打包在一起?

我希望能够检测用户的机器是否安装了.NET Framework,如果没有,请给他们下载并安装它的选项。

我知道这可以通过使用安装程序项目;然而,我并没有实际安装任何东西,因此安装程序不是一个可行的选择。

有没有办法做到这一点?

我将不胜感激任何想法或建议。

谢谢

Mattimus

+0

这就是安装程序的工作 - 检测缺失的依赖关系并安装它们。 – Oded 2010-08-18 21:04:33

+0

即使只是将一个可执行文件复制到硬盘驱动器,您仍然在“安装”某些东西。我知道Click Once有诽谤者,但在这种情况下,这将是一个快速简单的解决方案。 – ChrisF 2010-08-18 21:15:06

回答

0

的simplist方法来检测如果计算机有.NET安装的框架是在Visual Studio中创建一个非托管C++应用程序。所有的应用程序将需要做的是检查%SystemRoot%\ Microsoft.Net \ Framework目录。在这里应该有子目录,比如“v2.0.50727”(用于.NET 2.0框架)和“v3.0”(用于.NET 3.0框架)。检查这些目录是否存在。如果他们这样做,那么框架就会被安装。

2

您可以嵌入.NET的使用工具,如Xenocode可执行一个精简版本:http://www.xenocode.com

+0

这是一个很好的答案,但我更喜欢免费的解决方案。 – 2010-08-18 21:07:28

0

您需要创建一个'bootstrapper'应用程序而不是.net。它会检查.net,如果找到,则启动您的应用程序,否则将提供进行安装。改为使用“桌面快捷方式”或任何指向该应用的点。

对于安装,我会建议SmallestDotNet,虽然我从来没有使用它自己。

相关问题