This question mô tả vấn đề của tôi một cách chính xác, ngoại trừ tôi đang sử dụng một phần cấu hình tùy chỉnh trong app.config
với ConfigurationManager
, vì vậy giải pháp được trình bày có không áp dụng ...Làm thế nào để duy trì app.config thông qua các cập nhật ClickOnce bằng cách sử dụng ConfigurationManager?
Về cơ bản, vấn đề của tôi là khi ClickOnce cập nhật các ứng dụng, nó cài đặt vào một thư mục khác với app.config mới, do đó xóa mọi thay đổi được thực hiện. Ứng dụng của tôi sử dụng app.config để duy trì cài đặt ứng dụng, vì vậy điều này rất xấu ... bản cập nhật được hợp nhất sẽ tuyệt vời (tương tự với những gì đạt được trong câu hỏi khác), nhưng mọi thứ tự động sẽ tốt vào thời điểm này.
Hoặc tôi chỉ nên sử dụng vị trí đã đặt cho tệp app.config của mình thay vì cố gắng sử dụng vị trí mặc định?
Nơi ở này là sự kiện Ứng dụng được cập nhật này? Tôi không thể tìm thấy nó trong trình duyệt đối tượng ... Ngoài ra, điều này đã không giúp vấn đề (mặc dù, nó là một tính năng tốt đẹp, tôi không bao giờ thích các hộp thoại ClickOnce), các bản cập nhật vẫn cài đặt vào một thư mục mới, vì vậy cũ app.config bị mất –
lại: liên kết thứ hai của bạn về ApplicationSettingsBase, tôi kế thừa từ ConfigurationSection, vì vậy đây không phải là một lựa chọn cho tôi là nó? –
Hãy xem lớp Deployment.Application.ApplicationDeployment. Tôi nghĩ rằng tôi đã xem xét mã mẫu khi tôi đề cập đến sự kiện ApplicationUpdated. Tôi nhận ra app.config cũ bị mất, ý tưởng của tôi là đọc trong cài đặt người dùng từ cấu hình hiện tại, cập nhật, sau đó ghi cài đặt người dùng vào cấu hình mới. –