Blogia
Las cosas de Papachúns [beta]

portables

Cómo hacer programas portables (4)

3ª Portabilización práctica y hoy le toca el turno a otro programa de uso común

CCleaner 1.37.456 en español
y con esta portabilización aprenderemos a instalar controladores. 


1- Descargamos el programa de su sitio oficial

2- Descomprimimos el archivo descargado con el programa UniExtract.

3- Entramos dentro de la carpeta que nos ha creado UniExtract y borramos las siguientes carpetas y archivos:
    $PLUGINSDIR
    $TEMP
    [NSIS].nsi
    lang-xxx.dll (menos lang-1034.dll que es el de español)
    history.txt

4- Renombramos el archivo del idioma español lang-1034.dll por lang-1033.dll que es el que está activo por defecto porque es el de inglés.

5- Ahora mediante UPXShell comprimimos todos los archivos (excepto los .ini) para que ocupen el menor espacio posible. No todos los archivos se dejarán comprimir, pero con los que si se dejan reduciremos algo más de medio mega el peso de la carpeta.
Al final nos quedará esto
Image

6- Ahora crearemos un archivo de texto que llamaremos PCCLEANER.BAT (PortableCCleaner) y que tendrá estas líneas:

@echo off
regsvr32 /s CCHelper.ocx
regsvr32 /s ccleaner.dll
regsvr32 /s CCListBar.ocx
regsvr32 /s CCListView.ocx
regsvr32 /s CCSubTimer.dll
regsvr32 /s CCSystem.dll
regsvr32 /s CCTab.ocx
regsvr32 /s CCTreeView.ocx
ccleaner.exe
regsvr32 /s /u CCHelper.ocx
regsvr32 /s /u ccleaner.dll
regsvr32 /s /u CCListBar.ocx
regsvr32 /s /u CCListView.ocx
regsvr32 /s /u CCSubTimer.dll
regsvr32 /s /u CCSystem.dll
regsvr32 /s /u CCTab.ocx
regsvr32 /s /u CCTreeView.ocx

...y ya está. Si ejecutamos el archivo PCCLEANER.BAT se ejecutará nuestro nuevo portable.

Pero si quereis rizar más el rizo e impresionar a las visitas, entonces podemos prescindir del archivo .BAT (hale, a la papelera con él) y utilizar el programa AutoIt. AutoIt es una herramienta que a través de un archivo script podemos ejecutar comandos del Windows, simular pulsaciones de teclas, clicks de ratón... y el resultado puede compilarse en un archivo .EXE.
Vamos a ver cómo utilizar el AutoIt para esta portabilización:

7- Creamos un nuevo archivo de texto que llamaremos PCCLEANER.au3 y en ese archivo de texto escribimos lo siguiente:

ProgressOn("Portable CCleaner by Papachuns","Cargando controladores","CCHelper.ocx")
RunWait("regsvr32 /s CCHelper.ocx")
ProgressSet(10,"ccleaner.dll")
RunWait("regsvr32 /s ccleaner.dll")
ProgressSet(20,"CCListBar.ocx")
RunWait("regsvr32 /s CCListBar.ocx")
ProgressSet(30,"CCListView.ocx")
RunWait("regsvr32 /s CCListView.ocx")
ProgressSet(40,"CCSubTimer.dll")
RunWait("regsvr32 /s CCSubTimer.dll")
ProgressSet(50,"CCSystem.dll")
RunWait("regsvr32 /s CCSystem.dll")
ProgressSet(60,"CCTab.ocx")
RunWait("regsvr32 /s CCTab.ocx")
ProgressSet(70,"CCTreeView.ocx")
RunWait("regsvr32 /s CCTreeView.ocx")
ProgressOff()
RunWait("ccleaner.exe")
RunWait("regsvr32 /s /u CCHelper.ocx")
RunWait("regsvr32 /s /u ccleaner.dll")
RunWait("regsvr32 /s /u CCListBar.ocx")
RunWait("regsvr32 /s /u CCListView.ocx")
RunWait("regsvr32 /s /u CCSubTimer.dll")
RunWait("regsvr32 /s /u CCSystem.dll")
RunWait("regsvr32 /s /u CCTab.ocx")
RunWait("regsvr32 /s /u CCTreeView.ocx")

8- Ahora mediante el programa Iicon Sushi extraemos el icono más chulo que tenga CCleaner.

9- Ejecutamos AutiIt y...
Image
- en el menú Compression elegimos Hightest
- en Source seleccionamos nuestro archivo PCCLEANER.au3 mediante el botón Browse
- en Destination le damós también al botón Browse y navegamos hasta la carpeta donde tenemos el CCleaner y escribimos PCCLEANER.EXE
- en Custom icons apuntamos donde tenemos el icono extraido.
Luego le damos al botón de abajo del todo donde pone Convert y cuando nos aparezca Conversión converted le damos a Ok. Si algo ha ido mal, repite los pasos, mira a ver si has escrito mal el código, mira si todo está apuntando donde debe, etc... Al final debe salir bien

10- Nos vamos a la carpeta donde tenemos el CCleaner Portable y vemos que hay un PROGRAMA NUEVO que se llama PCCLEANER.EXE. Lo ejecutamos y....

¡¡¡ Tócate la tripa, Mariana...!!!

Ostis, qué chulo que ha quedao!
Ché, tú!! ...de profesional!


Hale, oblongo. Hazte el CCleaner Portable y postéalo en Aplicaciones pa márcate el moco. La gente se te va a quedar flipá

Chau

Cómo hacer programas portables (3)

2ª Portabilización Práctica Paso a Paso
Esta vez le toca el turno a las conocidas...


1- Como siempre nos descargamos el programa desde su sitio oficial www.tuneup.es pulsando sobre el botón donde pone Pruébelo ahora gratis!

2- Con este programa lamentablemente no nos sirve WinExtract, así que tendremos que utilizar TotalUninstall. Lo ejecutamos y pulsamos sobre el botón Instalar.

3- Se nos abrirá esta ventana. Le ponemos un nombre a la instalación y en Localización del ejecutable de la instalación pulsamos sobre el botón Buscar y seleccionamos el archivo que nos hemos descargado. Después pulsamos sobre el botón Siguiente.

4- TotalUninstall toma una primera "foto" del estado del sistema antes de la instalación del programa.

5- Cuando haya terminado nos devolverá a la ventana anterior donde debemos pulsar sobre el botón Siguiente.

6- Entonces TotalUninstall lanzará el Setup y procederemos a la instalación de las TuneUp como normalmente haríamos...

7- Una puntualización: Aquí deshabilitamos todas las opciones. Cuando menos servicios extras, menos accesos directos nos cree y más sencilla sea la instalación tanto mejor, más claramente depuraremos luego.

8- Una vez termine de instalarse el programa, volveremos a la ventana de antes donde pulsaremos otra vez sobre el botón Siguiente

9- ...Y entonces TotalUninstall toma la segunda "foto" del estado del sistema después de haber instalado la aplicación y nos indicará los cambios que han habido.

En la foto se indica que se han creado (estrella amarilla) 235 claves y 406 valores en el Registro, y en el disco duro ha creado 5 carpetas nuevas y 768 archivos. Además, se han modificado (estrella roja) 14 valores en el Registro y 17 archivos, pero estas modificaciones como vereis más adelante no suelen tener nada que ver con la instalación. Son resultado de procesos internos de Windows y aplicaciones en 2º plano que está ejecutando el ordenador.
De todas maneras... 235 claves!!! ...y 768 archivos!!! Vamos, lo que vulgarmente se dice un buen montón de mierda (si el moderador quiere puede sustiruir esta ultima palabra por algún sinónimo que le parezca más conveniente; pero por más que lo adorne, no dejará de ser un montón de lo que he nombrado)
Bueno, ahora pulsamos sobre el boton Cerrar

10- Al cerrar la ventana volvemos a la pantalla principal de TotalUninstall, donde vemos a la izquierda la lista de las aplicaciones monitorizadas y a la derecha (con fondo amarillo) los cambios producidos en el sistema.
En la parte derecha, arriba, hay dos botones Sumario para ver los totales y Cambios. Pulsamos sobre Cambios y entonces vemos todos los cambios que se han producido durante la instalación del programa en forma de arbol jerarquizado.

11- Si contraeis todas las ramas vereis que los cambios se clasifican en 3 partes:
Sistema de archivos donde estan reflejados los cambios en cuanto a ficheros, Registro con los cambios que se han hecho en el Registro Windows, y Servicios y drivers que son los servicicios o controladores instalados.

12- Expandimos la rama Sistema de archivos, y aquí realizamos una limpieza dejando solo los cambios que tienen que ver con la instalación de TuneUp. Esto lo hacemos así para que después cuando desinstalemos el programa no fastidiemos otros procesos que no tienen nada que ver con TuneUp.
Después de haber hecho la limpieza me ha quedado lo que se ve en la foto. Aparte he puesto unas indicaciones numeradas y torpemente remarcadas para poder explicaroslo mejor.

Podemos ver que en la parte donde he puesto el numero (1) el instalador ha creado una carpeta llamada TuneUp Utilties 2007 dentro de la carpeta del sistema Archivos de programa. Esta es la carpeta que nos interesa, pero vamos a seguir ojeando a ver qué vemos...
En la parte que indico con un (2) vemos que se ha modificado un archivito insignificante e inecesario. Lo ignoraremos.
En la parte que indico con el (3) vemos como se han creado los accesos directos en el menú de Inicio. Los ignoramos también!
En la parte (4) nos ha creado también otros archivos inservibles, que creo que son de propaganda.
Y en la parte (5) vemos como ha creado archivos de desinstalación, servicios y tareas programadas. Nada de eso lo vamos a utilizar, así que también lo ignoramos.

Otros programas pueden instalar archivos importantes fuera de la carpeta Archivos de programa, ya sea en la carpeta Windows u otra. Esos programas son los que son más dificiles de portabilizar. Pero ya podeis ver que por suerte no es este el caso.

13- Bueno, de lo visto, lo único importante y que nos interesa es la carpeta TuneUp Utilities 2007 que hemos visto al principio y que en esa carpeta tenemos guardado el programa completo; así que nos ponemos sobre esa carpeta y pulsamos el botón derecho del ratón, y en el menú contextual que se nos abre elegimos Abrir.

14- Mágicamente se nos abre una ventana con el contenido de esa carpeta . Seleccionamos todo, lo copiamos y lo pegamos en una nueva carpeta que crearemos para albergar el programa portable.

15- Ya tenemos extraído el programa y copiado en esta carpeta

16- Ahora volvemos a TotalUninstall, contraemos la rama Sistema de archivos y expandimos la de Registro.
Si os veis capaces podeis intentar borrar lo que no tenga nada que ver con TuneUp, pero si no estais seguros podeis dejarlo como está, que tampoco pasa nada. Nos iremos arriba, al menú y pulsamos en Archivo, Exportar y finalmente en Cambios aplicados al registro...

17- En la ventana que nos salga pulsamos sobre el botón Aceptar

18- ...y en la siguiente ventana pulsamos sobre el botón Guardar
OJO: Mirar bien dónde lo guardais que luego no nos tiremos una hora buscando el archivito, eh

19- Ahora ya podemos desinstalar las TuneUp a través de TotalUninstall. Para ello pulsamos sobre el botón Desinstalar

20- TotalUninstall procederá a la desinstalación completa del programa de forma muy rápida y totalmente limpia.

21- Bueno, esto es lo que tenemos ya conseguido: una carpeta con todo el programa y un archivo con los cambios de Registro Windows.

Ahora copiamos el archivo .reg dentro de la carpeta de nuestro portable.
OJO, MUY IMPORTANTE: copiamos, no movemos, para que no perdamos el original.

22- Una vez tenemos la copia dentro de la carpeta la renombramos. La podemos llamar por ejemplo REGISTRAR.reg

Y procedemos a editarlo para depurarlo y quitarle toda la morralla.

Hay gente que no lo depura y tal como le viene lo mete en sus portables. Yo eso lo entiendo, es una tarea algo ardua y dificil; pero como soy muy purista yo voy a depurarla, y lo voy a hacer aquí mismo, delante de vosotros, para que se os quede algo y veais que no es tan dificil

A ver, a ver ... empezamos con el HKEY_CLASSES_ROOT ... ContextMenu, borrado ...... nuevos tipos de archivos, borrados .... un puñao de CLSID con un montón de numeritos ........ hummm ... los borramos también, hale! ........... a ver que más tenemos aquí ...... ShellExtension ... eso también fuera ............ ContextMenuHandler ........ interesante ........... a ver qué hay más abajo ................. joer, cuánto numerico! ............ a ver más abajo ....... joer, cuanto más me abajo, más numeritos me salen ......... buf ...... madre mía ...... N.P.I. ...... espera, que aquí he pillao algo: shellopencommand ... ah pos no ... no se esto qué es ... mejor lo dejo, no sea que ........... uf ... madre mía, qué berenjenal .......... Ostia! menudo cacho bloque de números que me acaba de salir ahora ...... Halaaa! y otro seguido más gordo aún! ... joeer ... ea, pos me los cargo los dos. Tanto numerito no puede ser bueno pal ordenador ...... a ver qué más hay ....... joeeer .......... buah ... madre mía! ........ too esto me lo cargo también .......... Anda! mira, ya he pasado a la sección HKEY_CURRENT_USER ... esta sección es más fácil de entender ... a ver, a veeer ........................... joer, aquí aún hay más numeros que antes .... buf ............. ya llevo más de medio archivo y aún no he pillao ná ...... a ver esto ... esta clave será el código de registro? ......... joer .......... huys, InternetSettings ... esto mejor lo dejo no sea que me cargue el ordenador ...... halaaaa! más números!!! ....... madre mía .......... huy! mira un puñao de lineas que parecen todas iguales. Pos dejamos la primera y borramos las demás ... total, están repetidas ... jejejeje ... me he quitao medio archivo borrando las lineas repes ........ a ver más cosas .......... joeeer ......... buf ......... madre mía ........ jo, el programita este se las trae, eh ....... debe ser cosa del nuevo interface Vista ese .... por eso hay tanto numerito ........ .... toma más .............. huy, que susto! que me creia que se me había estropea la tecla AvPag y no, es que ya se había acabao el archivo!!

Bueno, pues... si que está complicao, si. Lo mejor es que hagamos un nuevo REGISTRAR.reg con este texto: (selecciónalo para poder verlo)

REGEDIT4

[HKEY_LOCAL_MACHINESOFTWARETuneUpUtilities6.0]
"Company"="p2pnews"
"UserName"="Papachuns"
 


23- Creamos ahora un archivo nuevo de texto y escribimos en él lo siguiente:

@echo off
regedit /E backup.reg "HKEY_LOCAL_MACHINESOFTWARETuneUp"
regedit /S REGISTRAR.reg
INTEGRATOR.exe
regedit /S backup.reg
del backup.reg

y lo guardamos con el nombre START.BAT

...y ya está. Ya tenemos portabilizadas las TuneUp Utilities 2007. Es lo que está dentro de nuestra carpeta y se pone en marcha ejecutando START.BAT. ¿Qué os parece?

Como siempre, no os pongo el link para que os lo hagais vosotros mismos. Chau

Cómo hacer programas portables (2)

1ª Portabilización práctica de un programa que la gran mayoría de usuarios utilizamos


1- Nos descargamos el programa desde su página oficial

Image
2- Lógicamente WinRar viene comprimido en formato Rar-SFX (faltaría más!) así que UniExtract lo descomprime sin problemas, creándonos una carpeta con todo lo que contenía el programa instalador.
Image
3- Entramos dentro de la carpeta y realizamos una limpieza de archivos innecesarios.
Yo particularmente he borrado todos los que indico con el aspa roja; pero vamos, yo es que soy muy minimalista ...y algo bestia a la vez. Vosotros podeis dejar alguno más "vivo". El archivo descript.ion os puede ayudar a decidir cuales archivos eliminar y cuales no.
Image
4- Copiamos en esa carpeta 'la llave mágica' para que no nos dé el coñazo con el shareware.
Image
5- Extraemos con el programa @icon el icono más chulo que tenga winrar
Image
6- Ahora comprimimos todo lo que hay dentro de la carpeta (excepto el icono) con WinRar y le decimos que nos lo haga a la máxima compresión, sólido y autoextraible (SFX)
Image
7- Nos vamos a la pestaña 'Avanzado' y allí pulsamos sobre el botón 'Opciones SFX...'
Image
8- En la pestaña 'General' le indicamos 'Crear en "Archivos de Programas"' y abajo en 'Ejecutar tras la extracción' escribimos Winrar.exe
Image
9- En la pestaña 'Modos' le indicamos 'Descomprimir en una carpeta temporal', en 'Modo Silencioso' le indicamos 'Ocultar todo', y en 'Modos de sobreescritura' le indicamos 'Sobrescribir todos ficheros'
Image
10- En la pestaña 'Texto e icono', abajo donde pone 'Cargar icono SFX desde fichero' pulsamos sobre el botón 'Buscar' y seleccionamos el icono que hemos extraido antes
Image
11- Aceptamos todo, todo y todo...
Image
...et voilá! C'est içi le nouveau Portable WinRar 3.70-beta3 en purito inglés de la Inglaterre
y en un archivo único de 756Kb

PD: Aunque en la última foto salen varios archivos, el único que vale es el que pone Portable-WinRar.exe.
Los demás archivos los podemos borrar

PD2: No pongo enlace de descarga al Portable-WinRar3.70b3 que acabo de hacer pa que no os lo descargueis ya hecho.
No seais vagos. Hacéroslo vosotros mismos...

Cómo hacer programas portables

Cómo hacer programas portables

Este tutorial os enseña cómo podeis convertir vuestros programas preferidos en portables, o sea, en programas que pueden ser usados sin necesidad de instalar previamente en el ordenador.

El tutorial lo creé y lo posteé originalmente en P2Pnews y ahora lo traslado aquí para vuestro disfrute y provecho. Creo que este es el único tutorial en castellano que existe, o al menos yo no he visto otro. Me gustaría que si conocierais alguno más me lo indicarais, por favor.

El tutorial se compone de dos partes: una parte teórica (que es esta) donde os mostraré a grandes rasgos la técnica para hacer programas portables; y otra parte práctica (que iré publicando poco a poco) en donde se detallarán diversos ejemplos de portabilizaciones explicados paso por paso e ilustrados mediante capturas de pantalla, y en la que vereis reflejado de forma práctica todo lo que se explica en esta primera parte.

Bueno, comencemos el tutorial. Lo primero es disponer de las herramientas necesarias para hacer las portabilizaciones. Estas son las que yo utilizo:

Universal Extractor
Este herramienta te permite extraer los archivos de un fichero comprimido en cualquier formato (ZIP, RAR, 7Z, etc) y de programas de instalación genéricos (NSIS, Inno Setup, msi, etc). Puedes instalarte el programa desde formato ZIP con lo que obtienes todos los binarios (shell y extractores), aunque yo te recomiendo hacerlo desde el Setup ya que te añade en el menu contextual una muy práctica opción "UniExtract Files..." que te hará muy cómodo manejar el programa.

Total Uninstall
Este programa monitoriza la instalación de un programa para poder hacer posteriores desinstalaciones limpias y completas. Lo que hace es guardar imágenes del sistema antes y después de la instalación, para hacer comparativas y marcar los cambios. Así obtienes información completa sobre los cambios que se hayan producido en el sistema de archivos copiados al disco duro y los cambios realizados en el Registro Windows (que además se puede exportar en formato .reg) y para hacer protabilizaciones es fundamental esta información.


Regmon y Filemon
Regmon monitoriza los cambios que se producen en el Registro Windows en tiempo real, así detectaremos si durante la ejecución de un programa este hace algún cambio en el Registro.
Filemon monitoriza toda la actividad de los archivos que están siendo utilizados por el sistema operativo en tiempo real.
AÑADIDO: Se han unificado ambos programas en uno solo y ahora se denomina
ProccessMonitor , pero la funcionalidad es la misma.

UPX
Es un empaquetador de ejecutables gratuito, portable y con una muy buena tasa de compresión y velocidad de decomprensión. Comprime tanto programas .exe como .com, .dll, .sys, .ocx, .dpl, .bpl, .scr, .acm, .ax. El programa se utiliza mediante línea de comando, con una serie de opciones que te permiten personalizar las funciones del mismo, pero existen shells que lo hacen más fácil de manejar como UPX Shell, Mass Compressor, etc.

WinRar
Lo utilizo para hacer programas portables de un archivo único autoextraible (Rar-SFX).

Icon sushi
Programa para extraer facilmente los iconos de archivos exes y dlls.


Bien. Una vez dispongamos de las herramientas necesarias, y antes de ponerse manos a la obra, hay que analizar el tipo de programa que vamos a convertir en portable, ya que dependiendo de su fisionomía y funcionamiento deberemos actuar de una manera u otra.

 * * * * * * *

En una primera clasificación estarían los programas compuestos por un archivo único y los programas que se componen de varios archivos.

Programas de un archivo único
Estos programas son generalmente ya de por sí portables (excepto algunos casos aislados como Foxit PDF Reader que a pesar de ser un archivo único, viene encapsulado en un instalador). A este tipo de programas solo cabría comprimirlos con el compresor UPX para que 'pesen' menos y ya está.
Aunque habría también que vigilar si el programa realiza alguna modificación en el Registro Windows durante su ejecución, y si es así dotarle de medios para poder eliminar las modificaciones realizadas al finalizar el programa.

Programas con varios archivos
Por lo general la mayoría de los programas vienen acompañados de varios archivos que complementan al archivo principal. Algunos de estos archivos complementarios son totalmente innecesarios y los podemos eliminar sin mayor problema. Me refiero a archivos .txt, módulos de desinstalación, archivos de lenguaje que no vamos a utilizar, etc. También podríamos probar a eliminar otros archivos e ir comprobando si el programa se mantiene estable y funcional.
Generalmente los programas compuestos de varios archivos suelen venir encapsulados en un instalador que es lo que trataremos a continuación.

* * * * * * *

En una segunda clasificación estarían los programas que vienen sin instalador y los programas que viene encapsulados en un instalador, entendiendo como instalador un lanzador que contiene el programa en sí y lo instala en el sistema. Este instalador suele venir en forma de archivo ejecutable .exe o en el formato de Microsoft .msi y se suelen denominar Setup, Install, etc.

Programas sin instalador
Estos programas son también practicamente portables ya que no suelen realizar modificaciones en la configuración del sistema. No obstante, os recuerdo que pueden realizar modificaciones indeseadas en el Registro durante su ejecución, o crear/modificar archivos en el disco duro. Esto debería comprobarse con Regmon y Filemon.
A este tipo de programas solo se le podrían realizar operaciones de compresión y/o empaquetamiento en un archivo único mediante UPX y WinRar, o análogos.

Programas con instalador
Los programas encapsulados en un instalador sí suelen realizar modificaciones en el Registro Windows y además debemos extraerlos del instalador, por lo que este tipo de programas son nuestro objetivo principal a la hora de portabilizar.

El proceso de portabilización que empleo yo es el siguiente:

1- Probamos extraer los archivos del instalador usando UniExtract.
Si Uniextract no consigue extraerlos entonces saltamos al paso nº 5.

2- Si conseguimos extraerlos observaremos que se habrá creado una carpeta conteniendo todos los archivos que incluía el instalador. Entramos dentro de esta carpeta y vemos lo que hay ahí...

3- Dependiendo del programa instalador nos podemos encontrar diferentes cosas. Por ejemplo, en los instaladores NSIS nos encontraremos un archivo .iss que es el script de instalación que podemos eliminar, ya que aunque podríamos analizarlo para dilucidar lo que el instalador hace, es algo complejo de entender y existen métodos alternativos más claros para obtener esa información. También encontraremos una carpeta llamada embedded que podemos eliminar ya que contiene elementos propios del instalador como gráficos, idioma, etc y no nos va a servir de nada. Y también nos encontraremos una carpeta llamada {app}, dentro de la cual se encuentra el programa que vamos a portabilizar.
Es posible que también nos encontremos otras carpetas llamadas {sys} o {win}. En esos casos ya se hace más problemática la portabilización, ya que en esas carpetas hay controladores necesarios para el correcto funcionamiento del programa y que se instalan en el directorio de Windows. Pero eso veremos más adelante.

4- Supongamos que solamente existe una carpeta {app}. Entramos dentro de la carpeta {app} y ejecutamos el programa. ¿Funciona bien? Si es así, realizamos una limpieza de archivos innecesarios (txt y demás) y lo tratamos como si fuera un programa sin instalador como hemos descrito antes. Fin del proceso.
Si no funciona bien es porque el instalador realiza algunos cambios en la configuración del sistema para que el programa funcione bien y debemos averiguar cuales son esos cambios. Para ello utilizaremos la técnica descrita en el siguiente paso.

5- Si no conseguimos extraer el programa del instalador o si, aunque conseguimos extraerlo, no conseguimos hacer que funcione, entonces usaremos el programa Total Uninstall.
Este programa monitoriza todo lo que hace el instalador. Así podremos ver de forma clara qué archivos copia en nuestro sistema y dónde, y qué cambios realiza en el Registro de Windows o en otros archivos de configuración de Windows; con la ventaja añadida de que después podemos hacer una desinstalación limpia y completa del programa, ya que deshace todo lo hecho por el instalador.
Tras la instalación del programa mediante TotalUninstall, revisamos el log devuelto, tomamos nota de dónde se encuentran todos los archivos del programa instalados y exportamos los cambios en el Registro en formato .reg (que es el formato oficial reconocido por los programas Reg y RegEdit).

6- Copiamos los archivos del programa instalados en el sistema en una carpeta creada exproceso y posteriormente desinstalamos el programa mediante Total Uninstall para que no quede ningún rastro del programa en nuestro sistema.

7- Ahora haremos una copia del archivo .reg para no perder el original y comenzaremos a depurarlo eliminando aquello que sea superfluo e innecesario para lograr una mayor claridad.
Hay quien no depura el reg y lo mete tal cual en el Registro Windows antes de la ejecución del programa. Eso queda poco "profesional", es mucho más elegante revisarlo y depurarlo, que no es tan difícil como parece.

8- Al igual que montamos el reg hay que crear un anti-reg, es decir, un archivo .reg que va a eliminar todos los cambios que genere el primer reg. No se si me he explicado bien.
Otro buen consejo es que cuando se vayan a realizar cambios en alguna rama del Registro, hagamos primero una copia de seguridad de esa rama, para poder restaurar los valores previos tras la ejecución del programa. Esto lo entendereis mejor con un ejemplo.
Imaginaos que tenemos instalado en nuestro ordenador el programa Nero versión 6 y ejecutamos el Portable Nero versión 7. Un mal portabilizador puede no tener en cuenta esto y puede machacar las claves del Nero 6, o incluso después de ejecutarse Nero 7 puede optar por eliminar directamente la rama HKLM/Ahead. Imaginaos el desastre! Te inutiliza tu versión instalada en el equipo. Seguramente os ha pasado alguna vez que después de probar un portable, no podeis utilizar la versión que teniais previamente instalada en el ordenador. A que os ha pasado alguna vez? A mi si.
La copia de seguridad es muy sencilla de implementar.

En vez de hacer como hacen algunos

- REGEDIT regprograma.reg <--- para meter el nuevo reg
- Programa.exe <--- ejecuta el programa
- REGEDIT /remove regprograma.reg <--- para eliminar el reg

Queda más elegante hacerlo así

- REGEDIT /E backup.reg "HKEY_LOCAL_MACHINErama" <--- para hacer una copia de seguridad
- REGEDIT regprograma.reg <--- para meter el nuevo reg
- Programa.exe <--- ejecuta el programa
- REGEDIT /remove regprograma.reg <--- para eliminar el reg
- REGEDIT /S backup.reg <--- para restaurar los valores previos


Esta es desde luego la parte más delicada de una portabilización. Si lo hacemos bien, nuestro portable se distinguirá por ser un buen programa portable. Si la hacemos mal, será un programa mediocre y nuestra reputación como portabilizador caerá por los suelos. Vale la pena esforzarse en este apartado.

9- Una vez tenemos el reg bien ajustado y con él el programa funciona perfectamente, debemos crear un lanzador o automatizador para que haga esos cambios necesarios en el sistema y luego pueda restaurarlo a su estado anterior.
Lo podemos hacer con un simple archivo .BAT, o podemos usar el programa AutoIt para crear un programa .exe que queda más elegante y nos permite mayor potencia para realizar otras funciones.

* * * * * * *

Aún quedaría por ver una tercera división de programas:

Programas que no instalan controladores
Que son los que hemos estudiado hasta ahora y que como podeis ver no son tan difíciles de portabilizar.

Programas que instalan controladores
Os acordais que antes hemos dicho que al extraer los archivos de un instalador podemos encontrar carpetas {sys}, {win}, $SYSTEM, etc? Dentro de esas carpetas hay drivers o controladores que se instalan generalmente dentro del directorio Windows y que son utilizados por el programa.
Lo que debemos hacer es 'recolocar' estos archivos en otra carpeta que no sea la de Windows pero que el programa pueda encontrar facilmente estos controladores. Esto se consigue 'registrando' los controladores de esta manera: regsvr32 /s controlador.dll.
Los controladores también pueden estar apuntados por claves en el Registro de Windows o puede estar apuntados por el propio programa. En el registro es facil modificar su ruta, pero si están apuntados por el programa podemos utilizar programas como ResHack para encontrar la cadena de texto que indica la ruta de los controladores y podemos sustituirla por la nueva ruta que elijamos nosotros.

* * * * * * *

Y una última consideración a tener en cuenta: Hay que ver si el programa es freeware, crackeado o si viene con número de licencia. Los dos primeros se tratarán igual mientras que el tercer tipo habrá que meter la clave, ya sea directamente en el Registro de Windows o mediante algún sistema de automatización.