2012-09-01 87 views
4

我目前正在構建一個應用程序,並希望有一個安裝程序和它自動靜默更新。NSIS自動和靜默更新

Dropbox,Spotify和Chrome在更新時都很棒,沒有任何人注意到。於是我看了一下AppData中的Dropbox漫遊文件夾,並找到一個名爲DropboxUpdateHelper.exe的文件,並帶有一個NSIS圖標。在Spotify文件夾中,我只能找到SpotifyHelper.exe和條款中提及的NSIS。

是否有教程介紹如何在漫遊文件夾中安裝應用程序並擁有無聲自動更新程序?我不是固定在NSIS上,而是喜歡開源和免費的安裝程序。

回答

1

NSIS有INetC plugin可用於從互聯網上下載東西,但我不知道是否有一個自動更新教程。你可能也想看看在VPatch plugin ...

有許多變數值得思考:

  • 如果你的主要應用程序的外觀進行更新,或只是運行的應用程序的更新(或窗口)啓動,所以它可以檢查?
  • 服務器上的文件是否已簽名或您是否有其他方式檢測無效/損壞/ MitM更新?
  • 在下載/應用更新之前是否需要訪問控制/ DRM?
  • 你將如何處理主要的版本號更新?你會支持多個主要版本還是強制升級?
  • 您是否需要管理員權限進行更新? UAC處理?
  • 你打算如何支持從1.0升級到1.2?首先更新到1.1或支持每個可能的次要版本升級路徑?

我相信還有很多其他問題你也必須考慮。在開始編碼之前,您應該嘗試回答所有這些問題。在開發過程中,您可能會發現其他問題或者您必須完全更改設計。

恕我直言,這不是一個簡單的問題,我不認爲你可以找到適合您的具體設計/需求的插入式解決方案...

0

這是很容易從下載文件使用NSIS的互聯網(爲此目的有幾個插件:NSISdl,InetC,...),但這種功能更多地是關於編碼。

對此沒有確切的解決方案 - 正如Anders所說,您需要指定每個細節以實現所需的行爲。