有没有办法将NSIS包编译为构建的一部分?我使用MSBuild。
更新:有一个名为makensis的命令工具,作为NSIS下载的一部分。我刚刚从我的构建脚本中执行了该操作并将其传递给我的.nsi文件。
示例:
<Target Name="MakeDistributable">
<Exec command="..\Tools\NSIS\makensis.exe MyDistScript.nsi" WorkingDirectory="..\Installation" />
</Target>
答案 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=""C:\Program Files (x86)\NSIS\makensis.exe" /X"!define Configuration '$(Configuration)'" ..\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
(注:我是作者或此扩展名)