Tôi đã làm rối cài đặt WiX trên nhiều máy chủ để nó không còn xóa các tệp hoặc thành phần (hoặc thậm chí các tính năng khác) trong khi gỡ cài đặt. Nhật ký MSI cho thấy rằng BeforelyPinned = 1 trên tất cả các thành phần sẽ không gỡ cài đặt.Xóa thành phần GUID = "" được cài đặt với WiX
Tôi không có bất kỳ điều gì lạ mắt đang diễn ra như sử dụng tính năng SharedDll hoặc thậm chí là các thành phần được chia sẻ giữa các trình cài đặt khác nhau.
Tôi nghĩ rằng tôi đã theo dõi nó xuống một bản sửa đổi cụ thể của mã WiX của tôi. Tôi đã làm một vài điều ngu ngốc. Tôi (vô ý) đã tạo thành phần không được quản lý với một tờ trống rỗng Guid
<Component Id="file.ext" Guid="">
<File .../>
<Component>
và tôi cũng thay đổi vị trí tệp của thành phần khác và Id (nhưng không phải là Hướng dẫn). Tất cả các thành phần có trong các bản sửa đổi trước đó đều hiển thị PreviouslyPinned = 1 và sẽ không gỡ cài đặt và các thành phần mới được thêm sau khi cài đặt/gỡ cài đặt bản sửa đổi chính xác.
Làm cách nào để trình cài đặt của tôi trở lại bình thường và xóa các thành phần được ghim trước đây?
Những gì tôi nghe bạn nói là, kể từ khi một GUID trống thậm chí không đăng ký một thành phần, nó sẽ không có hiệu lực trên các thành phần khác. Có đúng không? –
Có, nói chung GUID trống sẽ không có hiệu lực trên các thành phần khác kể từ MSI bỏ qua nó sau khi cài đặt các tập tin. Tuy nhiên, hiếm khi thực tế mà không có sửa đổi: tệp được GUID trống cài đặt sẽ không được gỡ cài đặt. Nếu đây là tệp được phiên bản và bạn không thay đổi vị trí cài đặt trước khi thêm lại một guid, về mặt lý thuyết có thể tệp hiện có có thể chặn cài đặt phiên bản tệp mới (nếu tệp hiện có là phiên bản cao hơn). Ngoài ra còn có một số trường hợp không chắc chắn khác nếu bạn sử dụng nâng cấp nhỏ, nhưng nếu bạn không sử dụng nó, tôi sẽ không đi vào nó. –
Cảm ơn câu trả lời chi tiết của bạn! Cuối cùng để có được mọi thứ khác để unstall đúng cách (loại bỏ các tham chiếu PreviouslyPinned = 1 từ bản ghi MSI), tôi đã phải vào registry trên máy tính đó và loại bỏ tất cả các thành phần từ trình cài đặt của tôi dưới HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Installer \ UserData \ \ Thành phần dựa trên mẹo tôi tìm thấy ở đây http://blogs.msdn.com/icumove/archive/2008/06/17/windows-installer-error-2908-with-sub-errors- 1402-and-1450.aspx –