制作用于C#应用程序的安装程序,并将.NET Framework安装程序包括在安装程序中


117

我已经完成了C#应用程序,但是有一个小问题:

当我尝试在另一台PC上运行应用程序时,总是需要安装.NET Framework 4.0。

是否需要做一些事情才能使其工作,而无需从Internet安装该框架?

我在VB6应用程序的InnoSetup之前尝试过,但是我不确定它是否适用于.NET 4.0!

有任何想法吗?


3
您无法摆脱.net Framework。如果需要,可以为应用程序创建一个安装程序,并在安装程序中包括.net framework安装程序。这样,您可以避免从Internet下载它。但这会增加您的设置大小。
CharithJ 2011年

这算不上问题。你知道如何 ?
2011年

2
只是作为一个注意..请确保您不转到“新建文件”。右键单击您的解决方案,然后单击添加->新项目。这样,您可以将安装项目添加到文件中,而不仅仅是自己创建一个新项目。
David Nelson

Answers:


201

使用Visual Studio安装程序项目。安装程序项目可以自动在您的安装包中包括.NET Framework安装程序:

这是Windows窗体应用程序的分步指南:

  1. 创建安装项目。您可以使用安装向导。

    在此处输入图片说明

  2. 选择项目类型。

    在此处输入图片说明

  3. 选择输出。

    在此处输入图片说明

  4. 点击完成。

  5. 打开安装项目属性。

    在此处输入图片说明

  6. 选择包含.NET框架。

    在此处输入图片说明

  7. 构建设置项目

  8. 检查输出

    在此处输入图片说明


注意: Visual Studio Installer项目不再与Visual Studio一起预打包。但是,在Visual Studio 2013中,您可以使用以下方法下载它们:

Tools > Extensions and Updates > Online (search) > Visual Studio Installer Projects

1
是否可以将其设置为当您单击Setup.exe时,它将自动检测是否已安装.net 4框架并进行安装。还是必须手动完成?
赛斯

27
Visual Studio 2012不再支持这些安装项目。您将被指示下载InstallShield LE(限量版)。它是免费的,但请注意,如果您从VS 2010迁移到VS 2012,则需要重建安装程序
。– tobinibot

5
有一个正式的Microsoft扩展程序将此功能添加到了vs 2015visualstudiogallery.msdn.microsoft.com/…–
XD面对我

4
遵循了所有步骤,但出现了以下错误:ERROR: To enable 'Download prerequisites from the same location as my application' in the Prerequisites dialog box, you must download file 'DotNetFX461\NDP461-KB3102436-x86-x64-AllOS-ENU.exe' for item 'Microsoft .NET Framework 4.6.1 (x86 and x64)' to your local machine. For more information, see http://go.microsoft.com/fwlink/?LinkId=616018.
克里斯(Chris)

2
@nurettin我发现VS2017的文件夹适用C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX471于.NET 4.7.1安装程序
Crowley

5

您需要创建安装程序,该安装程序将检查用户是否需要.NET Framework 4.0。您可以使用WiX创建安装程序。它非常强大且可自定义。您也可以使用ClickOnce创建安装程序-使用非常简单。一键添加要求即可安装.NET Framework 4.0。


3

WiX是新安装程序的一种选择。如果仅WiX过于复杂或在GUI方面不够灵活,请考虑使用SharpSetup-它允许您在WPF的WinForms中创建安装程序GUI,并具有其他不错的功能,例如翻译,自动更新,内置的必备组件,改进的VS中自动完成功能等。

(免责声明:我是SharpSetup的作者。)


1
@ChristopherPainter在同一件事上做得很棒。blog.iswix.com,但他是免费的!!!
杰里米·汤普森

1
上次查看ISWIX时,它与SharpSetup有着完全不同的概念(这里没有说更好),但显然我认为SharpSetup是:-))。他的工作更多是关于在单独的工具中编辑WiX代码,而SharpSetup很大程度上建立在Visual Studio和.NET的基础上,这为安装人员提供了更大的灵活性,尤其是在GUI部分。另请注意,SharpSetup有一个免费版本(具有许可证限制)。
Tomasz Grobelny,2015年

2

New Project > Other Project Types > Setup and Deployment > Visual Studio Installer在解决方案中包括一个安装项目()。它具有包括框架安装程序在内的选项。查看此部署指南MSDN帖子

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.