Có cách nào để KHÔNG xóa tệp sau khi gỡ cài đặt không?Làm thế nào để làm cho WiX để lại tệp sau khi gỡ cài đặt?
Trả lời
Đặt Component
giá trị Permanent="yes"
như vậy:
<Component Id="LicenseDoc" Guid="*" Permanent="yes">
<File Id ="License.rtf" Source="$(var.SolutionDir)Installer\License.rtf" />
</Component>
Khen ngợi của Phil Wilson từ wixusers mailing-list:
Xem các tài liệu SDK MSI cho bảng Component - thiết lập guid Component để được null (trống). Hiệu quả của điều này là thành phần không được đăng ký (vì vậy nó không thể được sửa chữa) và nó sẽ không bị gỡ cài đặt.
Một cách khác để ngăn chặn Trình cài đặt Windows xóa cấu phần khi gỡ cài đặt là đặt thành phần trống hoặc rỗng GUID. Điều này sẽ làm cho thành phần được cài đặt nhưng nó sẽ không bao giờ được theo dõi hoặc gỡ cài đặt.
Xem MSI SDK documentation: "... nếu cột này (ComponentId) không có giá trị, trình cài đặt không đăng ký thành phần và thành phần không thể được gỡ bỏ hoặc sửa chữa bởi trình cài đặt. Điều này có thể được cố ý thực hiện nếu thành phần chỉ cần thiết trong quá trình cài đặt, chẳng hạn như tác vụ tùy chỉnh xóa các tệp tạm thời hoặc xóa một sản phẩm cũ. Cũng có thể hữu ích khi sao chép các tệp dữ liệu vào máy tính của người dùng mà không cần phải đăng ký. "
- 1. Wix CopyFile trước khi gỡ cài đặt và khôi phục sau khi gỡ cài đặt
- 2. Chạy devenve.exe/setup sau khi gỡ cài đặt trong Wix
- 3. Làm cách nào để ngăn Wix xóa các mục đăng ký khi gỡ cài đặt?
- 4. Trình cài đặt WiX xóa tệp khi gỡ cài đặt nhưng không được nâng cấp
- 5. Gỡ cài đặt Burn WIX?
- 6. Làm thế nào để Gỡ cài đặt setuptools python
- 7. Gỡ cài đặt Xcode 4.2.1 sau khi cài đặt 4.3.1
- 8. Làm cách nào để mã hóa phần tệp app.config trong khi cài đặt bằng WiX?
- 9. Làm thế nào để đặt cửa sổ soạn nhạc fiddler trở lại sau khi xé ra?
- 10. Tôi làm cách nào để cài đặt và gỡ cài đặt im lặng bằng WiX và MSI?
- 11. Wix Mở trang web khi gỡ cài đặt hoàn tất
- 12. Làm cách nào để cài đặt với các quyền nâng cao bằng trình cài đặt WiX?
- 13. WiX: Làm cách nào để ngăn chặn giá trị đăng ký bị xóa khi gỡ cài đặt?
- 14. Làm thế nào để loại bỏ các khóa registry HKCU khi gỡ cài đặt phần mềm?
- 15. Làm thế nào để cài đặt plugin UML cho Eclipse?
- 16. Làm thế nào để cài đặt setuptools?
- 17. Gói WiX để cài đặt .NET
- 18. Làm cách nào để cài đặt lại lxml?
- 19. Làm cách nào để gỡ cài đặt mô-đun apache2?
- 20. Làm cách nào để gỡ cài đặt Ruby trên ubuntu?
- 21. WiX - khởi động ứng dụng sau khi cài đặt
- 22. Làm thế nào để buộc khởi động lại sau khi gỡ bỏ cài đặt cho một dự án cơ bản MSI trong InstallShield 2009 Premier
- 23. Làm thế nào để cài đặt SWIG?
- 24. Tôi làm cách nào để thực hiện tác vụ tùy chỉnh trong WiX chỉ thực thi khi cài đặt hoặc gỡ cài đặt?
- 25. Gỡ cài đặt phím tắt trong WiX khi Id sản phẩm * để cho phép nâng cấp lớn?
- 26. WIX cài đặt tệp, ghi đè
- 27. Làm cách nào để ngăn gỡ cài đặt ứng dụng?
- 28. Làm thế nào để cài đặt Xuggler?
- 29. Tệp Kiểm tra WiX tồn tại trước khi Cài đặt
- 30. Nhắc người dùng đóng ứng dụng trong khi gỡ cài đặt (trong WiX)
Tôi đã đăng câu hỏi cho danh sách gửi thư wixusers và có cùng một câu trả lời, nhưng cũng cần lưu ý về lá cờ Vĩnh viễn (lời khen của Phil Wilson): Miễn là mọi người nhận ra rằng Vĩnh viễn có nghĩa là vĩnh viễn vĩnh viễn. Nó không có nghĩa là "cho đến khi tôi thay đổi cài đặt thành vĩnh viễn". Nó làm cho thành phần đó vĩnh viễn trên hệ thống, và tôi sẽ không sử dụng nó trừ khi "vĩnh viễn cài đặt mãi mãi" là những gì được yêu cầu. – glenneroo
Tôi sẽ làm sống lại chủ đề này và hỏi: nếu bạn có nhiều (200+) tệp mà bạn muốn rời khỏi? Đi đến từng thành phần và thêm vĩnh viễn = "có" hoặc thiết lập Guid = "" không cảm thấy đúng. – treaz
nhưng đó là cách của WiX, bạn đang mô tả trạng thái hữu hạn của mỗi tệp, vì vậy không có sự mơ hồ về cách hệ thống nên trước/sau khi cài đặt/gỡ cài đặt. Vấn đề với các trình cài đặt cũ hơn là họ không xử lý tất cả các lỗi, do đó sẽ ở trạng thái lạ. MSI là một quá trình nhà nước. –