Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eleкtro

#4461
Cita de: lobopk2 en 23 Septiembre 2015, 03:37 AM
Ah y es el Unіnstall Tool el que tengo, no se porque no encontraba el que me dijistes y lo entendi mal  :silbar:, pero ahora he echo otra busqueda y lo encontre, ahora mirare mejor todo lo que dices.

bueno como me he equivocado de programa y ahora tengo el que dices voy a ver que honda,  gracias Elektro

Bueno yo te dije que uso un desinstalador, "Uninstall Tool" de CrystalIdea, que cómo el desinstalador que tu dijiste que usabas el "Revo", el mio también tiene un monitor para rastrear los archivos que expande un instalador ...por si querías probarlo para compararlos, pero yo no lo he utilizado para monitorear, y en ningún momento te recomendé ese programa "Uninstall Tool" para lo de la monitorización, de hecho te dije todo lo contrario, que no te aconsejo usar ese tipo de programas por que tienen una funcionalidad básico o incompleta o llámalo cómo quieras, ya lo has comprobado por ti mismo, no te informa de los archivos que fueron eliminados durante la instalación por el propio instalador.

(solo por dejarlo claro. tú usa lo que quieras vaya.)




CitarNo obstante, dices que esos archivos quizas luego se transformen en otros archivos con otros nombres, eso se puede ver?

¿A que te refieres con ver?, ¿ver los archivos temporales antes de que se eliminen?, ¿conocer el nombre del archivo en el que "se transformaron"?, no entiendo bien.

El evento de renombrado de archivos no lo registra el 'Uninstall Tool', así que por ese método ...no puedes hacer nada.

Si usases el 'Moo0 File Monitor' ese que te dije entonces si que lo verías (ya es la tercera vez creo que lo repito xD), si la app no te gusta o algo entonces hay más aplicaciones, cómo 'Directory Monitor' de DevEnterprise o 'Phrozen Windows File Monitor' ...ambas son buenas, todo es que busques y pruebes una que te guste y haga lo que quieres que haga.

Ten en cuenta que en aquellas instalaciones que permitan ser pausadas, pues puedes pausar la instalación de forma natural (botón "cancelar"), aparecerá un diálogo de confirmación y el thread se habrá pausado, para ver los archivos físicamente.

Otra manera sería matando el proceso directamente en pleno acto de instalación, desde el administrador de tareas (taskmgr.exe) o con el comando TASKKILL en la consola de Widnows, por ejemplo.

Y otras maneras más complejas pero eficientes serian mediante la programación, pero en esto no entraré en detalles ya que no creo que lo quieras oir.




Cita de: lobopk2 en 23 Septiembre 2015, 04:00 AMel "Unіnstall Tool"

el log, me dice todos los datos que te he dicho, que no necesito tanto que luego no puedo mirar.

No puedes asignar exclusiones en el 'Uninstall Tool', pero...

Solución alternativa:

  • Tu editor de texto avanzado favorito (NO Bloc de notas) -> Buscar todas las coincidencias de "C:\Ruta de carpeta temporal" > Expandir la selección de resultados a selección de linea -> Eliminar lineas

En el editor 'Sublime Text' el procedimiento a seguir (sin tener en cuenta los hotkeys de la app) sería este:

  • Find -> Find...  "C:\Ruta de carpeta temporal" -> Find All -> Selection -> Expand selection to line -> Presionar tecla "Delete"

No lleva ni un minuto.

http://www.sublimetext.com/2

Saludos!
#4462
Cita de: lobopk2 en 23 Septiembre 2015, 01:05 AMme hubiera molado que las rutas fueran para win7 en vez para xp, pero bueno vi que no las habia.

Google y la Wikipedia están para algo, no seas vago :-)

Windows XP Folders and Locations vs. Windows 7 and Vista
+
Windows Environment variables default values - Wikipedia




Cita de: lobopk2 en 23 Septiembre 2015, 01:05 AMTambien desaparecen algunas?

No es que los archivos desaparezcan, es que primero se crean con un nombre único temporal (id.tmp), se renombran, se utilizan (ej. se carga una librería.dll necesaria para el setup y cuando ya no se necesita se libera), y por último se eliminan cuando ya son innecesarios por el installer. Cada install builder podría trabajar intérnamente de manera distinta, pero más o menos eso así.

El tal "uninstaller pro" al parecer no está registrando o no te está informando de las posteriores eliminaciones, solo te informa de los archivos que fueron creados, estén o no eliminados. El 'Moo0 file monitor' que te comenté, te registra ambos tipos de eventos.




Cita de: lobopk2 en 23 Septiembre 2015, 01:05 AMme registra muchas cosas que luego no estan como los archivos .tmp.

C:\Users\usuario\AppData\Local\Temp\...

Por la etapa boot-time del proceso (es decir, al momento en el que inicias el setup.exe) este puede desempaquetar (extraer) archivos al directorio de archivos temporales u otro directorio si así hubiese sido especificado, usando un nombre identificativo único de archivo, estos archivos suelen ser críticos/esenciales para el funcionamiento del instalador, y solo eso, del instalador.

Aparte, un install builder (así se le llama al software que sirve para crear un instalador, donde construimos el script/proyecto para diseñar su interfáz gráfica y la lógica de instalación/extracción) tienen una constante definida para poder expandir de forma automatizada archivos al directorio de trabajo, que es el directorio temporal. Con esto intento decir que en cualquier etapa del proceso se pueden expandir archivos al directorio temporal para luego ser renombrados, enviados a otro directorio, o lo que uno quiera hacer, en cualquier momento, incluso cuando realizas un cambio de página en el asistente (o wizard) del setup haciendo click en "adelante" o "atrás", sería algo raro hacer eso en ese preciso momento xD, pero poder se puede hacer si el autor tiene la intención.

En general debes ignorar cualquier archivo de ese directorio temporal a menos que tu intención fuese por motivos de investigación "forénsica" de ingeniería inversa, cómo interceptar un componente específico de un instalador .MSI, por poner un ejemplo.




Cita de: lobopk2 en 23 Septiembre 2015, 01:05 AMhabria alguna manera para que no me pusiera en el logo, esos archivos que luego no van a salir como los .tmp?

Rotundamente no.

Una vez el archivo es creado, el tracer lo registra, y no sabe si el archivo va a ser eliminado ni mucho menos cuando va a suceder la supuesta eliminación de archivo, es imposible predecirlo. No tiene mucho sentido intentar filtrar de algún modo para descartar archivos que al rato se eliminan si lo piensas detenidamente.

Lo que si es posible hacer, pero depende de si la aplicación te da la opción de hacerlo o no, sería excluir "X" directorio de la monitorización, pero eso es innecesario en este caso ya que te basta con ignorar los directorios temporales y ya está.

Saludos
#4463
No se mucho sobre el tema http/redes en general, así que si me equivoco en algo que alguien me corrija, pero tengo entendido que el protocolo http no conoce el concepto de "listado de archivos" (a no ser que se utilice WebDAV).

Sin embargo, hay exploits para listar directamente los directorios del server, que dependiendo de tus conocimientos de programación y de la seguridad del server podrían dar resultados:

Cita de: https://www.owasp.org/index.php/Path_TraversalA Path Traversal attack aims to access files and directories that are stored outside the web root folder. By browsing the application, the attacker looks for absolute links to files stored on the web server. By manipulating variables that reference files with "dot-dot-slash (../)" sequences and its variations, it may be possible to access arbitrary files and directories stored on file system, including application source code, configuration and critical system files, limited by system operational access control. The attacker uses "../" sequences to move up to root directory, thus permitting navigation through the file system.

This attack can be executed with an external malicious code injected on the path, like the Resource Injection attack. To perform this attack it's not necessary to use a specific tool; attackers typically use a spider/crawler to detect all URLs available.

This attack is also known as "dot-dot-slash", "directory traversal", "directory climbing" and "backtracking".

Directory traversal attack - OWASP
Directory traversal attack - Wikipedia

Aparte, siempre puedes probar a utilizar un sofisticado web-spider, o herramientas más simples cómo wget:
wget.exe --spider -r --no-parent "http://www.sepbcs.gob.mx/Educacion%20Media%20Superior%20y%20Superior/Prepa_Abierta/GUIAS%20PREPARATORIA%20ABIERTA%20NUEVAS/"

Listarlos, se pueden listar, ahora... en el navegador cómo si fuera un directorio FTP, lo dudo.

PD: A mi esa web ni me funciona, ¿restricción de país tal vez?, ...ándele pinche gob.mx!! :xD.

Saludos
#4464

Viviendo en pleno apogeo de la era de la información al alcance de cualquier persona que disponga de un sistema informatizado (PC/Móvil), ¿ cómo puede una persona recurrir a formular una pregunta en un foro para decir "¿QUÉ ES X?" ?

¿EN SERIO?




Cita de: https://es.wikipedia.org/wiki/WikipediaWikipedia es una enciclopedia libre, políglota y editada colaborativamente. Es administrada por la Fundación Wikimedia, una organización sin ánimo de lucro cuya financiación está basada en donaciones.

Sus más de 37 millones de artículos en 287 idiomas han sido redactados conjuntamente por voluntarios de todo el mundo, y prácticamente cualquier persona con acceso al proyecto puede editarlos.

Iniciada en enero de 2001 por Jimmy Wales y Larry Sanger, es la mayor y más popular obra de consulta en Internet.

Exploit - Wikipedia, the free encyclopedia.

PD: user999, está prohibido abusar de mayúsculas en el foro (como escribir títulos en mayus), se considera gritar.
     Por favor, lee las normas del foro y respétalas. Esta norma no se aplica a .:UND3R:. por las circunstancias de sus intenciones...


Saludos!
#4465
Cita de: lobopk2 en 22 Septiembre 2015, 20:47 PMlas rutas que me da no tengo claro que sean las mismas donde lo dejara cuando se instala en el ordenador.

Solo por aclarártelo, si que son las mismas, solo que ThinApp les asigna un nombre especial para trabajarlas.

http://pubs.vmware.com/thinapp-51/index.jsp?topic=%2Fcom.vmware.thinapp51.userguide.doc%2Fprocessing_systemroot.html&resultof=%22macro%22

(las rutas están representadas para Windows XP)
CitarMacro Name              Typical Location
----------              ----------------

%AdminTools%            C:\Documents and Settings\<user_name>\Start Menu\Programs\Administrative Tools
%AppData%               C:\Documents and Settings\<user_name>\Application Data
%CDBurn Area%           C:\Documents and Settings\<user_name>\Local Settings\Application Data\Microsoft\CD Burning
%Common AdminTools%     C:\Documents and Settings\All Users\Start Menu\Programs\Administrative Tools
%Common AppData%        C:\Documents and Settings\All Users\Application Data
%Common Desktop%        C:\Documents and Settings\All Users\Desktop
%Common Documents%      C:\Documents and Settings\All Users\Documents
%Common Favorites%      C:\Documents and Settings\All Users\Favorites
%Common Programs%       C:\Documents and Settings\All Users\Start Menu\Programs
%Common StartMenu%      C:\Documents and Settings\All Users\Start Menu
%Common Startup%        C:\Documents and Settings\All Users\Start Menu\Programs\Startup
%Common Templates%      C:\Documents and Settings\All Users\Templates
%Cookies%               C:\Documents and Settings\<user_name>\Cookies
%Desktop%               C:\Documents and Settings\<user_name>\Desktop
%Drive_c%               C:\
%Favorites%             C:\Documents and Settings\<user_name>\Favorites
%Fonts%                 C:\Windows\Fonts
%History%               C:\Documents and Settings\<user_name>\Local Settings\History
%Internet Cache%        C:\Documents and Settings\<user_name>\Local Settings\Temporary Internet Files
%Local AppData%         C:\Documents and Settings\<user_name>\Local Settings\Application Data
%My Pictures%           C:\Documents and Settings\<user_name>\My Documents\My Pictures
%My Videos%             C:\Documents and Settings\<user_name>\My Documents\My Videos
%NetHood%               C:\Documents and Settings\<user_name>\NetHood
%Personal%              C:\Documents and Settings\<user_name>\My Documents
%PrintHood%             C:\Documents and Settings\<user_name>\PrintHood
%Profile%               C:\Documents and Settings\<user_name>
%Profiles%              C:\Documents and Settings
%Program Files Common%  C:\Program Files\Common Files
%ProgramFilesDir%       C:\Program Files
%Programs%              C:\Documents and Settings\<user_name>\Start Menu\Programs
%Recent%                C:\Documents and Settings\<user_name>\My Recent Documents
%Resources Localized%   C:\Windows\Resources\<language_ID>
%Resources%             C:\Windows\Resources
%SendTo%                C:\Documents and Settings\<user_name>\SendTo
%Startup%               C:\Documents and Settings\<user_name>\Start Menu\Programs\Startup
%SystemRoot%            C:\Windows
%SystemSystem%          C:\Windows\System32
%TEMP%                  C:\Documents and Settings\<user_name>\Local Settings\Temp
%Templates%             C:\Documents and Settings\<user_name>\Templates

Repásate el log generado.

PD: Ten en cuenta que ThinApp no realiza una aislación completa, quiero decir, que durante el proceso de monitorización cabe la posibilidad de que se recolecte basura debido al continuo movimiento de registro y del sistema de archivos por parte de otros procesos del sistema.

Saludos!
#4466
Respecto al código que has mostrado para WindowsForms, yo evitaría el uso de un módulo en el cual supuestamente defines eventos y los disparas o pones en escucha algún event-handlers despreocupándote de su tiempo de vida, donde además declaras objetos (controles) que probablemente nunca liberarás maunálmente (hasta finalizar la app), pues yo lo haría más o menos así ...dentro de lo que cabe para este ejemplo en particular, en una Class que implementa la interfáz IDisposable:

Código (vbnet) [Seleccionar]
Public Class TestClass : Implements IDisposable

   Private ReadOnly lbl As Label
   Private ReadOnly lblArray(3) As Label
   Private ReadOnly pnl As Panel

   <DebuggerStepThrough>
   Public Sub New(ByVal pnl As Panel)
       Me.pnl = pnl
       Me.lbl = New Label

       For index As Integer = 0 To (Me.lblArray.Length - 1)
           Me.lblArray(index) = New Label
       Next index

       Me.CrearPanel()
   End Sub

   Private Sub New()
   End Sub

   Private Sub CrearPanel()

       Dim startPos As New Point(x:=10, y:=20)
       Dim margin As Integer = 20

       Me.pnl.BackColor = Color.DarkGray

       For Each lbl As Label In Me.lblArray

           With lbl
               .Width = 15
               .Height = 15
               .BackColor = Color.Gray
               .Location = startPos 'posición X e Y del cuadro
               startPos.X += margin
           End With

       Next lbl

       If Not Me.pnl.InvokeRequired Then
           Me.pnl.Controls.AddRange(Me.lblArray)
       Else
           Me.pnl.Invoke(Sub() Me.pnl.Controls.AddRange(Me.lblArray))
       End If

   End Sub

#Region "IDisposable Support"

   ' To detect redundant calls when disposing.
   Private isDisposed As Boolean = False

   ''' <summary>
   ''' Releases all the resources used by this instance.
   ''' </summary>
   Public Sub Dispose() Implements IDisposable.Dispose
       Me.Dispose(isDisposing:=True)
       GC.SuppressFinalize(obj:=Me)
   End Sub

   Protected Sub Dispose(ByVal isDisposing As Boolean)

       If Not Me.isDisposed Then

           If isDisposing Then

               ' Dispose managed objects here...

               If Me.lbl IsNot Nothing Then
                   Me.lbl.Dispose()
               End If

               For Each lbl As Label In Me.lblArray
                   If lbl IsNot Nothing Then
                       lbl.Dispose()
                   End If
               Next lbl

           End If

       End If

       Me.isDisposed = True

   End Sub

#End Region

End Class


Modo de empleo:
Código (vbnet) [Seleccionar]
Dim cosa As New TestClass(Me.Panel1)
' cosa.Dispose()





Sobre WPF, asumiré que el control que has elegido cómo equivalente de un panel es un Canvas, en caso contrario hazlo (es lo recomendable por la MSDN).

La respuesta corta es que debes asignar el margen del control con el uso de la propiedad Margin:
Código (vbnet) [Seleccionar]
Label.Margin = New Thickness(Point.X, Point.Y, 0, 0)

También puedes utilizar las funciones Canvas.SetLeft y Canvas.SetTop para asignar el margen de un control hijo:
Código (vbnet) [Seleccionar]
Canvas.Children.Add(Label)
Canvas.SetLeft(label, Point.X)
Canvas.SetTop(label, Point.Y)


La respuesta larga es que, si te sientes más agusto con la familiaridad de la tecnología WindowsForms, entonces podrías heredar un label para definir la propiedad personalizada Location y usarla cómo la solias usar antes:

Código (vbnet) [Seleccionar]
Public Class CustomLabel : Inherits Label

   Public Property Location() As Point
       Get
           Return New Point(MyBase.Margin.Left, MyBase.Margin.Top)
       End Get
       Set(ByVal value As Point)
           ' La lógica del método "Set" se podría mejorar para que realmente se pueda considerar un "Location".
           MyBase.Margin = New Thickness(value.X, value.Y, 0, 0)
       End Set
   End Property

End Class


Y este código sería el equivalente para WPF de la class de WinForms que mostré arriba, donde aquí como puedes ver no implemento la interfáz IDisposable, ya que a diferencia de WinForms, la mayoría de controles realmente no tienen ningún recurso que liberar.

Código (vbnet) [Seleccionar]
Public NotInheritable Class TestClass

   Private ReadOnly lbl As Label
   Private ReadOnly lblArray(3) As Label
   Private ReadOnly pnl As Canvas

   <DebuggerStepThrough>
   Public Sub New(ByVal pnl As Canvas)
       Me.pnl = pnl
       Me.lbl = New Label

       For index As Integer = 0 To (Me.lblArray.Length - 1)
           Me.lblArray(index) = New Label
       Next index

       Me.CrearPanel()
   End Sub

   Private Sub New()
   End Sub

   Private Sub CrearPanel()

       Dim startPos As New Point(x:=10, y:=20)
       Dim margin As Integer = 20

       Me.pnl.Background = Brushes.Gray

       For Each lbl As Label In Me.lblArray

           With lbl
               .Width = 15
               .Height = 15
               .Background = Brushes.Red
               .Margin = New Thickness(startPos.X, startPos.Y, 0, 0)

               startPos.X += margin
           End With

           Me.pnl.Children.Add(lbl)

       Next lbl

   End Sub

End Class


Modo de empleo:
Código (vbnet) [Seleccionar]
Dim cosa As New TestClass(Me.Canvas1)

Saludos
#4467
Cita de: jam man en 22 Septiembre 2015, 05:49 AMpor eso el rango de 1 hasta 28

El abecedario Inglés se compone de 26 letras, mientras que el Español de 27, así que viendo tu búcle asumiré que intentas incluir la "Ñ", por ende, omitiré sugerirte soluciones que serían más simples si tu intención fuese utilizar el abecedario Inglés, haciendo uso de la función Zip.
https://docs.python.org/2/library/functions.html#zip

Para el primer problema, puedes declarar un set de caraceres, y para el segundo problema, puedes usar la función string.zfill() aka zerofill.
https://docs.python.org/2/library/string.html#string.zfill

Aquí tienes un ejemplo:
Código (python) [Seleccionar]
# -*- coding: Windows-1252 -*-

charSet = 'a b c d e f g h i j k l m n \xf1 o q r s t u v w x y z'.split()

keyValuePairs = [
    ((charSet[value]), str((value+5)**2).zfill(4))
    for value in range(0, len(charSet))   
]

for (key, value) in keyValuePairs:
   print key, value



Resultado de ejecución:
Citara 0025
b 0036
c 0049
d 0064
e 0081
f 0100
g 0121
h 0144
i 0169
j 0196
k 0225
l 0256
m 0289
n 0324
ñ 0361
o 0400
q 0441
r 0484
s 0529
t 0576
u 0625
v 0676
w 0729
x 0784
y 0841
z 0900

Saludos
#4469
Cita de: katwenty en 21 Septiembre 2015, 17:04 PMSTOP: 0xC0000221 unknown hard error
c:\SYSTEM\system32\ntdll.dll







Fuente:
http://support.microsoft.com/es-es/kb/314474

Ignora la resolución de Microsoft ya que tu intención es formatear el HDD, probablemente el archivo ntdll.dll haya sido dañado por un mal estado del HDD (y probablemente habrán más archivos dañados que te saltarían despues de "conseguir" reparar ese archivo), mejor deberías reemplazar ese HDD por un dispositivo nuevecito para prevenir futuros posibles fallos similares.

Saludos y suerte
#4470
CitarPrograma grabador de rutas en la instalacion

Vaya, es una extraña forma de describirlo ...jaja, ¡cómo para entenderte!, pero tranquilo, te entendí perfectamente y estoy muy habituado a monitorizar instalaciones de Software, tu problema quedará solucionado tras leer este post en 3...2...1 :P




Cita de: lobopk2 en 18 Septiembre 2015, 21:38 PMSospecho que algunos programas depositan archivos en partes que son ocultas al sistema o en sitios que ni si quiera sabria llegar dado el gran laverinto de windows.

Sospechas muy bien, pero las ubicaciones no son ocultas, simplemente son desconocidas para aquellos que no conocen mucho del sistema de archivos de Windows. Creeme, las posibles ubicaciones son varias, pero siempre las mismas, solo hay que saber un poquito sobre cómo trabaja Windows, un Install Builder, o el software en general.

Te indico la mayoría de directorios más comunes (que no todos) a continuación:


  • C:\Program Files
  • C:\Program Files (x86)
    El directorio de trabajo de la aplicación, dependiendo de si es un software de 64 Bits bajo un Windows de 64 Bits, un software de 32 Bits bajo un Windows de 32 Bits, o un software de 32 Bits bajo un Windows de 64 Bits.

  • C:\Program Files\Common Files
  • C:\Program Files (x86)\Common Files
    El directorio de archivos de propósito general de la aplicación, o librerías compartidas de la aplicación.
    Este directorio es muy poco utilizado en general por el software, no suelen expandir archivos en ese directorio, excepto las aplicaciones realmente "pesadas" con multitud de librerías cómo Photoshop, SoundForge, Office, Visual Studio, etc.

  • C:\ProgramData
  • C:\Users\{usuario}\AppData\Local
  • C:\Users\{usuario}\AppData\LocalLow
  • C:\Users\{usuario}\AppData\Roaming
    En general se almacena configuración específica de la aplicación cómo por ejemplo la configuración de usuario, la cache del programa, listas MRU, o archivos imprescindibles, en fin, pueden ser muchas cosas en general.

  • C:\Users\{usuario}\Documents
  • C:\Users\Public\Documents
    En general se almacenan recursos opcionales específicos de la aplicación (ej. presets o templates), pero también pueden ser archivos imprescindibles (inclusive en el directorio de documentos públicos, que me he llegado a encontrar licencias de software).


Nota(s):

  • A los directorios mencionados súmale cualquier otro posible directorio especial conocido de Windows, cómo por ejemplo los directorios "SendTo", "Favorites", "Fonts", los drivers en "System32\Drivers", los accesos directos, etc.
  • Algunas ubicaciones de los directorios mencionados varian en Windows XP.
  • El propósito de los directorios que he mencionado puede variar dependiendo de la aplicación ...de cómo y para que haya sido desarrollado por su autor, no todos los programadores siguen el mismo estándar, claro está.





Cita de: lobopk2 en 18 Septiembre 2015, 21:38 PMHe usado revounistaller pro y tiene una funcion que hace eso graba la instalacion, pero no encontre el logo.

Te debería servir esa aplicación que utilizas, yo utilizo 'Uninstaller Pro' (http://www.crystalidea.com/), que trae la misma funcionalidad que mencionas, pero no te aconsejo utilizar un programa dedicado a la desinstalación de software para algo tan distinto cómo la monitorización de archivos, ya que el soporte para ese tipo de funcionalidad es muy básico (que no ineficiente), y mucho menos basarte en los archivos que se han podido localizar al hacer un seguimiento de desinstalación, ya que casi siempre quedarán residuos sin desinstalar que no se han encontrado.




Cita de: lobopk2 en 18 Septiembre 2015, 21:38 PMNo conozco muy bien que tipo de sofware seria el mas apropiado para mi acometido y por eso confio en ustedes que seguro que tienen mas experiencia.

A veces pienso que deberían pagarme por mi esfuerzo y empeño en el foro... xD a ver, te explico.

Existen varias maneras, puedes utilizar un software especializado en monitorizar una instalación (Install Tracer) o bien puedes usar un software dedicado a monitorizar los cambios de los archivos en general, de una ruta específica o del disco duro por completo. Ambas cosas te sirven, elige el modo con el que más agusto te sientas.

Una herramienta con la que te vas a sentir muy familiarizado o a gusto puede ser Moo0 File Monitor:
http://www.moo0.com/?top=http://www.moo0.com/software/FileMonitor/
Es tan simple cómo activar el monitor cuando vayas a instalar el software, y desactivarlo cuando ya lo hayas instalado, en el registro en tiempo real pudes ver todos los tipos de eventos que han ocurrido en el sistema de archivos (creación, eliminación, etc).

Ten en cuenta que el software, además de expandir archivos, probablemente también genere claves de registro, y en muchos casos si esas claves no existen entonces la aplicación en cuestión se vuelve inestable dejando de funcionar, por ende, deberás monitorizar el registro también.

Para monitorizar el registro, sin duda re recomiendo 'RegShot 2 Unicode' (no vayas a descargarte la version 1.X, que es de otro autor)
http://www.wincert.net/forum/files/file/16-regshot2-unicode/
La aplicación genera un script de registro listo para ser usado, el cual contiene todas las modificaciones realizadas en el sistema durante la monitorización, aunque antes te sugiero filtrar claves indeseadas para ignorar basura en el script.

Si prefieres probar una herramienta más avanzada y especializada en monitorizar instalacioens, entonces te recomiendo 'ThinApp' de VMWare.
http://www.vmware.com/products/thinapp
En principio su funcionalidad es para crear apliaciones portables que correrán bajo un entorno isolado (sandbox), traceando los archivos y claves que expande un instalador, pero simplemente ignora esa funcionalidad, lo bueno que tiene es que te hace el 90% del trabajo recolectando y agrupando por directorios los archivos expandidos (y copíandolos ahí), y con eso ya tienes para trabajar a gusto... todo reunido.

PD: Existen muchas aplicaciones más, pero esas son mis favoritas para esta tarea en particular de monitorizar instalaciones.

Saludos.