创建NSIS包作为构建的一部分

时间:2009-07-13 12:26:24

标签: nsis

有没有办法将NSIS包编译为构建的一部分?我使用MSBuild。

更新:有一个名为makensis的命令工具,作为NSIS下载的一部分。我刚刚从我的构建脚本中执行了该操作并将其传递给我的.nsi文件。

示例:

<Target Name="MakeDistributable">
    <Exec command="..\Tools\NSIS\makensis.exe MyDistScript.nsi" WorkingDirectory="..\Installation" /> 
</Target>

4 个答案:

答案 0 :(得分:4)

这是我用的

<Target Name="MakeDistributable">
  <Exec command="..\Tools\NSIS\makensis.exe MyDistScript.nsi" WorkingDirectory="..\Installation" /> 
</Target>

答案 1 :(得分:3)

Cruise Control .NET构建自身并在构建过程中创建NSIS包。我建议看看它的构建过程和源代码包。您可以在CCNet live的源zip文件中的nant构建文件中找到所需的一切。

答案 2 :(得分:0)

我使用了类似于Riri的东西,但我想您可能对我如何在没有任何配置的情况下制作Release / Debug安装程序感兴趣:

首先,我将此添加到我的NSI脚本中:

!ifndef Configuration
    !define Configuration "Debug"
!endif

然后这是我的msbuild目标:

<Target Name="Installer" DependsOnTargets="Build">
    <Exec Command="&quot;C:\Program Files (x86)\NSIS\makensis.exe&quot; /X&quot;!define Configuration '$(Configuration)'&quot; ..\Installer\Installer.nsi" />
</Target>

然后传入配置(默认为Debug)。我可以这样使用它:

File /r /x *.xml ..\MyApp\bin\${Configuration}\*

例如,将调试版本发送给beta测试人员时,这非常方便。您只需要在构建服务器中使用两个配置。

答案 3 :(得分:0)

我正在提供最新信息:

第三方Visual Studio扩展将NSIS(也是Inno Setup)与IDE集成,并在其中添加了新的安装项目(.exe安装程序)。

这些项目基于MSBuild,因此您可以对它们执行任何操作(就像任何常规的Visual Studio项目一样)。

它们支持项目属性,因此您可以设置各种符号(如Platform x86 / x64 ...,Configuration Debug / Release ...),支持批量构建,命令行构建和许多其他功能。

检查扩展程序网站:http://www.visual-installer.com

(注:我是作者或此扩展名)