我有一個 Windows file.exe
,我需要 Wine 和 Java 來開啟它。我不知道如何在 Wine 中安裝 Java。當我嘗試開啟 Java 安裝程式時,它顯示
Wrapper.CreateFile failed with error 32: Sharing Violation.
而且它還說
Wrapper.CreateFile failed with error 123: Invalid name. Please Help.
答案1
我發現了問題並找到了解決方案(見下文)。
問題
需要存在一個 Windows 目錄:
C:\Users\USERNAME\appdata\LocalLow\Sun
在您的盒子上,您很可能具有以下目錄結構:
/home/USERNAME/.wine/drive_c/users/USERNAME/
*其中 USERNAME 是您的實際用戶名
解決方案:
製作子目錄
(點擊方法)
開啟 Home 資料
夾 開啟 .wine
開啟drive_c
開啟使用者
建立資料夾 appdata
開啟 appdata
建立資料夾 LocalLow
開啟 LocalLow
建立資料夾 Sun(控制台/終端)
cd /home/`whoami`/.wine/drive_c/users/`whoami`/ mkdir -p appdata/LocalLow/Sun
*注意:appdata/LocalLow/Sun 區分大小寫,因此請完全按照所示輸入
雙擊 JRE 執行檔(我使用的是 32 位,但我相信 64 位元也可以。請務必檢查 winehq 的網站和您的 Ubuntu 版本以確保確定)
安裝走:)
重要性/相關性
由於有些程式是 Windows 特定的,並且僅部分使用 Java,因此我發現我仍然需要解決這個問題。因此,我提供了上述的流程來解決這個問題。
參考
答案2
您不需要 wine 在 Ubuntu 上執行 Minecraft 啟動器,只需執行以下操作
- 從 Minecraft 網站下載並儲存 jar 檔案。
https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft.jar - 從軟體中心安裝「OpenJDK Java 7」。
- 找到 .jar 檔案並轉到屬性中的權限標籤。
- 按一下「允許將檔案作為程式執行」。
- 轉到“開啟方式”標籤並將“OpenJDK Java 7 運行時”設定為預設值。
- 點擊jar文件,你就可以開始在Ubuntu上玩我的世界了:)
答案3
由於我最近需要為修改實用程式執行此操作,因此我想為此添加 2023 年更新(主要是為了從搜尋引擎中漫遊的任何內容)。不,我沒有玩《我的世界》,我同意科迪的回答。
就我而言,我正在玩《晨風》的 GOG 版本,我想使用 Mod Organizer 2 mod 管理器 (exe) 打開Esp-QuickEditorjar 檔案。這個 mod 管理器會建立一個虛擬檔案系統,您需要從 mod 管理器啟動任何應用程式才能看到所述虛擬檔案系統。因此,使用我的系統安裝的 jre 不適用於這個特定的用例。我可能還應該注意到,我使用的是 Fedora(撰寫本文時為 Fedora 38 + wine-8.17 Staging),但據我所知,這些步驟應該與發行版無關。
另外,我也做了不是必須drive_c/users/$USERNAME/appdata/LocalLow/Sun
按照其他答案的建議建立資料夾 - 它是由安裝程式自動建立的。同樣,我也做了不是需要winxp
按照建議使用winehq 應用程式資料庫(我WINEPREFIX=/path/to/my/prefix winetricks win10
在安裝jre之前已經運行過)。
首先,嘗試正常執行安裝程序,會出現原始海報提到的錯誤。截至 2023 年 10 月 / jre1.8.0_381 ,這一點仍然沒有改變(我不記得是否是相同的錯誤;我認為這實際上對我來說是別的事情,但我確實記得正常運行它不起作用)
1.我下載了離線安裝的“jre-8u381-windows-x64.exe”並將其複製到我的前綴下的臨時資料夾(例如drive_c/temp
)。
在撰寫本文時,這是此頁面上的「Windows Offline(64 位元)」連結:https://www.java.com/en/download/manual.jsp
2.假設如果我進行靜默安裝,則不需要繪製圖形使用者介面(因此可能失敗的東西會更少),並且如果我可以關閉其他功能(例如分析),那麼就會有甚至更少可能失敗的東西,我查看了記錄的安裝程式選項這裡和這裡並使用它為安裝程式建立設定檔。
cd "$WINEPREFIX/drive_c/temp"
printf '%s\n' STATIC=1 AUTO_UPDATE=Disable INSTALL_SILENT=Enable INSTALLDIR='C:\java\jre' NOSTARTMENU=Enable REBOOT=Disable REMOVEOUTOFDATEJRES=0 WEB_ANALYTICS=Disable WEB_JAVA=Disable > install.cfg
unix2dos install.cfg
3. 然後我使用 firejail + wine 運行安裝,作為帶有設定檔的靜默安裝,忽略終端上的任何錯誤
/usr/bin/env WINEPREFIX="/path/to/my/prefix" /usr/bin/firejail --profile=custom12 --whitelist="/path/to/custom/prefix" /usr/bin/wine64 start /D"C:/temp" "jre-8u381-windows-x64.exe" /s /L 'C:\temp\java-install.log' 'INSTALLCFG=C:\temp\install.cfg'
如果你不使用 firejail*,那麼那就是:
/usr/bin/env WINEPREFIX="/path/to/my/prefix" /usr/bin/wine64 start /D"C:/temp" "jre-8u381-windows-x64.exe" /s /L 'C:\temp\java-install.log' 'INSTALLCFG=C:\temp\install.cfg'
4. 之後,我會驗證安裝程式是否已將檔案解壓縮到drive_c/java/jre/bin
我在設定檔中指定的位置。然後我能夠使用 firejail + wine 成功啟動 jar 文件
/usr/bin/env WINEPREFIX="/path/to/my/prefix" /usr/bin/firejail --profile=custom12 --whitelist="/path/to/custom/prefix" /usr/bin/wine64 start /D"C:/java/jre/bin" "java.exe" -jar 'C:\temp\Esp-QuickEditor.jar'
如果你不使用 firejail*,那麼那就是:
/usr/bin/env WINEPREFIX="/path/to/my/prefix" /usr/bin/wine64 start /D"C:/java/jre/bin" "java.exe" -jar 'C:\temp\Esp-QuickEditor.jar'
* 對於那些不熟悉 firejail 的人來說,它是一個安全沙箱程式。我指的是軟體包附帶的設定檔--profile=custom12
的修改版本(至少在 Fedora 上);wine
您可以將其替換為--profile=wine
或編寫您自己的自訂設定檔並將其放入~/.config/firejail
.我的自訂設定檔只是阻止了一些額外的事情並虛擬化了一個假的主資料夾。