Como usar una dll desarrollada en VS2010 en VB6

Necesito crear una dll en VB .Net con Visual Studio 2010 para que se puede usar en otra solución en desarrollada en VB6. Estoy usando Microsoft Visual Studio 2010 en una máquina W7 x64 con Framewor 4.5 instalado. En este caso el proyecto se desarrollará con el Framewor 4.0.

1-Crear un nuevo proyecto como biblioteca de clases. (Archivo/Nuevo/Proyecto/Biblioteca de Clases)

2-Marcar la opción Crear ensamblado visible a través de COM. (Proyecto/Propiedades del Proyecto/Aplicación/Información del ensamblado…/Crear ensamblado visible a través de COM)

3-Se programa la clase, cómo se desee. Un ejemplo para C# o VB.Net se puede ver en el siguiente enlace.

4-Se ha de generar el Strong Name de nuestra librería. Se ha de utilizar la aplicación sn.exe. La aplicación  se encuentra para este caso en: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools

sn -k dllMy.snk

5-Añadir la firma que se acaba de generar al proyecto que se está programando. Para ello se marca primero la opción de Firmar el ensamblado. (Proyecto/Propiedades del Proyecto/Firma/Firmar el ensamblado) Después se añade el fichero .snk que se acaba de generar en Proyecto/Propiedades del Proyecto/Firma/Elegir un archivo de clave de nombre seguro.

6-Se genera el fichero dll.

7-Agregar la librería al GAC usando la aplicación gacutil. La aplicación para este ejemplo está en la ubicación: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools

gacutil /i dllMy.dll

8-Se realiza el registro de la librería para poder verla y usarla en nuestras aplicaciones con la siguiente usando regasm. La aplicación encuentra en para este caso en: C:\Windows\Microsoft.NET\Framework\v4.0.30319

regasm /tlb:dllMy.tlb dllMy.dll

9-Ya en Microsoft Visual Studio 6 se añade la Referencia al fichero tlb.

Me gustaría también comentar un par de cosas por si hay errores o se han hecho cambios en el fichero dll.

1-Si se desea desregistrar la librería hay que ejecutar:

regasm /u /tlb:dllMy.tlb dllMy.dll

2-Para eliminar la librería del GAC:

gacutil /u dllMy.dll

Fuentes para este artículo:

http://www.elguille.info/colabora/puntoNET/gflores_UsaNETenVB6.htm

http://www.geeksengine.com/article/register-dll.html

https://support.microsoft.com/es-es/kb/897297

 

Anuncios

Suministrar permisos a un usuario para Iniciar / Parar un Servicio en Windows Server 2008 R2

Un usuario normal no puede parar o iniciar manualmente un servicio en Windows Server 2008 R2. Para ello se utiliza la herramienta subinacl.exe. No está instalada en el sistema operativo así que hay que descargarla desde aquí:

http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=23510

El enlace informa que la herramienta es compatible con Windows Server 2003, pero os confirmo que funciona perfectamente en Windows Server 2008 R2. Para suministrar permiso a un usuario para ejecutar un servicio hay que ejecutar la siguiente orden:

subinacl /service SERVICE_NAME /grant=COMPUTER_NAME\USERNAME=TOP

Os dejo aquí los enlaces desde los que me han servido de ayuda:

http://es.freqly.com/question/1301/c%C3%B3mo-dar-permiso-a-un-usuario-para-iniciar-un-servicio-de-windows
http://serverfault.com/a/305453/11006

PPTP VPN Raspberry

Estaba buscando la forma de crear una VPN usando mi Raspberry Pi. Quería acceder a los equipos de mi red local y sacar mi tráfico por ella cuando utilice una WiFi abierta. Probé diversas soluciones hasta que encontré el siguiente enlace:

http://unvexed.blogspot.com.es/2012/08/how-to-set-up-real-encrypted-vpn.html

Es muy simple de seguir y en poco tiempo tiempo tienes tu PPTP VPN lista y funcionando. Sólo quiero comentar una pequeña variación que realicé al tutorial. En el paso 6, después de realizar la instrucción nano /etc/resolv.conf obtuve la siguiente salida:

nameserver = 80.58.61.250
nameserver = 80.58.61.254

En el paso 7, tanto en ms-wins como en ms-dns, en lugar de colocar esos valores, como indica el tutorial, escribí como DNS primario la dirección IP local de mi router, p.e. 192.168.0.1, y como DNS secundario uno de los anteriores. Dejando una salida tal que así:

ms-dns = 192.168.0.1
ms-dns = 80.58.61.250

ms-wins = 192.168.0.1
ms-wins = 80.58.61.250

Un saludo y espero que os sirva de ayuda.

Instalar Visual Basic 6 Enterprise Edition en Windows 7 x64

He tenido que instalar, por mantenimiento de aplicaciones en vb6, Visual Basic 6 Enterprise Edition en Windows 7 x64. Después de varias pruebas y consultas voy a narrar lo que a mí me ha funcionado.

He usado el siguiente enlace para instalar la aplicación (http://magomez4269.wordpress.com/2012/01/14/como-instalar-visual-basic-6-en-un-so-de-64-bits-y-no-morir-en-el-intento/)

Una vez instalado, cada vez que intentaba abrir un proyecto existente obtenía el siguiente error “La biblioteca de objetos no está registrada.”. Para solucionar este problema he seguido las instrucciones de este enlace (http://www.gxopen.com/forumsr/servlet/viewthread?ARTECH,4,188460). Simplemente abrir una consola como administrador y ejecutar la siguiente instrucción:

C:\Windows\SysWOW64>regtlib msdatsrc.tlb

Instalar OMXPlayer con GUI gracias tboplayer en Raspberry Pi

Si quereis ver videos directamente en vuestra Raspberry Pi la mejor opción es instalar OMXPlayer. Es un reproductor de vídeos en línea de comandos. Si os sentís más comodos con una interfaz gráfica debereis usar tboplayer. En este post voy a explicar y enlazar como realizarlo.

  1. Instalar OMXPlayer tal como indica la página del desarrollador. (http://omxplayer.sconde.net/).
  2. Instalar tboplayer tal y como indica este enlace https://github.com/KenT2/tboplayer. Si tenéis problemas al ejecutar tboplayer.py y es porque no estáis en el directorio. Entrar en /home/pi/tboplayer y ejecutarlo, veréis como no hay problema.
  3. Si quereis tener un acceso directo en el escritorio hay que crear un soft link (Acceso directo) en el escritorio hay que ejecutar un comando tal que así: ln -s /home/pi/KenT2-tboplayer-522a7d6/tboplayer.py /home/pi/Desktop/tboplayer
  4. Si se presiona el acceso directo y no se habre la GUI es porque hay que hacer tboplayer.py ejecutable. Para ello iremos donde tengamos el fichero almacenado (p.e /home/pi/tboplayer). Presionaremos sobre él con el botón derecho y seleccionaremos Propiedades. Hemos de marcar la opción de “Hacer el fichero ejecutable”.

TightVNC al inicio en Raspberry Pi

He instalado TightVNC en mi Raspberry Pi pero no conseguía que se ejecutará al inicio y sin iniciar sesión. Después de buscar soluciones y probarlas, he seguido las instruccions que se dan en el enlace http://www.geekopasion.es/2013/03/09/configurando-tightvnc-para-que-se-ejecute-al-iniciar-raspberry-pi/ y todo ha funcionado de forma satisfactoria.