We know how to get the list of software installed from an instance of an operating system.
My windows is unbootable. No safe mode. I want to get the list of installed software so that I can wipe and reinstall.
We know how to get the list of software installed from an instance of an operating system.
My windows is unbootable. No safe mode. I want to get the list of installed software so that I can wipe and reinstall.
The list of installed software can be retrieved from the registry.
Either remove the hard drive and load it onto another system, or boot any Linux live CD/DVD/USB.
Copy the SOFTWARE file located in the X:\Windows\System32\config. This file contains the HKEY_LOCAL_MACHINE\SOFTWARE registry hive, and includes the system-wide installed software data.
Copy all NTUSER.DAT files from all X:\Users subfolders, and rename them after their order (e.g. NTUSER1.DAT, NTUSER2.DAT, etc.). These files contains the HKEY_CURRENT_USER registry hive, and include the per-user installed software data.
Get all the copied files in a working Windows system, and open an elevated command prompt.
Type or paste the following command, and press Enter after replacing the path inside quotes:
reg load "HKLM\SOFTWARE2" "X:\Folder\containing\SOFTWARE"
Set the character encoding to UTF-8 to avoid issues with Unicode characters:
chcp 65001
To get the list of all system-wide applications installed, run these commands:
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"
The list will be created on the desktop.
If the original system was 32-bit (x86), skip to step 9. Otherwise run the following command too:
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"
Unload the machine registry hive:
reg unload "HKLM\SOFTWARE2"
Load the user registry hive:
reg load "HKU\User1" "X:\Path\to\NTUSER1.DAT"
Get the list of the per-user installed software:
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"
If the required keys don't exist, that means there are no user-installed programs.
Unload the registry hive:
reg unload "HKU\User1"
Repeat steps 10-12 for any other NTUSERx.DAT file.
Sort the resulting list alphabetically:
sort "%UserProfile%\Desktop\list.txt" /o "%UserProfile%\Desktop\list.txt"
Boot from Windows 7 DVD
repair
command prompt
dism /Image:c:\ /Get-Apps (Gets MSI installed programs.)
You should be able to run regedit from there.
Inside regedit use File Load Hive and select c:\windows\system32\config\SOFTWARE
export (First one 64 bit software, and 2nd is 32 bit software)
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall