답변:
winemenubuilder.exe를 비활성화하면 와인이 파일 연결을 가로 채지 못하게되지만 새로 설치 한 소프트웨어에 대한 메뉴 항목을 만들 수 없게되므로 원하지 않는 동작이 될 수 있습니다. 더 나은 해결책은 다음과 같습니다.
기존 와인 납치 제거 ( 와인 FAQ에서 ) :
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*
/usr/share/wine/wine.inf
루트로 편집 하고 [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
. 이렇게하면 새 사용자 계정 (또는 새 WINEPREFIX
es)의 파일 연결이 업데이트되지 않습니다 .
$WINEPREFIX/system.reg
유사한 방식으로 파일 (있는 경우)을 편집하십시오 . 그것이 말하는 곳
[Software\\Microsoft\\Windows\\CurrentVersion\\RunServices]
"winemenubuilder"="C:\\windows\\system32\\winemenubuilder.exe -a -r"
-a
스위치를 제거하십시오 . (기본적으로 WINEPREFIX=$HOME/.wine
.)
이렇게하면 와인이 선호하는 mimeapp을 훔치는 것을 방지 할 수 있지만 winemenubuilder는 여전히 Windoze 소프트웨어를위한 편리한 데스크탑 항목을 실행하고 생성합니다.
에서 http://wiki.winehq.org/FAQ :
Windows 응용 프로그램의 설치 관리자가 파일 형식 연결을 변경하거나 메뉴 항목을 추가하거나 바탕 화면 링크를 만들지 않으려는 사용자는 비활성화 할 수 있습니다 winemenubuilder.exe
. 이를 수행하는 몇 가지 방법이 있습니다.
winecfg에서 : 설치 프로그램을 실행하기 전에을 실행하십시오 winecfg
. 라이브러리 탭으로 이동 winemenubuilder.exe
하여 "새 재정의"상자에 입력하십시오 (드롭 다운 목록에 없음). 추가를 클릭 한 다음 "기존 재정의"상자에서 선택하십시오. "편집"을 클릭하고 목록에서 "사용 안함"을 선택한 다음 "적용"을 클릭하십시오.
레지스트리 파일 : 설정을 여러 번 적용해야하는 경우 (예 : 와인 접두사를 다시 작성할 때마다)이 방법이 더 편리 할 수 있습니다. 다음을 포함하는 확장자가 .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
하면 와인 프로그램이 찾을 수없는 오류를 인쇄하게됩니다 (오류는 프로그램 작동을 방해하지 않는 것으로 보입니다).
오류를 피하는 대체 방법은 오류 없음 프로그램으로 대체하는 것입니다. 와인 아래 MinGW의 gcc로 다음을 컴파일하고 실행 파일을 C:\Windows\System32\winemenubuilder.exe
다음 위치에 배치하십시오 .
int main() { /* Do nothing */ return 0; }
그런 다음 같은 상기와 절차,하지만 설정에 따라 winemenubuilder.exe
"기본"대신 "해제"로한다.
/opt/wine-staging/share/wine/wine.inf
. 파일이 비표준 위치에 있으면 파일locate wine.inf
을 찾아 실행 하십시오.