Hola. Creo que el problema es que no esta registrada. ¿Como la registras en la otra maquina?. Yo use
Regasm.exe y funciono bien (Innosetup tambien lo usa para estas tareas); mediante programación, con .NET, puedes usar la clase
RegistrationServices.
Lo unico que creo que puede ser diferente es que yo NO cree un ensamblado en el que se exponia alguna cosa a COM-> Yo cree una libreria cuya unica finalidad era usarse con COM y para ello primero defini la interfaz y despues cree su implementacion ("CoClass", como en delphi o C++), por ejemplo:
Código:
namespace COMe
{
[Guid("........El que sea.........")]
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface IPatatin
{
[DispId(1)]
int a { get; set; }
[DispId(2)]
int b { get; set; }
[DispId(3)]
int c { get; set; }
[DispId(4)]
int d ()
}
//
// IMPLEMENTACION
//
[Guid("........El que sea.........")]
[ClassInterface(ClassInterfaceType.None)]
[ProgId("COMe.Patatin.1")]
public class Patatan: IPatatin
{
public int a { get; set; }
public int b { get; set; }
public int c { get; set; }
public int d()
{
throw new NotImplementedException();
}
}
}