Upgrade

滾動升級/部署葡萄酒?

  • December 14, 2019

當我使用 wine 在 Lubuntu 18.04 上執行一些 Windows exe 程序文件時,我更新和升級可能已經更新了 wine。

當我仍在執行 Windows exe 程序時,我嘗試執行另一個 Windows exe 程序,

$ wine another.exe
wine client error:0: version mismatch 547/571.
Your wineserver binary was not upgraded correctly,
or you have an older one somewhere in your PATH.
Or maybe the wrong wineserver is still running?

我不想退出正在執行的 Windows exe 程序。這是否意味著我不應該殺死正在執行的葡萄酒程序?我該怎麼做才能啟動其他視窗 exe 程序?

這是部署中的常見問題:滾動升級/部署嗎?

謝謝。

我知道現在為時已晚,但一般規則是你不應該在 Wine 執行時升級它,或者如果你這樣做,計劃在升級後儘快重新啟動正在執行的實例。(許多其他程序也是如此,例如 Firefox 和 LibreOffice。)

我不想退出正在執行的 Windows exe 程序。這是否意味著我不應該殺死正在執行的葡萄酒程序?

是的,你不應該殺死正在執行的 Wine 程序。

我該怎麼做才能啟動其他視窗 exe 程序?

可以將你目前的 Wine 前綴複製到一個新的前綴,然後在那裡啟動升級後的 Wine——Wine 每個前綴執行一個伺服器。假設您目前的 Wine 前綴是~/.wine,您將執行

cp -a ~/.wine ~/.wine.new
WINEPREFIX=~/.wine.new wine /path/to/your/program.exe

這是部署中的常見問題:滾動升級/部署嗎?

是的,或者至少,這是一個需要明確解決的場景:新版本的伺服器需要接受和處理來自舊版本客戶端的連接。在 Wine 的情況下,客戶端希望連接到執行相同版本的伺服器;沒有拆分升級的規定。這種期望被嵌入到很多地方:主要NTDLL檢查wineserver版本,一些 DLL 檢查它們對應的 Wine 驅動程序版本等。

引用自:https://unix.stackexchange.com/questions/556951