2010-09-23 8 views
8

Tôi đang sử dụng tính năng .NET user settings và tôi đang gặp sự cố.Cách giữ cài đặt người dùng khi gỡ cài đặt

Khi ứng dụng được gỡ cài đặt, sau đó được cài đặt lại, cài đặt người dùng bị mất.

Tôi hiểu nó theo thiết kế và tôi muốn có thể đưa ra lựa chọn cho người dùng trong trình cài đặt.

Bạn có thể vui lòng cho tôi một số gợi ý cho các bài viết hoặc tài liệu giúp tôi không?

Thanks a lot

Trả lời

15

.NET User Settings không bị xóa khi gỡ cài đặt. Trong thực tế, các cài đặt của tất cả các phiên bản trước của phần mềm được lưu giữ trong Cài đặt Cục bộ.

Khi phiên bản mới được cài đặt, phiên bản mới của cài đặt được tạo và cài đặt mặc định được sử dụng.

Để đảm bảo ứng dụng của bạn sẽ hợp nhất các cài đặt mới với cấu hình trước đó, bạn phải gọi phương thức Settings.Default.Upgrade().

Vì vậy, giải pháp là xóa thủ công cài đặt khi gỡ cài đặt nếu chúng tôi không muốn giữ chúng. Từ những gì tôi cần được bảo quản thiết lập trước đó, tất cả tôi làm bây giờ là tạo ra một môi trường mới gọi là UpgradeRequired với true có giá trị mặc định, sau đó thêm mã này ở ứng dụng khởi động:

if (Properties.Settings.Default.UpdateRequired) 
{ 
    Properties.Settings.Default.Upgrade(); 
    Properties.Settings.Default.UpdateRequired = false; 
} 
1

Bạn có thể có thể viết các thiết lập bạn muốn tiết kiệm ra để đăng ký hoặc viết chúng dưới dạng tập tin XML để một vị trí đó sẽ không bị ảnh hưởng bởi sự gỡ bỏ cài đặt.

+0

Ông có thể chỉ cho tôi bài báo giải thích làm thế nào để tạo một nhà cung cấp kiên trì tùy chỉnh cho họ? –

+0

Tôi không có bất kỳ thứ gì được đánh dấu trang, nhưng tìm kiếm nhanh trên google đã bật lên http://www.java2s.com/Code/CSharp/Windows/Savevaluetoregistery.htm – Chuck

+1

Tại sao điều này đã bị giảm xuống mà không có giải thích? –

0

Nếu bạn muốn tiếp tục sử dụng Cài đặt người dùng, tôi sẽ đề xuất viết một lớp trình cài đặt tùy chỉnh và thực hiện phương pháp onUninstalling, để đi find the file và sao chép nó sang vị trí khác được biết đến với phương pháp onInstall của trình cài đặt tùy chỉnh của bạn. Vì vậy, lần sau khi trình cài đặt chạy nó có thể tìm thấy tệp.

+1

Tại sao điều này đã được downvoted mà không có một lời giải thích? –

0

Tôi không nghĩ rằng bạn muốn thực sự tồn tại dữ liệu trên máy người dùng sau khi gỡ cài đặt. Để lại tập tin xung quanh là một thực hành tà ác, một không-không lớn. Bạn nên hiển thị một tính năng trong ứng dụng để xuất các cài đặt đó thành vị trí mà họ chọn và sau đó nhập lại cài đặt sau khi cài đặt lại ứng dụng hoặc đồng bộ hóa các cài đặt đó trên máy chủ để chúng tự động khả dụng khi cài đặt lại , vv Khi gỡ cài đặt, bạn không nên để lại dấu vết nào.

+0

+1 mucho agreo! –

+1

Đọc lại câu hỏi của tôi: "Tôi muốn có thể đưa ra lựa chọn cho người dùng trong trình cài đặt". Tôi muốn đưa ra lựa chọn. –