2014-01-21 9 views
1

MSShuild를 사용하여 InstallShield 2012와 함께 설치 프로그램을 만드는 대상을 만들려고합니다. InstallShield에 액세스하는 방법을 잘 이해하지 못하고 있습니다. 나는이 말을 가로 질러 InstallShield task을 만났지 만 어떻게 접근 할 수 있는지 잘 모르겠습니다. UsingTask 지시어가 필요하지만 가져올 항목이 확실하지 않은 것 같습니다. 누군가가 내게이 일을 어떻게 할 수 있는지에 대한 포인터를 줄 수 있습니까? 감사.MSBuild에서 InstallShield 작업에 액세스

답변

4

대상 파일을 가져와야합니다. dbu와 함께 msbuild extensions 디렉토리에 있기 때문에 그 점을 이해하기까지 잠시 시간을 보냈습니다. 여기에 그것을 사용하는 방법에 대한 기본 예제입니다 (이 2012Spring위한 참고하지만 당신은 아이디어를 얻을)이 어떤 이유로 작동하지 않을 경우

는 Btw는
<Import Project="$(MSBuildExtensionsPath32)\InstallShield\2012Spring\InstallShield.targets" /> 

<Target Name="BuildInstaller"> 
    <InstallShield.Tasks.InstallShield 
    Project="/path/to/my.ism" 
    ProductConfiguration="Package" 
    ReleaseConfiguration="MSI" /> 
</Target> 

, 당신은 항상에서 ISCmdBld.exe를 호출 할 수 있습니다 임무 작업, 그것은 잘 작동합니다.

+0

연구를 위해 clairify하려면 ... MSBuildExtensionsPath32는 "C : \ Program Files (x86) \ MSBuild \ InstallShield"입니다. – doobop

2

InstallShield는 Visual Studio 통합을 제공합니다. VS에서 InstallShield 프로젝트를 만들면 해당 버전의 InstallShield에 대한 InstallShield.targets 파일을 가져 오는 프로젝트 파일 (.ISPROJ)이 생성됩니다. 프로젝트 파일에는 특정 구성을 작성하고 모듈 경로, 특성, 경로 변수 대체 등을 병합하는 방법에 대한 많은 예제가 들어 있습니다.

InstallShield를 설치하려면 COM 구성 요소가 필요하므로 x86 MSBuild 플랫폼이 필요합니다.

관련 문제