problemas con ms dos ayuda

Iniciado por chino_r, 10 Marzo 2014, 05:49 AM

0 Miembros y 1 Visitante están viendo este tema.

chino_r

buenos dias lectores:
estaba viendo los comandos de windows 7 ya que es el que tengo y cuando pongo en cmd, o sea.... c:\users\administrador>
cuando agrego "DRIVERQUERY" me responde de esta manera:

driverquery.exe - no se encuentra el punto de entrada

no se encuentra el punto de entrada del procedimiento,
?GetMemLogObject@@YGAVCMemoryLog@XZ en la biblioteca de vinculos dinamicos wbemcomn.dll

y seguido a aparece otro cartel similar diciendo:

no se encuentra el punto de entrada del procedimiento
??1CStaticCcritSec@QAE@XZ en la biblioteca de vinculos dinamicos wbemcomn.dll

porque aparece? que funcion cumple? y que problemas acarrea? y sobre todo como lo soluciono?
tambien vale decir que hace un tiempo borre una carpeta que decia inminent y despues en los juegos me saltaba un problema con netframework no se si tendra algo que ver pero por las dudas para aclarar para el que esta leyendo espero sus sabios comentarios gracias....










Eleкtro

#1
Hola

El problema se explica por si mismo, te está advirtiendo de que no se encuentra el punto de entrada (EntryPoint) del método a llamar en el ensamblado, o en otras palabras, que la dll "wbemcomn.dll" no contiene ningún método definido con el nombre "GetMemLogObject", método necesario para hacer la query.

¿Posibles causas del error?:

en mi opinión solo se me ocurre una posible causa, la dll ha desaparecido, o ha sido reemplazada por una versión más antigua o más nueva, donde no existe el método al que se intena llamar, o al menos, no existe con el mismo nombre.


Ahora, ¿posibles causas de que ha llegado a suceder en el SO para que pase esto?:

Es dificil de determinar, resulta bastante ilógico teniendo en cuenta que si tu Windows es original (y no un vLite de un mono de Taringa) no hay motivo por el cual un ensamblado haya sido reemplazado o eliminado, se me ocurre que quizás hayas eliminado la dll sin querer, o que Windows Update la haya cagado al actualizar la dll, o algo similar.


¿Como resolver el problema?:

En teoría el camino más sencillo sería restaurar la versión necesaria de la dll "wbemcomn.dll", y esto lo puedes hacer por ejemplo de una de las siguientes maneras:


· Ejecutando el comando SFC para restaurar archivos corruptos esenciales del SO.

SFC /SCANNOW
(Hay que tener en cuenta que si no existe una copia de la dll original en la carpeta WinSXS, esto no sirve para nada)


· instalando LA MISMA VERSION DE TU WINDOWS en una máquina virtual (Ej: Oracle VirtualBox) y luego copiar la dll original, del SO Virtualizado, a tu SO Host.

La dll se debería encontrar aquí:
C:\Windows\System32\wbemcomn.dll

Y si tu SO es x64, también aqui:
C:\Windows\SysWOW64\wbemcomn.dll


· Windows guarda una copia original (y de todas las modificaciones que el SO haga) de todos estos archivos importantes en la carpeta WinSXS (C:\Windows\WinSXS), así que también podrías restaurar la dll buscándola en la carpeta WinSXS.

Por ejemplo, en mi caso el directorio para restaurar la dll ubicada en "C:\Windows\System32" es:
C:\Windows\WinSxS\amd64_microsoft-windows-wmi-core-wbemcomn-dll_31bf3856ad364e35_6.2.9200.16384_none_5c44d561acf6a292\wbemcomn.dll
...Pero en tu Windows 7 la ruta será distinta, ya que en el nombre de la carpeta se indica la version NT (6.X).


Y ya para acabar te confirmaré que:
La dll forma parte del Instrumental de administración de Windows (aka 'WMI' o 'Windows Management Instrumentation')


Saludos.








chino_r

hola loco gracias por la info realmente muy buena y elaborada, estuve haciendo lo que me dijiste y me di cuenta que no tengo la carpeta (system32) dice (system) calculo que es lo mismo pero dentro de esa carpeta no tiene ningun wbemcomn.dll .tampoco tengo en mi computadora la carpeta que me señalas "WinSXS" o sea directamente no existe en mi computadora, mi windows es original desde que la compre, y el problema debe ser porque yo estuve probando comandos de la compu en ms-dos curiosiando para ver que se puede hacer tratando de comprender las sintaxis de los comandos porque estoy aprendiendo C de forma autodidacta y con ms-dos me parece un lenguaje muy atractivo por los resultados que se pueden llegar a obtener, asi que por ese lado debe venir......el problema  es el que maneja el teclado.....
sin embargo muchas gracias por la info realmente se nota que sabes y es muy bueno conocer gente inteligente....

Eleкtro

#3
Cita de: chino_r en 11 Marzo 2014, 06:11 AMme di cuenta que no tengo la carpeta (system32) dice (system) calculo que es lo mismo

Cita de: chino_r en 11 Marzo 2014, 06:11 AMtampoco tengo en mi computadora la carpeta que me señalas "WinSXS" o sea directamente no existe en mi computadora

Es técnicamente imposible que no existan dichas carpetas en tu SO.

La carpeta System32 (no System, esa no es importante) es el corazón de Windows, almacena los drivers de tus dispositivos así como la configuración del Bootloader y todas las herramientas que necesita usar tu SO (comandos externos de Batch, PowerShell, MMC, etc) junto a sus configuraciones de idioma, y casi todos los archivos esenciales que Windows necesita para cargar el sistema, sin esta carpeta, no podrías iniciar Windows.

La carpeta WinSXS se puede reducir de tamaño consideráblemente eliminando gran parte de las copias de seguridad de archivos que contiene la carpeta, pero la carpeta en si misma no se puede eliminar complétamente, ya que almacena otros archivos importantes de los que depende Windows para cargarse.

¿Has comprobado que las carpetas no están símplemente ocultas?, deben existir.

No suelo decir esto, pero dado el extraño caso donde cosas que deberían estar (WBEM), no estan, y otras cosas que deberían ser visibles por defecto pero están invisibles o...no se sabe donde están ubicadas (System32), te recomiendo que hagas una reinstalación limpia del SO.

Saludos!








chino_r

hola elektro nuevamente estas en lo cierto, estaba simplemente oculta :rolleyes:(me di cuenta que soy mas idiota de lo que pensaba pero bue....) siguiendo con lo nuestro en la carpeta system32, tengo archivo wbemcomn.dll y tengo otro abajo que dice wbemcomn(2).dll, (si lo tengo, porque me dice que no lo tengo?) y tengo varios problemas mas estuve viendo que tengo varios ficheros vacios por ejemplo csb.log, asi que voy a reinstalar el sistema operativo de vuelta, te hago la ultima pregunta y no te jodo mas, yo tengo otra maquina con windows vista me preguntaba si el sistema operativo es muy diferente sino para ver si puedo extraer de ahi las carpetas y archivos que me faltan saludos....

Eleкtro

#5
Cita de: chino_r en 13 Marzo 2014, 20:17 PMen la carpeta system32, tengo archivo wbemcomn.dll y tengo otro abajo que dice wbemcomn(2).dll, (si lo tengo, porque me dice que no lo tengo?)

El error no te está diciendo que no tienes la dll, como te intenté explicar te está diciendo que no se puede encontrar el método "X" dentro de la dll.

Para que lo entiendas mejor (y esto sirve de respuesta para la pregunta de abajo), las dll del sistema son archivos que se han programado y compilado usando un lenguaje de programación, y dentro de las dll hay ciertos 'comandos' (como los de Batch: Find, Copy, Echo, etc...) que cumplen una función específica, y estos 'comandos' de las dll se pueden llamar desde otros programas, bien, pues el programa "DRIVERQUERY.exe" necesita llamar un 'comando' que debería estar dentro de la dll 'wbemcomn.dll'...pero no lo puede encontrar así que da error,
y la razón de que un 'comando' no esté, se debe a actualizaciones del archivo, en versiones más antiguas de la dll el 'comando' podría no existir porque todavía no se pensó en programarlo, en versiones más nuevas de la dll el 'comando' se ha podido eliminar o reemplazar por uno mejor, o el nombre del 'comando' se ha podido modificar, así que no se puede encontrar el punto de entrada para cargar el 'comando'.

Este archivo que comentaste, creo que lo dice todo:
Citarwbemcomn(2).dll

Parece como si de algún modo se haya reemplazado la dll original y esa dll sea un backup, no lo sé, pero lo puedes comprobar fácilmente:

· Haz click derecho para ver y comparar las propiedades de los dos archivos wbemcomn.dll y wbemcomn(2).dll, fíjate en la versión de cada dll:



La versión del archivo debería coincidir con la versión NT de Windows que estás utilizando, y que puedes comprobar con el comando 'VER':



Y según eso, vuelve a restablecer la supuesta copia de la dll (wbemcomn(2).dll), eliminando la otra (wbemcomn.dll), y dándole el nombre original a la copia.
Si estoy en lo correcto eso debería solucionar el problema.

Cita de: chino_r en 13 Marzo 2014, 20:17 PMtengo otra maquina con windows vista me preguntaba si el sistema operativo es muy diferente sino para ver si puedo extraer de ahi las carpetas y archivos que me faltan saludos....

¡ NO !, eso no hay que hacerlo jamás, en algunos casos específicos podría servirte sin ningún problema, pero no es nada recomendable, y menos con librerías del sistema que están en constante desarrollo y actualización en cada nueva versión de Windows que saca Microsoft... ¡NO!. Por otro lado, puedes instalar la misma versión de tu Windows 7 en una máquina física o virtual y hacer eso mismo, pero no lo hagas con un Vista.

La razón te la expliqué más arriba:
Cita de: ElektroPara que lo entiendas mejor (y esto sirve de respuesta para la pregunta de abajo)...

Saludos!








chino_r

bien... ya entiendo como funciona ademas estuve probando estos dias  con ms dos para ver que se podia hacer y la verdad sino tenes el cd del sistema operativo mucho no se puede hacer, tambien es cierto que no me esta diciendo que falta la libreria sino que no encuentra el punto de entrada a dicha libreria, intente buscar en internet si se podian descargar de algun sitio y la verdad muchos dejan que desear y algunos otros poco fiables y como dijiste al principio del tema lo mas recomendable es reinstalar el sistema operativo nuevamente asi que a reinstalar... y por 3° vez gracias por aclararme dudas claves...