Một trong những ứng dụng tôi làm việc lưu trữ chuỗi kết nối cơ sở dữ liệu trong sổ đăng ký. Tôi đã thay đổi giá trị (thông qua regedit) để trỏ đến một DB khác. Ứng dụng của tôi vẫn đang chọn giá trị cũ. Khá chắc chắn rằng tôi đã làm gì đó sai, vì vậy đã kiểm tra mã, khởi động lại, tìm kiếm sổ đăng ký để xác minh không có khóa nào khác có cùng tên. Không có niềm vui. Tôi thậm chí đã xóa khóa, khởi động lại và ứng dụng của tôi vẫn đang đọc giá trị tốt.
Sau đó, tôi đã sử dụng PowerShell để liệt kê các giá trị (thông qua Get-ItemProperty) và điều đó cũng cho thấy giá trị cũ. Đã sử dụng Set-ItemProperty để cập nhật giá trị, và sau đó mã của tôi đã chọn tốt. Tuy nhiên, regedit vẫn hiển thị dữ liệu cũ. Thậm chí có một nhà phát triển khác và một kỹ sư hệ thống để xem như một kiểm tra vệ sinh. Không có ý tưởng.
Có ai biết tại sao regedit dường như không hiển thị cùng thông tin như Get-ItemProperty không?
HKLM\Software
vị trí 64 bit và là ứng dụng 64 bit? Nếu đó là ứng dụng 32 bit thì nó sẽ tự động cố gắng đọc registry 32 bit HKLM\Software
. Nếu vấn đề là những gì tôi nghĩ thì đó là Powershell nhiều hơn thì có khả năng xử lý việc này tự động và được ẩn cho bạn? Tải lên phiên bản 32 bit của hệ điều hành trong một máy ảo, lặp lại những gì bạn đã làm, tôi nhận được rằng Keltari đặt cược rằng bạn sẽ không thể sao chép vấn đề.