Creating .esriAddInX file on Jenkins build system without ArcGIS Pro

Discussion created by Volodymyr_Dmytruk on Jan 11, 2017

Hi! I need your help to create MSI installer on a rmote cmputer that does not have installed ArcGIS Pro!


I need to create an MSI installer for my project that I need to put .esriAddInX file. The computer on which I work this is no problem, but I do the same operation to perform on a remote computer where is installed Jenkins, that does not have ArcGIS Pro, and when I try to compile the project on a remote computer I get the following errors from Jenkins:


error MSB4018: The "PackageAddIn" task failed unexpectedly.

error MSB4018: System.InvalidOperationException: Install location of ArcGIS Pro cannot be found. Please check your registry for HKLM\SOFTWARE\ESRI\ArcGISPro\InstallDir

error MSB4018: at proapp_sdk_MSBuild.MSIHelper.GetInstallDirAndVersionFromReg()

error MSB4018: at proapp_sdk_MSBuild.MSIHelper.GetInstallDirAndVersion()

error MSB4018: at proapp_sdk_MSBuild.PackageAddIn.Execute()

error MSB4018: at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()

error MSB4018: at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()


The file Esri.ProApp.SDK.Desktop.targets and proapp-sdk-MSBuild.dll placed in the folder of my project, and the path to it is registered as folows:


<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />


<Import Project="..\ThirdParty\Tools\Esri.ProApp.SDK.Desktop.targets" Condition="Exists('..\ThirdParty\Tools\Esri.ProApp.SDK.Desktop.targets')" />


<UsingTask AssemblyFile="..\ThirdParty\Tools\proapp-sdk-MSBuild.dll" TaskName="proapp_sdk_MSBuild.PackageAddIn" />

<UsingTask AssemblyFile="..\ThirdParty\Tools\proapp-sdk-MSBuild.dll" TaskName="proapp_sdk_MSBuild.CleanAddIn" />


<UsingTask AssemblyFile="..\ThirdParty\Tools\proapp-sdk-MSBuild.dll" TaskName="proapp_sdk_MSBuild.ConvertToRelativePath" />

<UsingTask AssemblyFile="..\ThirdParty\Tools\proapp-sdk-MSBuild.dll" TaskName="ArcGIS_Desktop_MSBuild.PackageAddIn" />


<UsingTask AssemblyFile="..\ThirdParty\Tools\proapp-sdk-MSBuild.dll" TaskName="esri_proapp_sdk_MSBuild.ConvertToRelativePath" />


The file Esri.ProApp.SDK.Desktop.targets I did not change because I do not know how it initialized variables, and if I can set their own values.


Help me please clarify whether it is possible to receive .esriAddInX file without installed ArcGIS Pro, and how do I need to do to modify the project file and Esri.ProApp.SDK.Desktop.targets, so that the romote computer where is installed Jenkins I could get .esriAddInX file!

I would appreciate fro any help and advice!