<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic .EXE fails when trying to Join Field via Model Builder in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/exe-fails-when-trying-to-join-field-via-model/m-p/613320#M16467</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am a novice in programming and am trying to clean up a previous employee's script. Since the migration to ArcGIS v10 our scripts have needed a bit of scrubbing due to the LITTLE nuances of v10 modifications.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Everything works up until "LoadDentonParcels". It is here that the model will not run. I have attempted to split up the models and take it to the point of the Join Field and it will run appropriately with the right outputs. When it gets to the Join Field, it initially bombed because of the naming limitations, so I then added a "Copy Rows" to a shorter named table. This runs in Model Builder but will not run when using Visual Studio 2010. I continue to receive the following error (very generic) - "A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in ESRI.ArcGIS.Geoprocessor.dll" I can't help but think that I am missing some library somewhere or there is a bug with some of the tools. As I previously mentioned, three of the previous models worked.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The following references have been added: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.ArcCatalog&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Geoprocessing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Geoprocessor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.System&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Version&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;GPMetadataFunctions (which was added after debugging a previous error)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;MetadataTranslator&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;System&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;System.Data&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the following code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports ESRI.ArcGIS.esriSystem&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports ESRI.ArcGIS.Geoprocessing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports System.Data.SqlClient&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports System.Net.Mail&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports System.Text&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports System&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Module modParcelsImport&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Private m_AOLicenseInitializer As LicenseInitializer = New ParcelsImport.LicenseInitializer()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#Region "Member Variables"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Private m_swLog As IO.StreamWriter&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#End Region&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;STAThread()&amp;gt; _&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Function Main(ByVal cmdLineArg() As String) As Integer&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'ESRI License Initializer generated code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If (Not m_AOLicenseInitializer.InitializeApplication(New esriLicenseProductCode() _&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{esriLicenseProductCode.esriLicenseProductCodeArcInfo}, _&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;New esriLicenseExtensionCode() {})) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LogMessage(m_AOLicenseInitializer.LicenseMessage())&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim server As String = Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim logPath As String = Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim arctoolboxPath As String = Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'Dim pGeoProcessor As IGeoProcessor = New GeoProcessor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pGeoProcessor As ESRI.ArcGIS.Geoprocessor.Geoprocessor = New ESRI.ArcGIS.Geoprocessor.Geoprocessor&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Console.WriteLine("Validating parameters...")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Verify it meets number of required parameters&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'If Not (cmdLineArg.Length = PARAMETER_NUMBER) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Call outputSyntax()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'' Validates server name&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'If GetArgValue(cmdLineArg, "-s", server) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine("Error: Invalid Input. Verify syntax.")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine(System.Environment.NewLine)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Call outputSyntax()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' If Not (server.ToUpper.StartsWith("GS")) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine("Error: Invalid Server Name.")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'' Create file to log results&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'If GetArgValue(cmdLineArg, "-o", logPath) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine("Error: Invalid Input. Verify syntax.")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine(System.Environment.NewLine)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Call outputSyntax()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' m_swLog = New IO.StreamWriter(IO.File.Open(logPath, IO.FileMode.Create))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Catch ex As Exception&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine(ex.Message)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' End Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'' Create geoprocessor (open toolbox)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'If GetArgValue(cmdLineArg, "-tbx", arctoolboxPath) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine("Error: Invalid Input. Verify syntax.")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine(System.Environment.NewLine)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Call outputSyntax()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' ' Add toolbox&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' pGeoProcessor.AddToolbox(arctoolboxPath)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' pGeoProcessor.OverwriteOutput = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Catch ex As Exception&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine("Error: The ArcToolbox was not found.")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' End Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;server = "GS005"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'m_swLog = New IO.StreamWriter(IO.File.Open("C:\logs\ParcelsImportLog_New.txt", IO.FileMode.Create))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pGeoProcessor.AddToolbox("C:\ArcGIS\Custom\ArcToolboxes\ImportParcels.tbx")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pGeoProcessor.AddToolbox("C:\Program Files\ArcGIS\Desktop10.0\ArcToolbox\Toolboxes\Data Management Tools.tbx")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pGeoProcessor.AddToolbox("C:\Program Files\ArcGIS\Desktop10.0\ArcToolbox\Toolboxes\Conversion Tools.tbx")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pGeoProcessor.OverwriteOutput = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' log starting time&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LogMessage("Starting application at " &amp;amp; Now)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Instantiate Object to hold model's parameters&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pParamArray As IVariantArray = New VarArrayClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Execute model&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'If RunModel("CreateStagingFeatureClass", pGeoProcessor, pParamArray) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' '' Execute model&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'If RunModel("LoadTarrantParcels", pGeoProcessor, pParamArray) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Execute model&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If RunModel("LoadDentonParcels", pGeoProcessor, pParamArray) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Execute model&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If RunModel("DentonJoin", pGeoProcessor, pParamArray) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Execute model&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If RunModel("CalculateDenton", pGeoProcessor, pParamArray) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Execute model&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If RunModel("DeleteTempFCs", pGeoProcessor, pParamArray) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Drop connections to parcels and parcels_View&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Call DropConnections(server)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Execute model&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If RunModel("DeleteCreateParcelsFC", pGeoProcessor, pParamArray) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pGeoProcessor.OverwriteOutput = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Execute model&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If RunModel("GrantPermissions", pGeoProcessor, pParamArray) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Checkin licenses&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;m_AOLicenseInitializer.ShutdownApplication()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Log finishing time&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LogMessage("Finished Application at " &amp;amp; Now)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Function&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Private Function GetArgValue(ByVal argArray() As String, ByVal opt As Char(), ByRef parameter As String)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Get parameter values&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For index As Integer = 0 To (argArray.Length - 1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Look for the given option&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If argArray(index).Contains(opt) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Check to make sure there is an additional element in the array&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If argArray.Length &amp;gt; (index + 1) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;parameter = argArray(index + 1).ToString&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' No additional element found after the option&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Exit For&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Catch ex As Exception&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Console.WriteLine(ex.Message)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Function&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Private Function RunModel(ByVal modelName As String, ByRef pGP As ESRI.ArcGIS.Geoprocessor.Geoprocessor, ByVal pParamArray As IVariantArray)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LogMessage("====================Executing " &amp;amp; modelName &amp;amp; " model====================")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Create object to store result messages&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pResult As IGeoProcessorResult&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Execute model and get message&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pResult = pGP.Execute(modelName, pParamArray, Nothing)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Get message&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Call ReturnMessages(pResult)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Make sure job succeded&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If pResult.Status = esriJobStatus.esriJobSucceeded Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LogMessage(modelName &amp;amp; " model failed.")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Catch ex As Exception&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LogMessage(ex.Message)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Function&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Public Sub ReturnMessages(ByVal messages As IGeoProcessorResult)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim index As Long&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim message As String&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' loop thru messges and save them to the log&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For index = 0 To messages.MessageCount - 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;message = messages.GetMessage(index)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LogMessage(message)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Module&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Running on ArcGIS 10 SP3, Visual Studio 2010, Windows XP Prof, SQL 2008 R2&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help would be SO appreciated! Thank you!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 02 Feb 2012 18:55:40 GMT</pubDate>
    <dc:creator>MichelleBoivin</dc:creator>
    <dc:date>2012-02-02T18:55:40Z</dc:date>
    <item>
      <title>.EXE fails when trying to Join Field via Model Builder</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/exe-fails-when-trying-to-join-field-via-model/m-p/613320#M16467</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am a novice in programming and am trying to clean up a previous employee's script. Since the migration to ArcGIS v10 our scripts have needed a bit of scrubbing due to the LITTLE nuances of v10 modifications.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Everything works up until "LoadDentonParcels". It is here that the model will not run. I have attempted to split up the models and take it to the point of the Join Field and it will run appropriately with the right outputs. When it gets to the Join Field, it initially bombed because of the naming limitations, so I then added a "Copy Rows" to a shorter named table. This runs in Model Builder but will not run when using Visual Studio 2010. I continue to receive the following error (very generic) - "A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in ESRI.ArcGIS.Geoprocessor.dll" I can't help but think that I am missing some library somewhere or there is a bug with some of the tools. As I previously mentioned, three of the previous models worked.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The following references have been added: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.ArcCatalog&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Geoprocessing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Geoprocessor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.System&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ESRI.ArcGIS.Version&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;GPMetadataFunctions (which was added after debugging a previous error)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;MetadataTranslator&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;System&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;System.Data&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the following code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports ESRI.ArcGIS.esriSystem&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports ESRI.ArcGIS.Geoprocessing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports System.Data.SqlClient&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports System.Net.Mail&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports System.Text&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports System&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Module modParcelsImport&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Private m_AOLicenseInitializer As LicenseInitializer = New ParcelsImport.LicenseInitializer()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#Region "Member Variables"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Private m_swLog As IO.StreamWriter&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#End Region&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;STAThread()&amp;gt; _&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Function Main(ByVal cmdLineArg() As String) As Integer&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'ESRI License Initializer generated code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If (Not m_AOLicenseInitializer.InitializeApplication(New esriLicenseProductCode() _&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{esriLicenseProductCode.esriLicenseProductCodeArcInfo}, _&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;New esriLicenseExtensionCode() {})) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LogMessage(m_AOLicenseInitializer.LicenseMessage())&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim server As String = Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim logPath As String = Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim arctoolboxPath As String = Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'Dim pGeoProcessor As IGeoProcessor = New GeoProcessor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pGeoProcessor As ESRI.ArcGIS.Geoprocessor.Geoprocessor = New ESRI.ArcGIS.Geoprocessor.Geoprocessor&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Console.WriteLine("Validating parameters...")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Verify it meets number of required parameters&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'If Not (cmdLineArg.Length = PARAMETER_NUMBER) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Call outputSyntax()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'' Validates server name&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'If GetArgValue(cmdLineArg, "-s", server) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine("Error: Invalid Input. Verify syntax.")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine(System.Environment.NewLine)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Call outputSyntax()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' If Not (server.ToUpper.StartsWith("GS")) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine("Error: Invalid Server Name.")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'' Create file to log results&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'If GetArgValue(cmdLineArg, "-o", logPath) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine("Error: Invalid Input. Verify syntax.")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine(System.Environment.NewLine)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Call outputSyntax()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' m_swLog = New IO.StreamWriter(IO.File.Open(logPath, IO.FileMode.Create))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Catch ex As Exception&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine(ex.Message)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' End Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'' Create geoprocessor (open toolbox)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'If GetArgValue(cmdLineArg, "-tbx", arctoolboxPath) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine("Error: Invalid Input. Verify syntax.")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine(System.Environment.NewLine)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Call outputSyntax()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' ' Add toolbox&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' pGeoProcessor.AddToolbox(arctoolboxPath)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' pGeoProcessor.OverwriteOutput = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Catch ex As Exception&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Console.WriteLine("Error: The ArcToolbox was not found.")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' End Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;server = "GS005"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'m_swLog = New IO.StreamWriter(IO.File.Open("C:\logs\ParcelsImportLog_New.txt", IO.FileMode.Create))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pGeoProcessor.AddToolbox("C:\ArcGIS\Custom\ArcToolboxes\ImportParcels.tbx")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pGeoProcessor.AddToolbox("C:\Program Files\ArcGIS\Desktop10.0\ArcToolbox\Toolboxes\Data Management Tools.tbx")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pGeoProcessor.AddToolbox("C:\Program Files\ArcGIS\Desktop10.0\ArcToolbox\Toolboxes\Conversion Tools.tbx")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pGeoProcessor.OverwriteOutput = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' log starting time&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LogMessage("Starting application at " &amp;amp; Now)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Instantiate Object to hold model's parameters&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pParamArray As IVariantArray = New VarArrayClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Execute model&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'If RunModel("CreateStagingFeatureClass", pGeoProcessor, pParamArray) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' '' Execute model&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'If RunModel("LoadTarrantParcels", pGeoProcessor, pParamArray) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Execute model&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If RunModel("LoadDentonParcels", pGeoProcessor, pParamArray) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Execute model&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If RunModel("DentonJoin", pGeoProcessor, pParamArray) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Execute model&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If RunModel("CalculateDenton", pGeoProcessor, pParamArray) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Execute model&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If RunModel("DeleteTempFCs", pGeoProcessor, pParamArray) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Drop connections to parcels and parcels_View&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Call DropConnections(server)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Execute model&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If RunModel("DeleteCreateParcelsFC", pGeoProcessor, pParamArray) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pGeoProcessor.OverwriteOutput = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Execute model&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If RunModel("GrantPermissions", pGeoProcessor, pParamArray) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Checkin licenses&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;m_AOLicenseInitializer.ShutdownApplication()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Log finishing time&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LogMessage("Finished Application at " &amp;amp; Now)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Function&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Private Function GetArgValue(ByVal argArray() As String, ByVal opt As Char(), ByRef parameter As String)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Get parameter values&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For index As Integer = 0 To (argArray.Length - 1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Look for the given option&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If argArray(index).Contains(opt) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' Check to make sure there is an additional element in the array&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If argArray.Length &amp;gt; (index + 1) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;parameter = argArray(index + 1).ToString&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;' No additional element found after the option&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Exit For&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Catch ex As Exception&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Console.WriteLine(ex.Message)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Function&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Private Function RunModel(ByVal modelName As String, ByRef pGP As ESRI.ArcGIS.Geoprocessor.Geoprocessor, ByVal pParamArray As IVariantArray)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LogMessage("====================Executing " &amp;amp; modelName &amp;amp; " model====================")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Create object to store result messages&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pResult As IGeoProcessorResult&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Execute model and get message&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pResult = pGP.Execute(modelName, pParamArray, Nothing)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Get message&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Call ReturnMessages(pResult)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' Make sure job succeded&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If pResult.Status = esriJobStatus.esriJobSucceeded Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LogMessage(modelName &amp;amp; " model failed.")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Catch ex As Exception&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LogMessage(ex.Message)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Return 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Function&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Public Sub ReturnMessages(ByVal messages As IGeoProcessorResult)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim index As Long&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim message As String&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;' loop thru messges and save them to the log&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For index = 0 To messages.MessageCount - 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;message = messages.GetMessage(index)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LogMessage(message)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Module&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Running on ArcGIS 10 SP3, Visual Studio 2010, Windows XP Prof, SQL 2008 R2&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help would be SO appreciated! Thank you!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Feb 2012 18:55:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/exe-fails-when-trying-to-join-field-via-model/m-p/613320#M16467</guid>
      <dc:creator>MichelleBoivin</dc:creator>
      <dc:date>2012-02-02T18:55:40Z</dc:date>
    </item>
    <item>
      <title>Re: .EXE fails when trying to Join Field via Model Builder</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/exe-fails-when-trying-to-join-field-via-model/m-p/613321#M16468</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Original User: mbalxnder&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In response to my own post and to let everyone know, there are some defects in 10.0 and 10.1 with respect to a break with the GeoProcessor when running certain processes programtically, especially when it comes to using any models.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A response from ESRI:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;"Michelle,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I believe this to be a defect. I have attempted many different avenues to try and solve this issue. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I will be submitting a defect shortly. I do believe this to be an issue at 10.1 as well. I am submitting this in hopes that it can still be remedied.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Jamie P."&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Since this response he and I have been working on a small subsection of my code for them to test and debug within the development group. If anyone is in need of the situation or status, the Incident # is 1004220. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This is also in relation to the following post &lt;/SPAN&gt;&lt;A href="http://forums.arcgis.com/threads/49541-How-to-create-a-relationship-class-in-VS2010?p=170432#post170432"&gt;http://forums.arcgis.com/threads/49541-How-to-create-a-relationship-class-in-VS2010?p=170432#post170432&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Mar 2012 15:46:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/exe-fails-when-trying-to-join-field-via-model/m-p/613321#M16468</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2012-03-27T15:46:25Z</dc:date>
    </item>
  </channel>
</rss>

