none
Ejecutar Proceso RRS feed

  • Pregunta

  • Hola comunidad.... 

    Tengo un problema al ejecutar un proceso...

    Estoy haciendo una utilidad desde la que ejecuto algunas herramientas de windos como el Regedit

    Pero si hago lo mismo para ejecutar la herramienta de Restaurar Sistema  cuyo archivo esta en c:/windows/system32/rstrui.exe

    Me sale un error de que no encuentra el archivo.... y si esta, es mas si lo ejecuto desde Ejecutar si arranca.

     Private Sub btn_RegEdit_Click(sender As Object, e As EventArgs) Handles btn_RegEdit.Click
            Process.Start("RegEdit.exe")
        End Sub


    Esto funciona pues si hago lo mismo con rstrui.exe  no funciona no encuentra el archivo

    Aun poniendo la ruta completa

     Private Sub btn_Restaurar_sistema_Click(sender As Object, e As EventArgs) Handles btn_Restaurar_sistema.Click
                    Process.Start("C:\windows\system32\rstrui.exe")
        End Sub


    Sale este error

    System.ComponentModel.Win32Exception: 'El sistema no puede encontrar el archivo especificado'

    No se si es que necesita algun parametro o algun permiso...

    Si podeis ayudarme es de agradecer


    Saludos a toda la comunidad.

    martes, 27 de octubre de 2020 12:24

Respuestas

  • y digo yo si poner la ruta real de donde esta como es que dice que no lo encuentra.

    Es que no es la "ruta real". Cuando inventaron los sistemas de 32 y 64 bits, hicieron que según el programa sea de uno u otro tipo, tenga una visión diferente del sistema de archivos. Por lo tanto, los archivos que ves desde el explorador de Windows no son "rutas reales" desde el punto de vista del programa. El programa tiene otra visión del sistema de archivos que, desde su punto de vista, es el "sistema real".
    • Marcado como respuesta FerScrich miércoles, 28 de octubre de 2020 10:47
    martes, 27 de octubre de 2020 17:27

Todas las respuestas

  • Las veces que me ha ocurrido algo parecido, es decir, no encontrar un archivo que desde "fuera" del programa se veía claramente que sí que estaba ahí, al final resultaron ser un problema de la virtualización de carpetas para 34 / 64 bits. Es decir, la típica redirección que si el programa es de 64 bits le entrega en realidad un archivo y si el programa es de 32 bits lo redirige a otra carpeta, por ejemplo, el System32 redirigido al SysWoW64.

    Si el problema es ese, se puede solucionar cambiando dentro del programa la ruta original por la ruta redirigida, o mejor todavía llamando a la API que te devuelve la ruta real de la carpeta de sistema (que podría NO estar en C: -- ojo con esto si al lanzar tus aplicaciones presumes que están en C:, podría no ser así en algunos equipos).

    Aquí tienes algo de documentación explicando esta redirección:


    martes, 27 de octubre de 2020 12:43
  • Gracias por tu respuesta.... he cambiado la ruta y sigue igual.

    y digo yo si poner la ruta real de donde esta como es que dice que no lo encuentra.

    No soy muy experto pero vamos eso es lo que yo entiendo


    Saludos a toda la comunidad.

    martes, 27 de octubre de 2020 13:35
  • y digo yo si poner la ruta real de donde esta como es que dice que no lo encuentra.

    Es que no es la "ruta real". Cuando inventaron los sistemas de 32 y 64 bits, hicieron que según el programa sea de uno u otro tipo, tenga una visión diferente del sistema de archivos. Por lo tanto, los archivos que ves desde el explorador de Windows no son "rutas reales" desde el punto de vista del programa. El programa tiene otra visión del sistema de archivos que, desde su punto de vista, es el "sistema real".
    • Marcado como respuesta FerScrich miércoles, 28 de octubre de 2020 10:47
    martes, 27 de octubre de 2020 17:27
  • Pues tienes mas razon que un santo.... jejeje

    He copiado el rstrui.exe a la carpeta de C:\Windows\SysWOW64   y ha funcionado sin problema, supongo que si la utilidad se ejecuta en un pc de 32 bit se ejecutara igualmente ya que solo pongo esto.

     Process.Start("rstrui.exe")

    Muchas gracias la respuesta a sido perfecta.


    Saludos a toda la comunidad.

    miércoles, 28 de octubre de 2020 10:47
  • Gracias por levantar tu consulta en los foros de MSDN. Cerraremos el Hilo, por ende si tiene alguna otra consulta por favor genera otra consulta para que la comunidad de foros te pueda asesorar.

     

    Siempre es un placer atender tus consultas!

    --------------------------------------------------------------------------------

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN sientase en la libertad de contactar  MSDNFSF@microsoft.com. 

    jueves, 29 de octubre de 2020 22:24
    Moderador