2017-07-13 21 views
0

我有一個桌面應用程序在WPF中。我已經看到第三方工具可以輕鬆自動更新我的應用程序,但是當計算機自動重置他的文件時我還沒有看到過解決方案。如何在計算機每次關機時自動更新應用程序?

我們可以要求系統管理員安裝我的應用程序,並且每次計算機重置時,應用程序仍然存在。但是,如果我想更新我的應用程序,我必須再次請系統管理員更新我的應用程序,因爲據我所知,應用程序無法自行更新。

那麼有沒有一種解決方案可以自動更新應用程序本身,而不要求系統管理員這樣做?我不一定(但可能)要求編碼解決方案,但如果系統管理員可以採取措施解決問題,那也可能是一個解決方案。

+0

自動更新單元更新到應用程序本身的最新版本的最新版本?你是什​​麼意思的計算機重置?你的意思是重新開始? –

+0

是的第一個問題,第二個我不確定。我的意思是重置計算機時重新啓動,您在計算機上安裝的文件已經消失,只有必要的文件(由系統管理員定義)在那裏。 – Jonathan

+0

然後它很簡單。如果您有網絡,請將主應用程序保存在主服務器中(共享文件夾中)。製作一個應用程序,其唯一目的是從網絡文件夾獲取文件並更新當前文件。將此應用程序保存在Windows啓動文件夾 –

回答

0

正如我在評論中提到,一個辦法是:

保持你的主應用程序在主服務器的共享文件夾,可以通過所有在其上用戶可以使用連接的計算機訪問你的應用。

製作第二個應用程序,可以從網絡源訪問和複製您的應用程序。此代碼可以幫助你開始:

string MainAppPath = @"\\NetworkLocation\myMainApp.exe"; 
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal); 
WindowsIdentity identity = new WindowsIdentity(username, password); 
WindowsImpersonationContext context = identity.Impersonate(); 
File.Copy(MainAppPath , @"D:\UserFolder", true); 

要求系統管理員享有充分權利的添加在Windows啓動文件夾此應用程序。

現在,每當計算機啓動您的應用程序的時間將被更新到您將繼續在網絡文件夾

+0

謝謝先生! :) – Jonathan

相關問題