Portabilizar aplicaciones.
Publicado: 12 Ago 2012, 02:05
Con un collage de ejemplos encontrados en la web pude armar un script que sirve para portabilizar aplicaciones es decir hacerlas ejecutables desde un pendrive, o una partición del disco, y no dejar rastros al salir.
Pero antes de publicarlo en el foro, con el correspondiente instructivo, necesito solucionar un problema.
RunWait("Init.exe") (ver detalle mas abajo)
RunWait("regedit.exe /s HCU.reg", @ScriptDir) (carga el registro)
RunWait("regedit.exe /s HLM.reg", @ScriptDir) (carga el registro)
RunWait("App\App.exe") (corre la aplicación)
RunWait('regedit.exe /s /e "' & @ScriptDir & '\HCU.reg" "HKEY_CURRENT_USER\Software\aplicación"') (*)
RunWait('regedit.exe /s /e "' & @ScriptDir & '\HLM.reg" "HKEY_LOCAL_MACHINE\Software\aplicación"') (*)
RunWait("regedit.exe /s H00.reg", @ScriptDir) (borra trazas del registro)
RunWait("Exit.exe") (ver detalle mas abajo)
(*) hace un backup de las claves en el registro.
Funciona bien pero tiene como punto débil, las líneas ("Init.exe") y ("Exit.exe")
Al no saber programar en AutoIt lo hice en DOS. La limitación aparece cuando la carpeta aplicación tiene un nombre que incluye un espacio (por ejemplo Mi aplicación) En ese caso el DOS no la reconoce.
Init.exe es el compilado (con Bat_To_Exe_Converter) del DOS Batch:
rd /s /q C:\...\AppData\Roaming\aplicación
xcopy U:\PATH\aplicación C:\...\AppData\Roaming\aplicación\ /S /E
Borra eventuales rastros antiguos de aplicación en AppData\Roaming, luego lo actualiza desde el
backup en U:\PATH\aplicación. (Las líneas se repiten para AppData\Local si la aplicación lo requiere)
Exit.exe es el compilado (con Bat_To_Exe_Converter) del DOS Batch:
rd /s /q U:\Path\aplicación
xcopy C:\...\AppData\Roaming\aplicación U:\PATH\aplicación\ /S /E
rd /s /q C:\...\AppData\Roaming\aplicación
Borra el antiguo respaldo en U:\PATH\aplicación, crea uno actualizado , y elimina
C:\...\AppData\Roaming\aplicación, no dejando trazas. (Idem para Local)
Pido ayuda para reemplazar las líneas en DOS por las equivalentes en AutoIt.
En breve, cómo borrar una carpeta, y cómo copiar una carpeta (con todo su contenido) de un lugar a otro.
Gracias.
Pero antes de publicarlo en el foro, con el correspondiente instructivo, necesito solucionar un problema.
RunWait("Init.exe") (ver detalle mas abajo)
RunWait("regedit.exe /s HCU.reg", @ScriptDir) (carga el registro)
RunWait("regedit.exe /s HLM.reg", @ScriptDir) (carga el registro)
RunWait("App\App.exe") (corre la aplicación)
RunWait('regedit.exe /s /e "' & @ScriptDir & '\HCU.reg" "HKEY_CURRENT_USER\Software\aplicación"') (*)
RunWait('regedit.exe /s /e "' & @ScriptDir & '\HLM.reg" "HKEY_LOCAL_MACHINE\Software\aplicación"') (*)
RunWait("regedit.exe /s H00.reg", @ScriptDir) (borra trazas del registro)
RunWait("Exit.exe") (ver detalle mas abajo)
(*) hace un backup de las claves en el registro.
Funciona bien pero tiene como punto débil, las líneas ("Init.exe") y ("Exit.exe")
Al no saber programar en AutoIt lo hice en DOS. La limitación aparece cuando la carpeta aplicación tiene un nombre que incluye un espacio (por ejemplo Mi aplicación) En ese caso el DOS no la reconoce.
Init.exe es el compilado (con Bat_To_Exe_Converter) del DOS Batch:
rd /s /q C:\...\AppData\Roaming\aplicación
xcopy U:\PATH\aplicación C:\...\AppData\Roaming\aplicación\ /S /E
Borra eventuales rastros antiguos de aplicación en AppData\Roaming, luego lo actualiza desde el
backup en U:\PATH\aplicación. (Las líneas se repiten para AppData\Local si la aplicación lo requiere)
Exit.exe es el compilado (con Bat_To_Exe_Converter) del DOS Batch:
rd /s /q U:\Path\aplicación
xcopy C:\...\AppData\Roaming\aplicación U:\PATH\aplicación\ /S /E
rd /s /q C:\...\AppData\Roaming\aplicación
Borra el antiguo respaldo en U:\PATH\aplicación, crea uno actualizado , y elimina
C:\...\AppData\Roaming\aplicación, no dejando trazas. (Idem para Local)
Pido ayuda para reemplazar las líneas en DOS por las equivalentes en AutoIt.
En breve, cómo borrar una carpeta, y cómo copiar una carpeta (con todo su contenido) de un lugar a otro.
Gracias.