我正在尝试使用MSBuild创建一个目标,该目标将使用InstallShield 2012创建一个安装程序。我很难理解如何访问InstallShield。我跑过去提到InstallShield task,但我不确定如何访问它。我想我需要一个UsingTask
指令,但不知道要导入什么。有人可以给我一个关于如何实现这一目标的指针吗?感谢。
答案 0 :(得分:4)
您需要导入目标文件。我花了一段时间来解决这个问题,因为它与msdild扩展目录一起使用了dll。这是一个如何使用它的基本样本(注意这是2012春季,但你明白了):
<Import Project="$(MSBuildExtensionsPath32)\InstallShield\2012Spring\InstallShield.targets" />
<Target Name="BuildInstaller">
<InstallShield.Tasks.InstallShield
Project="/path/to/my.ism"
ProductConfiguration="Package"
ReleaseConfiguration="MSI" />
</Target>
顺便说一下,如果由于某些原因这不起作用,你总是可以在Exec任务中调用ISCmdBld.exe,它就可以正常工作了。
答案 1 :(得分:2)
InstallShield提供Visual Studio集成。在VS中创建InstallShield项目时,它会创建一个项目文件(.ISPROJ),该文件为该版本的InstallShield导入InstallShield.targets文件。项目文件包含大量关于如何构建特定配置并传递合并模块路径,属性,路径变量覆盖等内容的示例。
请注意,由于COM组件,构建InstallShield需要x86 MSBuild平台。