Bối cảnh:
Tôi có một ứng dụng chính mà cần phải có khả năng hãy vào trang web và tải về các file DLL liên kết với nó (những cái mà chúng tôi viết, nằm trên máy chủ của chúng tôi). Nó thực sự cần để có thể tải xuống các tệp DLL này vào thư mục ứng dụng trong "C: \ Program Files \". Trước đây tôi đã sử dụng System.Net.WebClient
để tải xuống bất kỳ tệp nào tôi muốn từ web.Một câu hỏi về cách viết một nền tảng/tự động/im lặng downloader/cài đặt cho một ứng dụng trong C#
Số phát hành
Tôi gặp khó khăn khi tải xuống dữ liệu trong quá khứ và lưu vào tệp trên ổ cứng của người dùng. Tôi nhận được nhiều báo cáo của người dùng nói rằng điều này không hiệu quả và thường là do các vấn đề về quyền của người dùng trong chương trình.
Trong trường hợp đó là vấn đề với quyền người dùng chương trình, mỗi người dùng có thể đi đến vị trí tệp chính xác trên web, tải xuống và sau đó lưu nó vào đúng vị trí theo cách thủ công.
Tôi muốn tính năng này hoạt động giống như tất cả các chương trình khác mà tôi đã tải xuống/cài đặt trong phần này (ví dụ: Cập nhật Firefox Pluign, Flash Player, JAVA, Adobe Reader, v.v.). Tất cả những công việc này mà không có một xô.
Câu hỏi
Có một số mã tôi cần sử dụng để cung cấp cho chương trình người tải xuống quyền đặc biệt của mình vào thư mục Tệp Chương trình không? Tôi thậm chí có thể làm điều này? Có một lớp học hay thư viện tốt hơn mà tôi nên sử dụng không? Có cách tiếp cận khác để tải xuống các tệp tôi nên thực hiện hay không, chẳng hạn như sử dụng chủ đề hoặc nội dung khác để tải xuống dữ liệu?
Mọi trợ giúp ở đây đều được đánh giá cao. Tôi muốn cố gắng tránh xa các ứng dụng/thư viện của bên thứ ba nếu có thể, ngoài Microsoft tất nhiên, do các vấn đề cấp phép, nhưng vẫn gửi bất kỳ đề xuất nào theo cách của tôi.
Một lần nữa, các chương trình khác dường như có các vấn đề về quyền và khả năng tải xuống được tìm ra. Tôi muốn khả năng này.
vâng ... đây là một câu hỏi hay. Trên máy Mac, tôi sẽ sử dụng Sparkle http://sparkle.andymatuschak.org/ nhưng tôi tò mò muốn xem có bất kỳ thứ gì giống như được phát triển cho .NET không. – phillip
Nhấp một lần là cách để thực hiện trong trường hợp này. Đó là nghĩa đen nhấp một lần. Mỗi khi ứng dụng của bạn bắt đầu, ứng dụng sẽ kiểm tra máy chủ của bạn để xem liệu có bản cập nhật hay không và tự động cập nhật ứng dụng hoặc tệp. –
@Shiv: ClickOnce không cài đặt vào 'Program Files', tức là nó chỉ cài đặt ứng dụng cho người dùng hiện tại. – Heinzi