Pregunta

Tengo una aplicación VB6 que anteriormente funcionaba perfectamente en una máquina de Vista como una tarea programada , pero ya no se abrirá en la misma máquina. La aplicación genera archivos de exportación en una carpeta específica sin salida directa en la pantalla. No obtengo errores, no faltan referencias, simplemente nada .

La máquina ejecuta Vista Business de 32 bits, UAC está deshabilitado con una sola cuenta de administrador y las actualizaciones automáticas están desactivadas. La aplicación reside en una carpeta no protegida y los archivos de exportación se colocan en una carpeta del escritorio. El cliente confía en que el único cambio que hicieron en esa computadora desde que instalé esta aplicación fue la instalación de Norton Antivirus, que nunca ha causado problemas con nuestro software.

Además de las referencias normales de VB6, la aplicación hace referencia a Microsoft Scripting Runtime (scrrun.dll) y Microsoft DAO 3.6 (dao360.dll). Ambos archivos están presentes y registrados en la máquina de destino, junto con todas las demás dependencias de VB6. Agregué las declaraciones de MsgBox al comienzo de Sub Main () solo para ver si algo se está ejecutando, y no. La desactivación de Norton no produjo resultados, ni la reinstalación del tiempo de ejecución de VB6 para descartar bibliotecas dañadas. No una vez recibí ningún mensaje, error o no de mi aplicación.

Nunca he tenido un problema como este antes y estoy completamente perplejo. ¿Hay algo más que pueda estar causando esto?

Editar: la aplicación no se ejecuta incluso cuando la ejecuto manualmente, por lo que la parte de que sea una tarea programada es irrelevante para mi problema, perdón por incluirla.

El usuario tiene credenciales de administrador completas, no se necesitó ningún modo de compatibilidad en la prueba inicial que, en ese momento, se realizó en esta misma máquina en la que tengo el problema. Para las sonrisas probé el modo de compatibilidad para XP y 2000, todavía nada.

¿Fue útil?

Solución

Intente inspeccionar, si puede acceder a ellos, los mensajes del Visor de eventos. Tal vez encuentre algunas señales de tell-tell ahí ...

Otros consejos

Puede intentar ejecutar el programa en Windbg , una versión gratuita depurador independiente de Microsoft. Compile su VB6 EXE en código nativo con símbolos (cree archivos PDB) y podrá depurar su aplicación en Windbg.

Supongo que sucederá una de dos cosas.

  • Windbg no podrá cargar el EXE. Presumiblemente con un mensaje de error que identificará su problema.
  • Windbg cargará el EXE, y puedes realizar un solo paso para ver qué sucede.

Aquí hay una publicación de blog de 2006 por Microsoft está a punto de usar Windbg con VB6, y 2004 blog post por otro tipo de Microsoft VB con una breve introducción a Windbg.

¿Ha cambiado el usuario su contraseña? Eso hará que la tarea programada falle hasta que vuelvan a ingresar la contraseña en la tarea.

¿Ha intentado ejecutar el proceso directamente, en lugar de como una tarea programada? Estoy lejos de ser un experto, pero es posible que los errores que se generan no aparezcan porque el programa se ejecuta como una tarea.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top