Solução
A lista de softwares instalados pode ser recuperada do registro.
-
Remova o disco rígido e carregue-o em outro sistema ou inicialize qualquer CD / DVD / USB ao vivo do Linux.
-
Copie o arquivo
SOFTWARE
localizado emX:\Windows\System32\config
. Este arquivo contém a seção de registroHKEY_LOCAL_MACHINE\SOFTWARE
e inclui os dados de software instalados em todo o sistema. -
Copie todos os arquivos
NTUSER.DAT
de todas as subpastasX:\Users
e renomeie-os após o pedido deles (por exemplo,NTUSER1.DAT
,NTUSER2.DAT
, etc.). Esses arquivos contêm a seção de registroHKEY_CURRENT_USER
e incluem os dados de software instalados por usuário. -
Obtenha todos os arquivos copiados em um sistema Windows operacional e abra um prompt de comando elevado .
-
Digite ou cole o seguinte comando e pressione Enter depois de substituir o caminho entre aspas:
reg load "HKLM\SOFTWARE2" "X:\Folder\containing\SOFTWARE"
-
Defina a codificação de caracteres como UTF-8 para evitar problemas com caracteres Unicode:
chcp 65001
-
Para obter a lista de todos os aplicativos do sistema instalados, execute estes comandos:
for /f "tokens=3,*" %A in ('"reg query "HKLM\SOFTWARE2\Microsoft\Windows\CurrentVersion\Uninstall" /v "DisplayName" /s | findstr /c:"REG_SZ" "') do @echo %A %B>>"%UserProfile%\Desktop\list.txt" for /f "tokens=3,*" %A in ('"reg query "HKLM\SOFTWARE2\Microsoft\Windows\CurrentVersion\Installer\UserData" /v "DisplayName" /s | findstr /c:"REG_SZ" "') do @echo %A %B>>"%UserProfile%\Desktop\list.txt"
A lista será criada na área de trabalho.
-
Se o sistema original foi de 32 bits (x86), pule para o passo 9. Caso contrário, execute o seguinte comando também:
for /f "tokens=3,*" %A in ('"reg query "HKLM\SOFTWARE2\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" /v "DisplayName" /s | findstr /c:"REG_SZ" "') do @echo %A %B>>"%UserProfile%\Desktop\list.txt"
-
Descarregue a seção de registro da máquina:
reg unload "HKLM\SOFTWARE2"
-
Carrega a seção do registro do usuário:
reg load "HKU\User1" "X:\Path\to\NTUSER1.DAT"
-
Obtenha a lista do software instalado por usuário:
for /f "tokens=3,*" %A in ('"reg query "HKU\User1\Software\Microsoft\Windows\CurrentVersion\Uninstall" /v "DisplayName" /s | findstr /c:"REG_SZ" "') do @echo %A %B>>"%UserProfile%\Desktop\list.txt" for /f "tokens=3,*" %A in ('"reg query "HKU\User1\Software\Microsoft\Installer" /v "ProductName" /s | findstr /c:"REG_SZ" "') do @echo %A %B>>"%UserProfile%\Desktop\list.txt"
Se as chaves necessárias não existirem, isso significa que não há programas instalados pelo usuário.
-
Descarregue a seção do registro:
reg unload "HKU\User1"
-
Repita as etapas 10 a 12 para qualquer outro arquivo
NTUSERx.DAT
. -
Classifique a lista resultante em ordem alfabética:
sort "%UserProfile%\Desktop\list.txt" /o "%UserProfile%\Desktop\list.txt"
Problemas conhecidos
- Alguns aplicativos podem ser listados mais de uma vez. Isso geralmente acontece quando eles incluem vários componentes que compartilham o mesmo nome de exibição.