Visual Studio安裝項目會刪除剛剛升級的文件

問題描述 投票:0回答:1

我正在處理一個舊的Visual Studio 2008項目,該項目具有一個安裝項目。我已將所有內容升級到VS2019,從而更改了代碼,增加了版本捕鱼游戏能赚钱的,添加了一些文件并進行了設置。全新安裝完美運行。

[當我首先使用VS2008中的安裝程序版本安裝舊版本捕鱼游戏能赚钱的,然后運行新的安裝程序進行升級時,情況變得怪異。新設置將安裝所有新文件,并且在結束之前,它將刪除所有被覆蓋的文件。僅保留不存在的文件。

例如,舊的設置將這些文件放在程序文件文件夾中:

- program.exe   v1.0
- lib.dll       v1.0

然后,新設置將安裝這些文件,并覆蓋舊文件:

- program.exe   v2.0
- lib.dll       v2.0
- other.dll     v1.0
- info.txt      v1.0

僅在結束安裝并啟用[關閉]按鈕之前,文件夾內容更改為:

- other.dll     v1.0
- info.txt      v1.0

我已經在多臺計算機上進行了檢查(從Win 10降到Win 7),并使用filemon工具來確保新文件已被實際安裝然后刪除。事件日志僅顯示成功安裝。再次啟動新設置并選擇“修復”將起作用并保留文件。因此,這是一種解決方法,但對許多用戶而言卻不是的方法。

具有兩個具有不同版本的VS2019安裝程序版本的測試可以正常工作。舊的VS2008安裝程序也可以正常工作。因此,在將VS2008的安裝程序版本升級為VS2019的安裝程序版本時,這似乎是一個問題。

有人知道如何解決此問題,以便安裝不會刪除文件嗎?

installation windows-installer setup-project visual-studio-setup-proje
1個回答
0
投票

[好吧,我看到了一些VS2010問題,看起來都一樣。解決方案似乎是在構建后手動編輯msi文件。遠非最佳,我認為它已由MS在VS2019中修復。

原來他們沒有“修復”它捕鱼游戏能赚钱的,但允許使用向后兼容ID。當再次瀏覽選項面板時,我突然看到了該選項。更改為True:

這確實解決了我的問題。

更多信息

如果有人認為它是重復的,則可以刪除此問題。如果您認為這對您有幫助,出于存檔目的,我將在此處接受我自己的回答。


推薦問答