เรารู้วิธีรับรายการซอฟต์แวร์ที่ติดตั้งจากอินสแตนซ์ของระบบปฏิบัติการ
หน้าต่างของฉันไม่สามารถบูตได้ ไม่มีเซฟโหมด ฉันต้องการรับรายการซอฟต์แวร์ที่ติดตั้งเพื่อให้ฉันสามารถล้างและติดตั้งใหม่ได้
เรารู้วิธีรับรายการซอฟต์แวร์ที่ติดตั้งจากอินสแตนซ์ของระบบปฏิบัติการ
หน้าต่างของฉันไม่สามารถบูตได้ ไม่มีเซฟโหมด ฉันต้องการรับรายการซอฟต์แวร์ที่ติดตั้งเพื่อให้ฉันสามารถล้างและติดตั้งใหม่ได้
คำตอบ:
รายการซอฟต์แวร์ที่ติดตั้งสามารถเรียกคืนได้จากรีจิสทรี
ลบฮาร์ดไดรฟ์และโหลดลงในระบบอื่นหรือบูต Linux สด CD / DVD / USB
การคัดลอกไฟล์ที่ตั้งอยู่ในSOFTWARE X:\Windows\System32\configไฟล์นี้มีHKEY_LOCAL_MACHINE\SOFTWAREกลุ่มรีจิสทรีและรวมถึงข้อมูลซอฟต์แวร์ที่ติดตั้งทั่วทั้งระบบ
คัดลอกNTUSER.DATไฟล์จากทั้งหมดX:\Usersย่อยและเปลี่ยนชื่อพวกเขาหลังจากที่สั่งซื้อของพวกเขา (เช่นNTUSER1.DAT, NTUSER2.DATฯลฯ ) ไฟล์เหล่านี้มีHKEY_CURRENT_USERกลุ่มรีจิสทรีและรวมถึงข้อมูลซอฟต์แวร์ที่ผู้ใช้ติดตั้ง
รับไฟล์ทั้งหมดที่คัดลอกในระบบที่ใช้ Windows ทำงานและเปิดพร้อมท์คำสั่ง
พิมพ์หรือวางคำสั่งต่อไปนี้และกดEnterหลังจากแทนที่เส้นทางภายในเครื่องหมายคำพูด:
reg load "HKLM\SOFTWARE2" "X:\Folder\containing\SOFTWARE"
ตั้งค่าการเข้ารหัสอักขระเป็น UTF-8 เพื่อหลีกเลี่ยงปัญหาเกี่ยวกับอักขระ Unicode:
chcp 65001
ในการรับรายการแอปพลิเคชันทั่วทั้งระบบที่ติดตั้งให้รันคำสั่งเหล่านี้:
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"
รายการจะถูกสร้างขึ้นบนเดสก์ท็อป
หากระบบดั้งเดิมเป็น 32 บิต (x86) ให้ข้ามไปที่ขั้นตอนที่ 9 มิฉะนั้นให้เรียกใช้คำสั่งต่อไปนี้ด้วย:
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"
ยกเลิกการโหลดกลุ่มรีจิสทรีของเครื่อง:
reg unload "HKLM\SOFTWARE2"
โหลดกลุ่มรีจิสทรีของผู้ใช้:
reg load "HKU\User1" "X:\Path\to\NTUSER1.DAT"
รับรายการซอฟต์แวร์ที่ติดตั้งต่อผู้ใช้:
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"
หากไม่มีคีย์ที่จำเป็นแสดงว่าไม่มีโปรแกรมที่ผู้ใช้ติดตั้ง
ยกเลิกการโหลดกลุ่มรีจิสทรี:
reg unload "HKU\User1"
ทำซ้ำขั้นตอนที่ 10-12 สำหรับNTUSERx.DATไฟล์อื่น ๆ
เรียงลำดับรายการผลลัพธ์ตามตัวอักษร:
sort "%UserProfile%\Desktop\list.txt" /o "%UserProfile%\Desktop\list.txt"
Uninstallคีย์ที่ระบุในกลุ่มผู้ใช้ไม่มีอยู่นั่นหมายความว่าไม่มีโปรแกรมที่ติดตั้งสำหรับผู้ใช้รายนั้นเท่านั้นหรือไม่?
Uninstallสำคัญคือสิ่งที่ได้รับการสอบถาม (ส่วนใหญ่) โดย applet แผงควบคุมโปรแกรมและคุณสมบัติเพื่อเติมรายการซอฟต์แวร์ อย่างไรก็ตามฉันได้แก้ไขคำตอบเดิมเพื่อรวมโปรแกรมที่ติดตั้ง Windows Installer (MSI) ในกรณีที่คุณทำตามขั้นตอนทั้งหมดแล้วให้ทำซ้ำขั้นตอนที่ 4 เป็นต้นไป แจ้งให้เราทราบหากคุณมีข้อสงสัยเพิ่มเติม
บูตจากดีวีดี Windows 7
ซ่อมแซม
พร้อมรับคำสั่ง
dism / ภาพ: c: \ / Get-Apps (รับโปรแกรมที่ติดตั้ง MSI)
คุณควรจะสามารถเรียกใช้ regedit จากตรงนั้น
ภายใน regedit ใช้ File Load Hive และเลือก c: \ windows \ system32 \ config \ SOFTWARE
ส่งออก (ซอฟต์แวร์ 64 บิตแรกหนึ่งและที่สองคือซอฟต์แวร์ 32 บิต)
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
HKEY_LOCAL_MACHINEกลุ่ม
regeditก็ไม่เพียงพอเพราะคุณต้องโหลดC:\Windows\System32\config\SOFTWAREกลุ่มรีจิสทรีด้วยตนเองก่อนเพื่อเข้าถึงคีย์จริง
dismคำสั่งล้มเหลวสำหรับฉัน ...