如何在VS2012 C#中从项目创建安装文件

时间:2013-07-11 14:40:44

标签: c# nsis setup-project

最近我开始使用Windows Forms应用程序VS2012 C#进行编程,它几乎已经完成。

我想制作一个功能强大且外观漂亮的设置向导 所以我搜索了互联网和stackoverflow,很快就发现NSIS是一个具有足够功能的程序,可以帮我完成工作。

在VS2012中,我有3个选项:调试,发布和发布

  • 调试 - 在我的计算机上工作正常,我的程序可以工作但是如果我想在其他机器上部署,我需要引用一些我需要分发的* .dll文件,图标,帮助文件等等在设置文件中(我认为)。

  • 发布 - 我认为它只是一个不同的文件夹。

  • 发布 - 为我制作以下文件:

    /publish/setup.exe
    /publish/PCWS-Report.application
    
    /publish/Application Files/PCWS-Report_1_0_0_0/FastReport.dll.deploy
    /publish/Application Files/PCWS-Report_1_0_0_0/FastReport.Bars.dll.deploy
    /publish/Application Files/PCWS-Report_1_0_0_0/ODBCMngr.dll.deploy
    /publish/Application Files/PCWS-Report_1_0_0_0/Image1.jpg.deploy
    /publish/Application Files/PCWS-Report_1_0_0_0/PCWS-Report.application.deploy
    /publish/Application Files/PCWS-Report_1_0_0_0/PCWS-Report.exe.manifest
    /publish/Application Files/PCWS-Report_1_0_0_0/PCWS-Report.exe.deploy
    /publish/Application Files/PCWS-Report_1_0_0_0/PCWS-Report.application
    /publish/Application Files/PCWS-Report_1_0_0_0/PCWS-Report.exe.config.deploy
    
    /publish/Application Files/PCWS-Report_1_0_0_0/Resources/
                                   Firebird_ODBC_2.0.1.152_x64.exe.deploy
    

最后我的问题:

  1. 我从哪个目录获取文件以使用?

  2. 构建我的安装文件
  3. 如果是发布目录,是否需要重命名文件?

  4. 我是否需要所有文件,例如.manifest.deploy文件或.config.deploy等。

1 个答案:

答案 0 :(得分:1)

在Visual Studio的早期版本(例如2010)中,您有两个内置选项来创建项目的安装程序

  • 首先是创建Setup or Deployment个项目。对于Windows Forms应用程序,这意味着构建MSI安装程序。这不再是VS2012中的一个选项

  • 第二个称为Click Once部署。它在VS2012中仍然受支持。请注意,当您在Visual Studio的“生成”菜单中选择“发布”选项时,您将生成“单击一次”部署文件(即.deploy)。

NSIS是一个完全不同的选择,因为它不是微软的技术,而是由Nullsoft开发的(是的,他们的产品也是Winamp)。它是一个可编写脚本的安装系统,是一个非常好的恕我直言。

如果您想创建NSIS安装程序,则甚至不需要Visual Studio。 (当然,在创建安装程序之前,必须首先构建解决方案。)使用您喜欢的文本编辑器(可以是Notepad ++甚至VS本身)手动创建.NSI文件,并使用{{1这是NSIS安装的一部分。

因此,对于您的第一个问题:您始终在生产中使用Release build文件夹中的文件。您应该阅读有关Debug和Release版本之间差异的更多信息。 (例如here)简而言之:在开发应用程序时使用Debug构建,并在要将应用程序部署到生产环境时使用Release构建。