Hola expertos, me interesaba saber como puedo crear un formulario desde el cual yo buscara un programa ".exe" determinado, me indicara su ubicación para yo poder reemplazar ese archivo por otro más actual, es decir, utilizar ese formulario como programa para actualizaciones. Gracias
1 Respuesta
Respuesta de oblacionz
1
1
oblacionz, He realizados trabajos en VB6,ultimamente estoy trabajando en PHP...
Bueno vamos a ver si te entiendo, quieres que haga actualizaciones de un programa POR, es más difícil si lo quieres hacer desde el mismo programa POR, la cosa seria crea un nuevo proyecto y aquí creas un form que lo llamas actualización, en este lugar pones tres commandbutton uno para actualizar, otro para salir y el ultimo para buscar el archivo, ademas agregas a tu form un mscommondialog cmndBuscar para buscar el archivo, ademas de un textbox txtArchivo : dim strArchivo as string Private Sub cmdBuscar_Click() cmmdgBuscar.ShowOpen txtArchivo.Text = cmmdgBuscar.FileName strArchivo=txtArchivo.text End Sub Aquí ya capturastes la ruta del archivo, ahora viene la parte de actualizar, este código ponlo al hacer click en el botón actualizar... Private Sub cmdActualizar_Click() Archivo(strArchivo) End Sub Public Function Archivo(Ruta_Archivo As String) Dim strRutaX As String Dim strRutaCompleta As String Dim strNombreArchivo As String //strRuta X es la ruta de tu programa por defecto o a donde quieres q se copie el archivo strRutaX = "c:\Archivos de programa\Sistema\" Set fs = CreateObject("Scripting.FileSystemObject") If Not fs.fileExists(strArchivo) Then msgbox "No se encuentra el archivo" , , "Mensaje" exit function End If strNombreArchivo = Mid(strArchivo, InStrRev(strArchivo, "\") + 1) strRutaCompleta = strRutaX & strNombreArchivo If fs.fileExists(strRutaCompleta ) Then Kill strRutaCompleta End If fs.CopyFile strArchivo, strRutaX End Function Ojala te sirva de ayuda, disculpa si hay errores es que no lo he compilado aun cualquierduda avisame ok.
Hola, me has entendido perfectamente y de hecho he aplicado pero tengo un problema más serio que al querer copiar el .exe en el ordenador me da siempre un error 70 o 75 " no tiene permisos". Lo que cambie del código que me envías es que yo no borro el fichero sino que lo renombro con otro nombre y después intento copiar el que yo quiero. ¿Cómo puedo solucionar el problema? Ya que lo que no puedo hacer es decirles a los clientes que tienen que ir al tal para tal. Ya me entiendes. Un saludo y gracias por contestarme
Gracias ya he resuelto el problema. Un saludo.
Parece que tu problema es que tu quieres renombrar un archivo que esta abierto o utilizado, o estas trabajando sobre un sistema operativo del tipo servidor donde se manejan políticas de lectura estritira o acceso total por eso tal vez no te deja, revisa bien eso, aquí te mando el código para renombrar strNombreArchivo = Mid(Ruta_Imagen, InStrRev(Ruta_Imagen, "\") + 1) strExtension = Mid(strNombreArchivo, InStrRev(strNombreArchivo, ".")) strRutaCompleta = strRutaX & strNombreArchivo strRutaCompletaNueva = strRutaX & strNombreProducto & strExtension If fs.FileExists(strRutaCompletaNueva) Then Kill strRutaCompletaNueva End If Name strRutaCompleta As strRutaCompletaNueva