Khi phần mềm của tôi được cài đặt, thông qua MSI, nó tạo một số khóa đăng ký trong HKLM. Khi mọi người đang sử dụng phần mềm, sở thích cá nhân của họ được lưu vào HKCU. Khi phần mềm được gỡ cài đặt, các khóa đăng ký HKLM và HKCU sẽ bị xóa, nhưng tôi nghĩ rằng đó chỉ là các khóa HKCU cho người dùng đang chạy quá trình gỡ cài đặt sẽ bị xóa. Điều này có đúng không? Nếu vậy, làm cách nào để đảm bảo khóa con HKCU cho những người khác đã sử dụng phần mềm của tôi trên cùng một máy bị xóa?Làm thế nào để loại bỏ các khóa registry HKCU khi gỡ cài đặt phần mềm?
CẬP NHẬT: 'Tùy chọn riêng lẻ' được lưu trong trường hợp của tôi không thực sự là cài đặt mà người dùng đã chọn, mà là dữ liệu mà ứng dụng đã lưu trong khi đang chạy cho người dùng đó. Vì vậy, nó không thực sự là dữ liệu mà người dùng muốn giữ lại. Có vẻ như quyền xóa nó khi gỡ cài đặt vì nó sẽ không có bất kỳ sử dụng nào nếu ứng dụng được cài đặt lại. Vì vậy, tôi đoán gợi ý tốt nhất cho đến nay là Ed's: don't use the registry, mặc dù điều đó không thực sự giải quyết được câu hỏi ban đầu.
Tôi không thể lặp qua từng subtrees của HKEY_USERS và xóa dữ liệu của tôi? Hoặc là những gì bạn đang nói sẽ chậm? – Rory
Thật nguy hiểm khi xóa dữ liệu theo cách này trong các tình huống có hồ sơ chuyển vùng. Tôi hơi mờ về chi tiết, nhưng tôi nghĩ nó sẽ làm tăng so sánh dấu thời gian và có thể khiến dữ liệu hồ sơ bị mất nếu hồ sơ không chính xác được chọn làm người chiến thắng của "hợp nhất". –
OK, nhận ra rằng đó là * không * 'dữ liệu của bạn'. Khi nó nằm trong hive đăng ký người dùng, đó là dữ liệu * của người dùng *. Và có, tải và dỡ bỏ các phát ban người dùng riêng biệt là khá chậm. Và bạn cần SCRUPULOUSLY không làm bất cứ điều gì để cấu hình tài khoản hệ thống, vì vậy trước tiên bạn cần phải xác định các hồ sơ người dùng thường xuyên. Và như MichaelU đề cập, nếu hồ sơ chuyển vùng đang được sử dụng, bạn có thể gây ra những thứ bị hỏng mà không thuộc về ứng dụng của bạn (bạn có thực sự muốn một nhóm IT khách hàng gọi cho bạn với một hóa đơn để xây dựng lại tất cả hồ sơ người dùng của họ không?). ĐÂY LÀ MỘT Ý TƯỞNG TỒI. – DaveE