2009-12-18 64 views
0

我們開發了一個程序來檢查我們的網站,看看是否有新版本可用。當新版本可用時,下載程序啓動並檢索文件,然後將整個文件夾複製到源代碼的頂部,並使用新版本重新啓動程序。如何讓我的自動更新程序替換程序文件?

問題是,當我們第二次運行程序時,軟件並未實際更新 - 也就是說,剛下載和複製的文件已恢復爲其原始版本。

有沒有辦法阻止?我們通常在.NET 2008中使用安裝和部署項目來構建我們的應用程序安裝程序。

回答

0

我想你可能需要確保正在更新的二進制文件不是安裝中的關鍵文件。所有二進制文件默認都是密鑰文件。這基本上爲您的安裝中的每個文件創建一個唯一的註冊表項。 Windows將監視這些文件,並在刪除或更改任何文件時將其緩存副本複製回來。

我不知道如何使二進制文件沒有從部署項目鍵入。這是Installshield項目中的逐個文件選項。

如果使用安裝程序爲應用程序安裝存根或入口點,並對其餘的依賴項進行xcopy,則Windows安裝程序在修改超出限制時不會修復安裝。