Error de di api en pc cliente

Buen dia a todos,

Desarrollé una pequeña integración con SAP B1, pero al momento de probar el aplicativo en ciertos equipos muestra error en la linea donde instancio la clase Company() Este es el error:

Consulte el final de este mensaje para obtener más detalles sobre cómo invocar a la depuración 
Just-In-Time (JIT) en lugar de a este cuadro de diálogo.

************** Texto de la excepción **************
System.TypeInitializationException: Se produjo una excepción en el inicializador de tipo de 'AccesoDatos.ConexionGral'. ---> System.Runtime.InteropServices.COMException: No se pudo recuperar el generador de clases COM para el componente con CLSID {632F4591-AA62-4219-8FB6-22BCF5F60090} debido al siguiente error: 80040154 Clase no registrada (Excepción de HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
   en System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
   en System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
   en System.Activator.CreateInstance(Type type, Boolean nonPublic)
   en System.Activator.CreateInstance(Type type)
   en AccesoDatos.ConexionGral..cctor() en C:\Users\Ilum\OneDrive - Alimentos El Sabor\DESARROLLOS\SISAP DEV\SISAP\AccesoDatos\ConexionGral.vb:línea 8
   --- Fin del seguimiento de la pila de la excepción interna ---
   en SISAP.FrmLogin.FrmLogin_Load(Object sender, EventArgs e) en C:\Users\Ilum\OneDrive - Alimentos El Sabor\DESARROLLOS\SISAP DEV\SISAP\SISAP\Principales\Login.vb:línea 8
   en System.EventHandler.Invoke(Object sender, EventArgs e)
   en System.Windows.Forms.Form.OnLoad(EventArgs e)
   en System.Windows.Forms.Form.OnCreateControl()
   en System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   en System.Windows.Forms.Control.CreateControl()
   en System.Windows.Forms.Control.WmShowWindow(Message& m)
   en System.Windows.Forms.Control.WndProc(Message& m)
   en System.Windows.Forms.Form.WmShowWindow(Message& m)
   en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Ensamblados cargados **************
mscorlib
    Versión del ensamblado: 4.0.0.0
    Versión Win32: 4.8.4340.0 built by: NET48REL1LAST_C
    Código base: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
SISAP
    Versión del ensamblado: 1.0.0.0
    Versión Win32: 1.0.0.0
    Código base: file:///C:/SISAP/SISAP.exe
----------------------------------------
Microsoft.VisualBasic
    Versión del ensamblado: 10.0.0.0
    Versión Win32: 14.8.4084.0 built by: NET48REL1
    Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Versión del ensamblado: 4.0.0.0
    Versión Win32: 4.8.4300.0 built by: NET48REL1LAST_C
    Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
    Versión del ensamblado: 4.0.0.0
    Versión Win32: 4.8.4340.0 built by: NET48REL1LAST_C
    Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
    Versión del ensamblado: 4.0.0.0
    Versión Win32: 4.8.4340.0 built by: NET48REL1LAST_C
    Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Versión del ensamblado: 4.0.0.0
    Versión Win32: 4.8.4084.0 built by: NET48REL1
    Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Versión del ensamblado: 4.0.0.0
    Versión Win32: 4.8.4190.0 built by: NET48REL1LAST_B
    Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Versión del ensamblado: 4.0.0.0
    Versión Win32: 4.8.4084.0 built by: NET48REL1
    Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Runtime.Remoting
    Versión del ensamblado: 4.0.0.0
    Versión Win32: 4.8.4084.0 built by: NET48REL1
    Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
AccesoDatos
    Versión del ensamblado: 1.0.0.0
    Versión Win32: 1.0.0.0
    Código base: file:///C:/SISAP/AccesoDatos.DLL
----------------------------------------
System.Data
    Versión del ensamblado: 4.0.0.0
    Versión Win32: 4.8.4270.0 built by: NET48REL1LAST_C
    Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
mscorlib.resources
    Versión del ensamblado: 4.0.0.0
    Versión Win32: 4.8.4084.0 built by: NET48REL1
    Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_es_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Windows.Forms.resources
    Versión del ensamblado: 4.0.0.0
    Versión Win32: 4.8.4084.0 built by: NET48REL1
    Código base: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_es_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** Depuración JIT **************
Para habilitar la depuración Just In Time (JIT), el archivo de configuración de esta
aplicación o equipo (machine.config) debe tener el
valor jitDebugging establecido en la sección system.windows.forms.
La aplicación también se debe compilar con la depuración
habilitada

Por ejemplo:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

Cuando esté habilitada la depuración JIT, cualquier excepción no controlada
se enviará al depurador JIT registrado en el equipo
en lugar de controlarlo mediante el cuadro de diálogo.



Allí indica que existe error en la linea 8 , este es mi modulo.

image

En el equipo cliente ya está instalado en DIAPI de 32 y 64 bits, el proyecto que desarrollé está en 64 bits.

¿Qué podría ser el error?

Hola prueba con

public WithEvents Empresa as Company = new Company

Lo intenté, pero no funcionó, incluso hice otro proyecto desde cero, con AnyCpu muestra error
-119 Database server type not supported
Y usando solo X64, es el mensaje de error que puse al inicio. Ya no se que podria ser.

Asi tengo

    Public Empresa As New Company

 Public Function ConectarDiApi(ByRef _CodigoError As Integer, ByRef _DescripcionError As String) As Boolean
        Try
            Empresa.Server = "SERVERSAPBO"
            Empresa.DbServerType = BoDataServerTypes.dst_MSSQL2012
            Empresa.UseTrusted = False
            Empresa.DbUserName = "sa"
            Empresa.DbPassword = "SAPB1Admin@@"
            Empresa.CompanyDB = "PRUEBAS_09092021"
            Empresa.LicenseServer = "SERVERSAPBO:30000"

            Empresa.UserName = UsuarioGeneral
            Empresa.Password = ContraseñaGeneral

            Conexion = Empresa.Connect()
            _CodigoError = Empresa.GetLastErrorCode()
            _DescripcionError = Empresa.GetLastErrorDescription()

            If Conexion = 0 Then
                DesconectarDiApi()
                Return True
            Else
                DesconectarDiApi()
                Return False
            End If
        Catch ex As Exception
            DesconectarDiApi()
            MsgBox(ex.Message, vbCritical, _SISAP)
            Return False
        End Try
    End Function

Instala ambas versiones de la DI API (32 y 64), ya me ha pasado antes ese error.

Atte.

Valida lo siguiente:

1.- Que plataforma usas 32 o 64 bits, DEPENDIENDO de esto debes tener instalado la DI API correspondiente.
2.- No uses AnyCPU, te recomiendo usar lade tu arquitectura instalada 32 o 64 BITS
3.- Ejecuta SAP y VS en modo administrador.

Saludos

Hola, debes registrar la dll con el Servidor de Registro regsvr con el siguiente comando en una consola cmd con privilegios de administrador:

regsvr32 <ruta de la dll>

Para su caso, si la solución está compilada como x64 y la versión de SAP es 9.x debiese ser algo así:

%systemroot%\SysWoW64\regsvr32 "C:\Program Files\SAP\SAP Business One DI API\DI API 90\SAPbobsCOM90.dll"

Si la versión es SAP 10.x, entonces:

%systemroot%\SysWoW64\regsvr32 "C:\Program Files\SAP\SAP Business One DI API\DI API 100\SAPbobsCOM100.dll"

El error de -119 es referente al SQL. Intenta instalar el Native Cliente de tu versión de SQL que tienes instalado en el servidor de SAP.

Saludos.

Este tema se cerró automáticamente 30 días después de la última publicación. No se permiten nuevas respuestas.