Sobre el Molebox (compilador/compresor)

Iniciado por Dracomega, 28 Mayo 2010, 10:57 AM

0 Miembros y 2 Visitantes están viendo este tema.

Dracomega

Buenas! No se si va aqui el tema... Si no moverlo..

La cosa es que tengo el Molebox, que para quien no lo conozca es un programa que comprime en un solamente ejecutable, librerias, imagenes etc etc...

Por supuesto no funciona para todos los programas, pero para que yo lo quiero me basta.

El problema es, cuando el programa comprimido genera un archivo, que no puede introducirlo dentro, ya que eso solo lo puede hacer el molebox... y segun lo que he visto, el archivo me lo crea en Mis documentos/data

Para el uso que le doy esta bien eso... ya que cada usuario tendria sus archivos... pero claro, me gustaria que la carpeta no se llamara Data, por que si tengo otro progama que tambien lo mete ahi, se mezclaria todo...

Por lo que he mirado en el Molebox, en entorno grafico no viene ninguna opcion para cambiarlo... en entorno consola no se...

http://www.taringa.net/posts/downloads/4402803/MoleBox-Portable.html

Aqui esta en programa..

¿Alguna forma de hacerlo?

Gracias de antemano! ^^

EDIT: He intentado hacer varios patch, con archivos que no necesitan modificarse y otro con los que si, separando el ejecutable... Pero nada no hay forma, siempre va a "mis documentos/data" ni siquiera mira si hay algo dentro de el mismo...

Ya me estoy desesperando T_T

Por cierto, se me olvido decir el uso: Es para un juego creado con rpg maker, y los archivos que se van a Mis documentos/data son las partidas guardadas, es decir Save01.lsd... etc

EDIT2: Descubri, que la carpeta que crea dependera de donde este el path del juego, es decir, si esta en una carpeta data, creara una en mis documentos\data

Dracomega

Perdon por el doble post... T_T Es que me corria un poco de prisa.. :-\.

¿Nadie sabe como se podria hacer? :huh:

karmany

La verdad que el Molebox es un excelente programa, pero parece ser que ha tenido algún problemilla con VIsta y W7. Yo tuve algunos (verifica esto con tu juego).

Sobre el tema que comentas, es posible que esa carpeta no la cree molebox, sino el juego...¿? ¿En esa carpeta que hay? No entiendo mu bien lo que quieres decir: "El problema es, cuando el programa comprimido genera un archivo, que no puede introducirlo dentro, ya que eso solo lo puede hacer el molebox"

A mi me parece que insertas la base de datos de los juegos dentro de molebox y cuando se intenta actualizar pues no puede hacerlo. Yo no los pondría dentro(si es este el problema) y verificaría la ruta desde juego.

Dracomega

El juego siempre crea las partidas dentro de su directorio, asi que no creo que sea el mismo juego el que te los cree en mis documentos\data.

La cosa es que las partidas no las pongo a dentro, pero como he dicho el juego comprimido en Molebox no intenta arrancar las partidas dentro del dirrectorio sino en la carpeta data, por lo que deduzco que es el molebox el que modifica el ejecutable...

Y segun lo que dices, si tiene problemas con vista y seven, seria una pua que te intentara crear la carpeta data, y lo tenga como el xp... ya que Documents and setting no existe en vista y en seven...

Un saludo

karmany

En consola tampoco he visto la opción...

De todos modos me parece algo raro ya que la ruta mis documentos\data no es una ruta común de molebox. Por eso yo sigo pensando que se trata del juego.

Yo haría pruebas; usa molebox solamente con el exe del juego, no lo comprimas ni lo encriptes para hacer pruebas. Verifica también si el juego (antes de comprimir con molebox) tiene alguna opción de ruta para guardar los save.lsd. Mira a ver si el juego tiene algún archivo ini o similar, ya que si se extrae en otro directorio es posible que pueda modificar el patch del juego...
Incluye sólo archivos ocx dll etc.. en un primer momento, no incluyas otros tipos de archivo...

LSL

abre una ventana de simbolo de sistema (MSDOS), y con el comando SET, mira si te sale la carpeta de "\Mis Documentos\Data", en alguna configuración de variables de entorno.
Saludos.

LSL.

Dracomega

Muchas gracias por sus respuestas ^^

A ver he descubierto algo, primero LSL no tengo ninguna variable de entorno si quiera apuntando a mis documentos (Hallada el D:\documentos).

Y la carpeta que crea en mis documentos, depende del nombre que tenga la carpeta donde va el proyecto comprimido.

Es decir, si juego.exe esta en una carpeta llamada Data, creara otra carpeta en mis documentos llamada data, y si esta en prueba, la llamara prueba.

Si solo paso por molebox el ejecutable, esto no lo tiene en cuenta.

Mañana ire probando a dejar diferentes archivos (Como base de datos, arbol de mapas, ini...) fuera del pack, a ver cual es el responsable... Y a ver si podias ayudarme, ya que me gustaria no dejar ninguno fuera sin proteccion.

Un saludo, y gracias de nuevo ^^

Dracomega

Explico un poco como funciona el juego antes de arrancar, he encontrado una solucion alternativa

1º Batch que genera ruta donde estan unos ficheros web; detecta si existe una partida completada y arranca un arrancador grafico

2º  Arrancador grafico en VB6, tiene un pequeño navegador y unas opciones para selecionar entre varios juegos, arranca otro script en batch enviando distintos parametros

3º Segun los parametros enviados, mueve los ficheros de la carpeta data a una nueva creada y manda un ejecutable. Finalmente arranca el ejecutable, que carga el path del molebox donde esta el juego.
Cuando termina el juego, vuelve los ficheros a donde estaban, y borra los archivos temporales.

Lo he hecho casi todo por batch, debido a mis escasos conocimientos de programacion... xD

Ahora lo unico que me quedaria, es hacer una variable de entorno con la ruta de "mis documentos" para detectar si hay una partida completada.

Nota: Lo de detectar la partida completada, lo hago con el comando FIND, buscando un nombre en concreto de un charset que se usa cuando el juego termina, con este unico fin xDDDD


LSL

#8
Cita de: Dracomega en  5 Junio 2010, 16:08 PMAhora lo unico que me quedaria, es hacer una variable de entorno con la ruta de "mis documentos" para detectar si hay una partida completada.

en "Mi PC", propiedades del sistema, Opciones avanzadas, "Variables de entorno", Variables de usuario, pulsar en Nueva, le das un "nombre" sin espacios blancos y le indicas el path ó el valor de la variable.

Luego para hacer referencia a ella en un archivo batch, escribes la variable entre los simbolos %,
ejemplo %juego%

Saludos.

LSL.

Dracomega

#9
Ya, el problema es que tiene que funcionar en todos los ordenadores :S

Lo que he visto por google, es un pequeño codigo en python que lo sacaba del registro de windows, lo que no se es si funcionara tambien en windows vista y seven...

Código (python) [Seleccionar]
import  _winreg
from _winreg import *
aReg = ConnectRegistry(None,HKEY_CURRENT_USER)
aKey = OpenKey(aReg, r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders")
t=QueryValueEx(aKey,"Personal")
print (t[-2])
CloseKey(aKey)
CloseKey(aReg)


¿Alguna otra opcion mas sencilla?

Un saludo ^^