จะป้องกันไวน์จากการเพิ่มการเชื่อมโยงไฟล์ได้อย่างไร?


35

ไวน์จะเพิ่มประเภทไฟล์และความสัมพันธ์ของไฟล์โดยอัตโนมัติ (เช่น notepad.exe สำหรับไฟล์. ini) มีคำตอบที่อธิบายวิธีลบการเชื่อมโยงเหล่านี้อยู่แล้ว

แต่จะป้องกันไม่ให้ไวน์เพิ่มพวกเขาซ้ำแล้วซ้ำอีกได้อย่างไร

คำตอบ:


47

การปิดใช้งาน winemenubuilder.exe ทั้งหมดจะป้องกันไม่ให้ไวน์ขโมยการเชื่อมโยงไฟล์ของคุณ แต่จะป้องกันไม่ให้สร้างรายการเมนูสำหรับซอฟต์แวร์ที่ติดตั้งใหม่ซึ่งอาจเป็นพฤติกรรมที่ไม่พึงประสงค์ ทางออกที่ดีกว่าคือ:

  1. ลบ hijacks ไวน์ที่มีอยู่ ( จากคำถามที่พบบ่อยไวน์ ):

    rm -f ~/.local/share/mime/packages/x-wine*
    rm -f ~/.local/share/applications/wine-extension*
    rm -f ~/.local/share/icons/hicolor/*/*/application-x-wine-extension*
    rm -f ~/.local/share/mime/application/x-wine-extension* 
    
  2. แก้ไข/usr/share/wine/wine.inf(เป็น root) ค้นหา[Services]ส่วน:

    [Services]
    HKLM,%CurrentVersion%\RunServices,"winemenubuilder",2,"%11%\winemenubuilder.exe -a -r"
    ...
    

    และแก้ไขเพื่อให้มันบอกว่า:

    [Services]
    HKLM,%CurrentVersion%\RunServices,"winemenubuilder",2,"%11%\winemenubuilder.exe -r"
    ...
    

    (กล่าวคือจะเริ่มwinemenubuilder.exeโดยไม่มี-aสวิตช์) วิธีนี้จะป้องกันการอัปเดตการเชื่อมโยงไฟล์ในบัญชีผู้ใช้ใหม่ (หรือกับWINEPREFIXes ใหม่)

  3. แก้ไข$WINEPREFIX/system.regไฟล์ของคุณ(ถ้ามี) ในลักษณะเดียวกัน มันบอกว่า

    [Software\\Microsoft\\Windows\\CurrentVersion\\RunServices]
    "winemenubuilder"="C:\\windows\\system32\\winemenubuilder.exe -a -r"
    

    ถอด-aสวิทช์ (โดยค่าเริ่มต้น, WINEPREFIX=$HOME/.wine.)

วิธีนี้จะช่วยป้องกันไวน์จากการขโมย mimeapps ที่คุณต้องการ แต่ winemenubuilder จะยังคงทำงานและสร้างรายการเดสก์ทอปที่สะดวกสำหรับซอฟต์แวร์ Windoze ของคุณ


1
/opt/wine-staging/share/wine/wine.infสำหรับผมเส้นทางที่ค่อนข้าง หากไฟล์อยู่ในตำแหน่งที่ไม่ได้มาตรฐานให้เรียกใช้locate wine.infเพื่อค้นหา
Hi-Angel

13

จากhttp://wiki.winehq.org/FAQ :

ผู้ใช้ที่ไม่ต้องการให้ตัวติดตั้งสำหรับแอพ Windows เปลี่ยนการเชื่อมโยงไฟล์ประเภทเพิ่มรายการเมนูหรือสร้างลิงค์เดสก์ท็อปสามารถปิดใช้งานwinemenubuilder.exeได้ มีหลายวิธีในการทำสิ่งนี้:

  • ใน winecfg : winecfgก่อนที่จะใช้ติดตั้งวิ่ง ไปที่แท็บไลบรารีและพิมพ์winemenubuilder.exeลงในกล่อง "การแทนที่ใหม่" (ไม่ได้อยู่ในรายการแบบเลื่อนลง) คลิกเพิ่มจากนั้นเลือกจากกล่อง "การแทนที่ที่มีอยู่" คลิก "แก้ไข" และเลือก "ปิดใช้งาน" จากรายการจากนั้นคลิก "ใช้"

  • ไฟล์รีจิสตรี:หากคุณต้องการใช้การตั้งค่าหลายครั้ง (เช่นทุกครั้งที่คุณสร้างคำนำหน้า Wine) วิธีการนี้อาจจะสะดวกกว่า สร้างไฟล์ข้อความชื่อนามสกุล. reg (เช่นdisable-winemenubuilder.reg) ที่มีต่อไปนี้:

    [HKEY_CURRENT_USER\Software\Wine\DllOverrides] 
    "winemenubuilder.exe"=""
    

    หากต้องการใช้การตั้งค่าให้เรียกใช้ regedit disable-winemenubuilder.reg

  • ตัวแปรสภาพแวดล้อม:ตั้งค่าตัวแปรสภาพแวดล้อม WINEDLLOVERRIDES เมื่อคุณเรียกใช้โปรแกรมติดตั้งเช่น

    WINEDLLOVERRIDES=winemenubuilder.exe=d wine setup.exe
    

การปิดการใช้งานwinemenubuilder.exeจะทำให้โปรแกรมไวน์พิมพ์ข้อผิดพลาดที่ไม่สามารถหาได้ (แม้ว่าข้อผิดพลาดดูเหมือนจะไม่รบกวนการทำงานของโปรแกรม)


อีกทางเลือกหนึ่งที่หลีกเลี่ยงข้อผิดพลาดคือแทนที่ด้วยโปรแกรม do-nothing รวบรวมต่อไปนี้ด้วย gcc ของ MinGW ภายใต้ไวน์และวางไฟล์ปฏิบัติการที่C:\Windows\System32\winemenubuilder.exe:

  int main() { /* Do nothing */ return 0; }

จากนั้นทำตามขั้นตอนเดียวกันกับด้านบน แต่ตั้งwinemenubuilder.exeเป็น "ดั้งเดิม" แทน "ปิดการใช้งาน"


ถูก ดังนั้นสำหรับฉันนั่นหมายถึงฉันสร้างคำนำหน้าติดตั้งแอพของฉันลบการเชื่อมโยงไวน์เริ่มต้นและเมนูด้วยมือ (ฉันต้องการการเชื่อมโยงแอพ) จากนั้นเปลี่ยนคีย์ reg เพื่อป้องกันไม่ให้การเชื่อมโยงถูกเพิ่มเข้ามาใหม่ทุกครั้ง ขวา?
mniess

4

ตั้งแต่นี้เป็นครั้งแรกใน Google ตอนนี้คำถามที่พบบ่อยไวน์แสดงรายการวิธีการทางเลือกสำหรับไวน์รุ่นใหม่

"เริ่มต้นด้วย wine-3.14, winecfg มีช่องทำเครื่องหมาย" Manage File Associations "บนแท็บการรวมเดสก์ท็อปการตรวจสอบว่าเปิดใช้งาน winemenbuilder เพื่อสร้างการเชื่อมโยงไฟล์และยกเลิกการปิดใช้งานพฤติกรรมนั้น"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.