2010-03-25 48 views
11

Theo cài đặt mặc định được lưu trữ tại: C:\Documents and Settings\\Local Settings\Application Data\<Project Name> cách thay đổi vị trí cài đặt người dùng .NET

Làm cách nào để thay đổi đường dẫn này thành thư mục ứng dụng. Tôi cũng không muốn có các tệp khác nhau cho những người dùng khác nhau. Làm thế nào để thiết lập toàn cầu?

Tôi đã cố gắng thay đổi phạm vi cài đặt thành "ứng dụng" nhưng sau đó tôi không thể thay đổi chúng khi chạy.

Trả lời

13

Using the default built-in behavior you can't!

Q: Tại sao là con đường để che khuất? Có cách nào để thay đổi/tùy chỉnh không?

A: Thuật toán xây dựng con đường phải đáp ứng một số yêu cầu khắt khe về mặt an ninh, cô lập và mạnh mẽ. Trong khi chúng tôi cố gắng làm cho con đường dễ dàng phát hiện càng tốt bằng cách sử dụng của thân thiện, ứng dụng cung cấp dây, nó không thể giữ con đường hoàn toàn đơn giản mà không chạy vào các vấn đề như sự va chạm với các ứng dụng khác, giả mạo v.v.

LocalFileSettingsProvider không cung cấp cách thay đổi tệp trong cài đặt nào được lưu trữ. Lưu ý rằng chính nhà cung cấp không xác định vị trí tệp cấu hình trong địa điểm đầu tiên - đó là cấu hình hệ thống. Nếu bạn cần lưu trữ cài đặt ở một vị trí khác cho một số lý do, cách được đề xuất là viết Trình cài đặt của riêng bạn. này khá đơn giản để triển khai và bạn có thể tìm các mẫu trong .NET 2.0 SDK hiển thị cách thực hiện việc này. Tuy nhiên, hãy nhớ rằng bạn có thể gặp phải các vấn đề cách ly được đề cập ở trên.

Tôi đồng ý với câu trả lời Robert Harvey tự mình làm, or write a custom settings provider.

+8

này chỉ SUCKS Dude ... –

1

Bạn luôn có thể đọc và viết XML configuration files của riêng mình.

+4

vâng nhưng tôi muốn sử dụng xây dựng trong cơ chế – mack369

0

Có nhiều khó khăn với cài đặt thay đổi theo chương trình cho tất cả người dùng (vì tệp này đến từ tệp exe.config, thường nằm trong Tệp chương trình và do đó được bảo vệ khỏi quyền ghi trong hệ điều hành hiện đại). Bạn có thể thử thực hiện các cài đặt trên toàn ứng dụng nhưng sau đó sử dụng ConfigurationManager để gây rối với tệp cấu hình, tương tự như giải pháp cho this question.

Các vấn đề liên quan