แสดงรายการซอฟต์แวร์ที่ติดตั้งไว้ทั้งหมดโดยไม่ต้องบูตระบบปฏิบัติการ


5

เรารู้วิธีรับรายการซอฟต์แวร์ที่ติดตั้งจากอินสแตนซ์ของระบบปฏิบัติการ

หน้าต่างของฉันไม่สามารถบูตได้ ไม่มีเซฟโหมด ฉันต้องการรับรายการซอฟต์แวร์ที่ติดตั้งเพื่อให้ฉันสามารถล้างและติดตั้งใหม่ได้


คุณได้รับรหัสหยุดหรือการตรวจสอบข้อผิดพลาดอะไรบ้างที่ windows ไม่สามารถบูตได้
cybernard

@cybernard BSOD PROCESS1_INITIALIZATION_ERROR 0x000000b6 กล่าวถึงในหัวข้อยาวที่นี่ หลังจากเห็นวิธีแก้ปัญหาที่เป็นไปไม่ได้ฉันตัดสินใจติดตั้งใหม่
Milind R

คำตอบ:


5

สารละลาย

รายการซอฟต์แวร์ที่ติดตั้งสามารถเรียกคืนได้จากรีจิสทรี

  1. ลบฮาร์ดไดรฟ์และโหลดลงในระบบอื่นหรือบูต Linux สด CD / DVD / USB

  2. การคัดลอกไฟล์ที่ตั้งอยู่ในSOFTWARE X:\Windows\System32\configไฟล์นี้มีHKEY_LOCAL_MACHINE\SOFTWAREกลุ่มรีจิสทรีและรวมถึงข้อมูลซอฟต์แวร์ที่ติดตั้งทั่วทั้งระบบ

  3. คัดลอกNTUSER.DATไฟล์จากทั้งหมดX:\Usersย่อยและเปลี่ยนชื่อพวกเขาหลังจากที่สั่งซื้อของพวกเขา (เช่นNTUSER1.DAT, NTUSER2.DATฯลฯ ) ไฟล์เหล่านี้มีHKEY_CURRENT_USERกลุ่มรีจิสทรีและรวมถึงข้อมูลซอฟต์แวร์ที่ผู้ใช้ติดตั้ง

  4. รับไฟล์ทั้งหมดที่คัดลอกในระบบที่ใช้ Windows ทำงานและเปิดพร้อมท์คำสั่ง

  5. พิมพ์หรือวางคำสั่งต่อไปนี้และกดEnterหลังจากแทนที่เส้นทางภายในเครื่องหมายคำพูด:

    reg load "HKLM\SOFTWARE2" "X:\Folder\containing\SOFTWARE"
    
  6. ตั้งค่าการเข้ารหัสอักขระเป็น UTF-8 เพื่อหลีกเลี่ยงปัญหาเกี่ยวกับอักขระ Unicode:

    chcp 65001
    
  7. ในการรับรายการแอปพลิเคชันทั่วทั้งระบบที่ติดตั้งให้รันคำสั่งเหล่านี้:

    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"
    

    รายการจะถูกสร้างขึ้นบนเดสก์ท็อป

  8. หากระบบดั้งเดิมเป็น 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"
    
  9. ยกเลิกการโหลดกลุ่มรีจิสทรีของเครื่อง:

    reg unload "HKLM\SOFTWARE2"
    
  10. โหลดกลุ่มรีจิสทรีของผู้ใช้:

    reg load "HKU\User1" "X:\Path\to\NTUSER1.DAT"
    
  11. รับรายการซอฟต์แวร์ที่ติดตั้งต่อผู้ใช้:

    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"
    

    หากไม่มีคีย์ที่จำเป็นแสดงว่าไม่มีโปรแกรมที่ผู้ใช้ติดตั้ง

  12. ยกเลิกการโหลดกลุ่มรีจิสทรี:

     reg unload "HKU\User1"
    
  13. ทำซ้ำขั้นตอนที่ 10-12 สำหรับNTUSERx.DATไฟล์อื่น ๆ

  14. เรียงลำดับรายการผลลัพธ์ตามตัวอักษร:

     sort "%UserProfile%\Desktop\list.txt" /o "%UserProfile%\Desktop\list.txt"
    

ปัญหาที่ทราบ

  • แอปพลิเคชั่นบางตัวอาจมีการระบุไว้มากกว่าหนึ่งครั้ง ซึ่งมักจะเกิดขึ้นเมื่อมีส่วนประกอบหลายอย่างที่ใช้ชื่อที่แสดงเดียวกัน

อ้างอิง


ยอดเยี่ยม! หากUninstallคีย์ที่ระบุในกลุ่มผู้ใช้ไม่มีอยู่นั่นหมายความว่าไม่มีโปรแกรมที่ติดตั้งสำหรับผู้ใช้รายนั้นเท่านั้นหรือไม่?
Milind R

@MilindR ที่Uninstallสำคัญคือสิ่งที่ได้รับการสอบถาม (ส่วนใหญ่) โดย applet แผงควบคุมโปรแกรมและคุณสมบัติเพื่อเติมรายการซอฟต์แวร์ อย่างไรก็ตามฉันได้แก้ไขคำตอบเดิมเพื่อรวมโปรแกรมที่ติดตั้ง Windows Installer (MSI) ในกรณีที่คุณทำตามขั้นตอนทั้งหมดแล้วให้ทำซ้ำขั้นตอนที่ 4 เป็นต้นไป แจ้งให้เราทราบหากคุณมีข้อสงสัยเพิ่มเติม
and31415

ทำงานได้อย่างสมบูรณ์แบบ ขอบคุณที่ทำให้มันมีรายละเอียดมาก ฉันสามารถจัดการได้ด้วยชื่อของคีย์และคุณลักษณะ แต่จะช่วยให้ผู้อื่นได้รับประโยชน์อย่างมาก
Milind R

3

บูตจากดีวีดี 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กลุ่ม
and31415

1
@ and31415 นอกจากนี้ยังมีโปรแกรมพกพาอย่างสมบูรณ์ซึ่งปกติคุณจะใช้งานกับแท่ง USB อย่างไรก็ตามที่ตั้งของรีจิสทรี 2 แห่งข้างต้นควรให้ 99 บวกหรือลบสองเปอร์เซ็นต์
cybernard

มันอาจจะไม่เจ็บที่จะพิจารณากลุ่มรีจิสทรีของผู้ใช้เว้นแต่จะมั่นใจได้ว่าพวกเขาจะไม่แสดงรายการโปรแกรมเพิ่มเติม นอกจากนี้หาก OP มีแอพพลิเคชั่นแบบพกพาบางตัวใน USB stick สิ่งเหล่านั้นจะไม่ได้รับผลกระทบจากการติดตั้ง Windows ใหม่ ไม่ว่าจะด้วยวิธีใดการเรียกใช้regeditก็ไม่เพียงพอเพราะคุณต้องโหลดC:\Windows\System32\config\SOFTWAREกลุ่มรีจิสทรีด้วยตนเองก่อนเพื่อเข้าถึงคีย์จริง
and31415

dismคำสั่งล้มเหลวสำหรับฉัน ...
Milind R
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.