none
[Ayuda] Comprobar que el fichero no esté corrupto RRS feed

  • Pregunta

  • Hola buenos días, me gustaría saber si hay alguna manera de comprobar un fichero *exe de actualización no esté corrupto o tenga otro problema antes de ejecutarlo y no de error.

    Utilizo una variable string para obtener la ruta donde descargo mi fichero antes de ejecutarlo

    miércoles, 19 de diciembre de 2018 8:28

Respuestas

  • Buenas,

    Podrías utilizar algún sistema de checksum para verificar que la descarga es correcta, te dejo un enlace de como generar el MD5 de un fichero:

    Checking the MD5 of file in VB.NET

    La idea seria que tu, cuando generas una nueva versión, calcules el checksum del fichero, y lo coloques en una db, o lo entregue una API, o como hagas ahora para notificar que hay actualizacion, de modo que cuando vayas llamar al fichero descargado, compruebes que el checksum coincida con el que tu has generado del fichero correcto. 

    Si no coincide, ha habido algún error en la descarga, y tienes que volverlo a descargar.

    Atte


    Jorge Turrado Ferrero

    Mis repositorios en GitHub

    Mi Blog


    Ranking GitHub Euskadi
    Ranking GitHub Alava

    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    viernes, 21 de diciembre de 2018 13:06

Todas las respuestas

  • Hola Symantecc

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, para poder darte una mejor atención, te solicitamos de favor que nos brindes un poco más de información acerca del problema que se te presenta, así como compartirnos un fragmento del código para podernos dar una idea más clara de lo que requieres.

    Gracias por usar los foros de MSDN.

    Pedro Alfaro
     ____

    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. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.
    miércoles, 19 de diciembre de 2018 17:47
    Moderador
  • Gracias por responder

    Antes de lanzar el paquete de actualización, quiero verificar que no este corrupto ya que he verificado en algunos equipos que cuando esta descargado o se lo ha descargado de forma corrupta da error, por ello, si esta corrupto el fichero (es decir, que no pesa lo mismo que en lo que indicaba el servidor o por otra razón) no ejecute el fichero, en caso contrario de que sea correcto, lo ejecute.

     Dim TempDir As String = My.Computer.FileSystem.SpecialDirectories.Temp
    
            Try
                Dim p As New Process
                ''p.StartInfo.UseShellExecute = True
                p.StartInfo.FileName = Path.Combine(TempDir, "updateApp.exe")
                p.StartInfo.Arguments = "/qn /quiet" 'not sure if you want to use a comma in between the arguments
                ''p.StartInfo.Verb = "runas" 'add this to prompt the user for elevation
                p.Start()
            Catch ex As Exception
                Err.Clear()
            Finally
                Me.Close()
            End Try
            Close()

    viernes, 21 de diciembre de 2018 10:06
  • Buenas,

    Podrías utilizar algún sistema de checksum para verificar que la descarga es correcta, te dejo un enlace de como generar el MD5 de un fichero:

    Checking the MD5 of file in VB.NET

    La idea seria que tu, cuando generas una nueva versión, calcules el checksum del fichero, y lo coloques en una db, o lo entregue una API, o como hagas ahora para notificar que hay actualizacion, de modo que cuando vayas llamar al fichero descargado, compruebes que el checksum coincida con el que tu has generado del fichero correcto. 

    Si no coincide, ha habido algún error en la descarga, y tienes que volverlo a descargar.

    Atte


    Jorge Turrado Ferrero

    Mis repositorios en GitHub

    Mi Blog


    Ranking GitHub Euskadi
    Ranking GitHub Alava

    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    viernes, 21 de diciembre de 2018 13:06