2012-08-31 32 views
4

我正在使用Visual Studio 2010,我正在開發一個Windows應用程序,並試圖爲它創建一個自動更新程序,並面臨嚴重的問題。如果以前的版本存在,如何製作msi覆蓋程序?

當程序找到新的版本並試圖安裝它,它不能有兩個原因:

- 應用程序在我的程序文件是否存在。使窗口出現 enter image description here

- 應用程序已經打開 「the form that performed the update process」。

該問題與版本號沒有任何關係。

這是關於程序的存在和安裝新版本的能力,雖然以前的版本是打開的。

+0

你是否自動更新你的MSI文件? 如果是這樣,有一些GUID需要更新,如果沒有,安裝程序解釋器沒有意識到這是一個不同的版本 – nobs

+0

當應用程序加載它從xml文件搜索新版本 然後它下載新的msi並打開它進行安裝。 @nobs – Hassanation

回答

0

如果您正在尋找更新現有程序,這稱爲修補,因此您不需要使用安裝程序的MSI,而是請查看MSP而不是MSI。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa370578(v=vs.85).aspx

對於我們 - 我們使用加載屏幕,並迷上了這posses相關.DLL的二進制列表的SQL表。然後,我使用反射來檢查與啓動目錄中的版本號相比較的版本號,如果更新,則更換它 - 這只是另一個想法,但如果您正在用某種軟件包更新現有軟件,請參閱進入MSP的。

相關問題