Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





como instalo esta dll en visual basic?

Iniciado por mistervb, 22 de Marzo de 2007, 09:28:27 PM

« anterior - próximo »

mistervb

Yo hice un juego y necesito usar da dll dxlib32 por la función del teclado (dx_Input).
Cómo hago para instalarla desde visual Basic sin usar un instalador aparte?
ivita mi foro de visual basic
http://visualbasic6.30.forumer.com

mistervb

ivita mi foro de visual basic
http://visualbasic6.30.forumer.com

mistervb

ivita mi foro de visual basic
http://visualbasic6.30.forumer.com

[EX3]

Sobre registrar la libreria manualmente tendras que hacerlo mediante la utilidad que viene o por linea de comandos usando REGSVR32.EXE que es un comando del sistema:

REGSVR32 C:\Windows\System32\dx_lib32.dll

Lo suyo es instalarlo mediante un instalador junto al juego. No es nada recomendable registrarla desde el programa por varias razones:
1. No siempre se podra realizar el registro de la Dll ActiveX si el programa que la usa esta en ejecucion.
2. Si el programa se ejecutara en una sesion de usuario no podrias realizar registro alguno ya que una cuenta de usuario no tiene privilegios suficientes.

Sobre si es necesario poner la dll en el directorio sistema, no, pero si es recomendable si varios programas van a usar la dll, ya sean tus juegos o el de los demas si los fueras a usar, dado que no se pueden registrar dos versiones de un componente ActiveX en la misma maquina, por eso es recomendable instalarlo en el directorio sistema.

Salu2...

P.D.: No escribas varios mensajes para una misma duda (todo referente a la instalacion de la dll). Tienes un boton de edicion en cada mensaje que escribas para poder realizar edicion, añadir o eliminar contenido del mensaje.
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

mistervb

[EX3], puse el código que me dijiste pero me da error, tengo que agregar algo más?
ivita mi foro de visual basic
http://visualbasic6.30.forumer.com

[EX3]

Por casualidad no habras intentado ejecutar eso en el editor de Visual Basic, verdad?

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

mistervb

Cita de: "[EX3"]Por casualidad no habras intentado ejecutar eso en el editor de Visual Basic, verdad?

Salu2...

Primero generé el ejecutable, después copie la dll a sistem32 y después lo ejecuté.
ivita mi foro de visual basic
http://visualbasic6.30.forumer.com

[EX3]

Me refieria a que ese codigo lo tienes que ejecutar desde linea de comandos o desde el comando Ejecutar del menu incio, no desde Visual Basic.

Exactamente que error te da?

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

mistervb

Si lo pongo así me da error de sintaxis, si le agrego "" a la dirección, me procedimiento o función no definido, si lo hago con shelexecute no da error pero no me lo hace.
¿Cómo lo hago desde visual Basic?
ivita mi foro de visual basic
http://visualbasic6.30.forumer.com

[EX3]

A ver que te veo un poco perdido en esto, REGSVR32.EXE no es un comando de Visual Basic si no de Windows y se ejecuta por linea de comandos no desde codigo de Visual Basic. Si quieres registrar la libreria manualmente tendras que hacerlo desde la consola de MS-DOS o desde el comando Ejecutar del menu inicio.

Si no esta registrada la libreria ni si quiera podras ejecutar tu programa. Por eso es recomendable hacer el registro de la libreria mediante un instalador a la hora de instalar el juego en cualquier maquina.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

mistervb

¿Cómo se puede abrir un archivo con un programa espesificado en visual basic?
Haciendo eso se puede instalar la dll.





Instalada


ivita mi foro de visual basic
http://visualbasic6.30.forumer.com

[EX3]

1. Para hacer instalaciones manuales, para pruebas o desarrollo, dx_lib32 ya incorpora su propia herramienta de registro. Tu me diras si es mas facil andar jugando con la linea de comandos o con el comando Abrir con... y buscar el comando de registro o usar un ejecutable que ya viene preparado para ello en un par de clicks de raton. En serio, son ganas de complicarse la vida.

2. Dll's y componentes comunes, y sobre todo si son ActiveX, deben ir en el directorio sistema. Hacer instalaciones de componentes ActiveX fuera del directorio sistema con el tiempo acaba provocando conflictos entre programas y sobre todo si hablamos de versiones distintas.

3. Lo mas importante, si tienes intencion de que mas gente use tu juego tendras que empaquetarlo en un instalador que se encargue por un lado de copiar los archivos de tu juego al directorio que designe el usuario y copie e instale la libreria en el sistema. No pretenderas que la gente tenga que registrar manualmente la libreria, verdad?

4. Tu veras lo que haces pero esa no es la forma correcta de trabajar con componentes ActiveX y yo no me molesto en resolver problemas de instalaciones incorrectas de dx_lib32 cuando no se sigue ni los consejos ni soluciones que propongo.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

mistervb

ivita mi foro de visual basic
http://visualbasic6.30.forumer.com

[EX3]

CitarEste es un instalador de una dll llamada dx_lib32, este instalador usa un ejecutable llamado regsvr32.exe y funciona de la siguiente manera:


Primero asocio los dll con regsvr32.exe, después ejecuto el dll (asociado) y se instala.


Esta dll puede ser instalada dentro del programa que la utiliza.



Advertencia, no abran el dll con el explorador de Windows poniendo abrir como y después marcando la opción "Abrir siempre con este programa"
Bien, veo que hablo para las paredes. El que quiera hacer experimentos raros haya el, pero como autor de la libreria no recomiendo en absoluto realizar registros en el directorio local de la aplicacion.

Lo dicho, luego no me venga ni cristo con problemas de que no se pueden hacer referencias a la dll o que el programa dejo de funcionar o que no pudieron instalar la dll correctamente por que no me molesto en responder la duda.

Doy por zanjado el tema.
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.