2014-11-08 81 views
0

我已經編寫了一個Win32程序,它定期從互聯網上的專用服務器檢索內容。如何使用win32從互聯網更新程序(exe)

有時Win32程序本身需要更新。我所做的就是退出上述程序並運行一個下載程序,該程序取代了我需要的主要exe文件。這適用於以管理員模式運行的用戶,但不適用於大多數任務擁有足夠權限的其他模式。該程序運行在它自己的目錄下,該目錄不在「c:\ Windows \ program files \」下。

我已經設置了清單文件無濟於事。

是否有適用於此(任何)的可行的解決方法?

回答

1

出於安全原因,您不能將文件放置在沒有管理員權限的Program Files中。如果你能做到這一點,你理論上可以改變Windows文件並放置惡意軟件。 Linux和OSX系統也是如此。 但是,您可以通過prompt the user for an Administrator password並以此方式獲得管理權限。

1

您需要您的更新程序擁有管理員權限。您可以通過在應用程序清單的requestedExecutionLevel部分添加requireAdministrator選項來實現此目的。你說你已經試過這個,但是沒有用。那麼,你一定有什麼錯,因爲這是解決方案。你只需要堅持下去,直到你得到正確的清單。

我認爲當你說[程序不在Program Files目錄下時,你指的是更新程序。如果正在更新的程序不在Program Files目錄下,那麼似乎沒有明顯的原因,即更新程序需要管理員權限。如果是這樣,那麼你需要進一步調查。

+0

我在requestedExecutionLevel部分添加了requireAdministrator選項。是否有一個實用程序,我可以用來報告什麼清單等我在我的exe文件,如果是編譯和鏈接中的一些問題? – user1231247 2014-11-11 08:52:50

+0

Resource Hacker等資源編輯器可讓您查看鏈接的資源。 – 2014-11-11 08:56:40