背景:
我有一個主要應用程序,需要能夠訪問網絡並下載與其關聯的DLL文件我們編寫的,位於我們的服務器上)。它確實需要能夠將這些DLL文件下載到「C:\ Program Files \」中的應用程序文件夾中。在過去,我用System.Net.WebClient
從網上下載我想要的任何文件。關於在C#中爲應用程序編寫背景/自動/無聲下載程序/安裝程序的問題#
The Issue
我在過去下載數據並保存到用戶硬盤上的文件時遇到了很多問題。我收到很多用戶的報告,說這不起作用,一般是因爲程序中存在用戶權限問題。
在程序用戶權限有問題的情況下,每個用戶都可以訪問Web上的確切文件位置,然後將其下載並手動保存到正確的位置。
我希望它能像我在其中看到的下載/安裝的所有其他程序一樣工作(例如,火狐插件更新,Flash播放器,JAVA,Adobe Reader等)。所有這些工作順利。
問題
是否有一些代碼需要用於將我的下載程序授予Program Files文件夾特殊權限?我甚至可以這樣做嗎?我應該使用更好的課程還是圖書館?是否有不同的方法來下載我應該使用的文件,例如使用線程或其他方式下載數據?
這裏的任何幫助表示讚賞。如果可能的話,我想嘗試遠離第三方應用程序/庫,當然,除了微軟之外,由於許可問題,我仍然會按照自己的方式發送任何建議。
同樣,其他程序似乎有權利問題和下載能力。我想要這個相同的能力。
是啊...這是一個很好的問題。在Mac上,我會使用Sparkle http://sparkle.andymatuschak.org/,但我很好奇,看看是否有類似.NET開發的東西。 – phillip 2011-02-11 19:53:01
點擊一次是在這種情況下去的路。這是字面上點擊一次。每次您的應用程序啓動時,它都會檢查您的服務器,看看是否有更新並自動更新應用程序或文件。 – 2011-02-11 20:21:25
@Shiv:ClickOnce不會安裝到「程序文件」中,即它只安裝當前用戶的應用程序。 – Heinzi 2011-02-14 08:51:55