2011-08-27 54 views
0

我有我使用Visual Studio 2010Visual Studio安裝項目內置支持管理目錄名稱變更

,我所做的應用程序(和安裝項目部署)做了一個安裝項目已被釋放現在有一段時間,有些用戶已經在他們的機器上安裝了應用程序。

自應用程序首次發佈以來,我工作的公司已更名。沒有太多考慮,我只是將安裝項目的Deployment Project Properties中的[Manufacturer]名稱更改爲新的公司名稱。

不幸的是,現在當用戶使用新更新的應用程序更新他們現有的應用程序安裝時,\Program Files\Old Company Name中的目錄保持不變,並且創建新目錄\Program Files\New Company Name,並且新更新安裝在此新目錄中。

它對我來說意義重大的是爲什麼上述情況發生 - 但是,你知道如果Visual Studio有選項/設置,我可以設置,它會告訴安裝項目重命名現有的\Program Files\Old Company Name目錄\Program Files\New Company Name,然後安裝在新目錄中更新?

回答

2

如果這是對應用程序的更新,那麼只有通過Mark Hall建議的自定義操作纔可能實現。但是,如果它是應用程序的完整安裝,則可以強制卸載以前的版本並將新版本重新安裝到新文件夾。

在您的安裝項目屬性中更新您的主要版本號並允許更新「產品代碼」guid,確保「RemovePreviousVersion」爲true並且「UpgradeCode」未更改。

這應該強制卸載以前的版本並將新版本安裝到新文件夾中。

0

如果您不再需要\ Program Files \ Old Company Name目錄,您是否不能將其作爲新安裝的一部分刪除?

1

回答你的問題。不,有沒有沒有內置的方式來重新命名您的目錄,然後通過Visual Studio安裝項目進行安裝。如果可以完成,則需要通過自定義操作來查看此MSDN Forum link on Custom Actions和此Forum Link也。您最好的選擇可能是完整安裝,然後將舊目錄中的任何設置複製到新目錄,然後刪除舊目錄。這可以在安裝程序的提交操作期間運行Custom Action完成。

+0

當你建議「..然後刪除舊目錄」,你是否暗示我可以通過運行一個腳本(即調用deltree命令)顯式刪除目錄(和子目錄) - 或者你是否建議我應該運行某種「卸載」程序?我擔心的是,簡單地刪除目錄(通過deltree類型的方法),在應用程序安裝過程中,將在註冊表中和/或Windows放置文件的任何位置存在舊應用程序的殘留。 – Jed

+0

@ Jed-如果你有一個.Net應用程序,只要你沒有任何第三方DLL的註冊,你應該可以刪除這個目錄。但是如果你不能這樣做,你可能應該在安裝新應用程序之前卸載你的原始應用程序。這是我建議全面安裝的原因之一。 –