Antworten:
Das Deaktivieren von winemenubuilder.exe verhindert, dass Wine Ihre Dateizuordnungen missbraucht, verhindert jedoch auch, dass Menüeinträge für neu installierte Software erstellt werden, was möglicherweise ein unerwünschtes Verhalten ist. Die bessere Lösung ist:
Entfernen Sie vorhandene Wine-Hijacks ( aus den häufig gestellten Fragen zu Weinen ):
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*
Bearbeiten /usr/share/wine/wine.inf
(als root), finden Sie den [Services]
Abschnitt:
[Services]
HKLM,%CurrentVersion%\RunServices,"winemenubuilder",2,"%11%\winemenubuilder.exe -a -r"
...
und bearbeite es so, dass es sagt:
[Services]
HKLM,%CurrentVersion%\RunServices,"winemenubuilder",2,"%11%\winemenubuilder.exe -r"
...
(nämlich winemenubuilder.exe
ohne den -a
Schalter zu starten ). Dies verhindert, dass Dateizuordnungen für neue Benutzerkonten (oder mit neuen WINEPREFIX
) aktualisiert werden .
Bearbeiten Sie Ihre $WINEPREFIX/system.reg
Datei (falls vorhanden) auf ähnliche Weise. Wo steht
[Software\\Microsoft\\Windows\\CurrentVersion\\RunServices]
"winemenubuilder"="C:\\windows\\system32\\winemenubuilder.exe -a -r"
Den -a
Schalter entfernen . (Standardmäßig WINEPREFIX=$HOME/.wine
.)
Dadurch wird verhindert, dass Wein Ihre bevorzugten Mimeapps stiehlt. Der winemenubuilder wird jedoch weiterhin ausgeführt und erstellt bequeme Desktop-Einträge für Ihre Windoze-Software.
Von http://wiki.winehq.org/FAQ :
Benutzer, die nicht möchten, dass das Installationsprogramm für eine Windows-App Dateitypzuordnungen ändert, Menüelemente hinzufügt oder Desktop-Links erstellt, können deaktivieren winemenubuilder.exe
. Hierfür gibt es verschiedene Möglichkeiten:
In winecfg : Führen Sie vor dem Ausführen des Installationsprogramms Folgendes aus winecfg
. Gehen Sie zur Registerkarte Bibliotheken und geben Sie winemenubuilder.exe
in das Feld "Neue Überschreibungen" ein (es befindet sich nicht in der Dropdown-Liste). Klicken Sie auf Hinzufügen und wählen Sie es im Feld "Vorhandene Überschreibungen" aus. Klicken Sie auf "Bearbeiten" und wählen Sie "Deaktivieren" aus der Liste aus. Klicken Sie dann auf "Übernehmen".
Registrierungsdatei: Wenn Sie die Einstellung mehrmals anwenden müssen (z. B. jedes Mal, wenn Sie das Wine-Präfix neu erstellen), ist dieser Ansatz möglicherweise praktischer. Erstellen Sie eine Textdatei mit der Erweiterung .reg (z. B. disable-winemenubuilder.reg
), die Folgendes enthält:
[HKEY_CURRENT_USER\Software\Wine\DllOverrides]
"winemenubuilder.exe"=""
Führen Sie aus, um die Einstellung anzuwenden regedit disable-winemenubuilder.reg
Umgebungsvariable: Legen Sie die Umgebungsvariable WINEDLLOVERRIDES fest, wenn Sie das Installationsprogramm ausführen, z.
WINEDLLOVERRIDES=winemenubuilder.exe=d wine setup.exe
Das Deaktivieren winemenubuilder.exe
führt dazu, dass Wine-Programme Fehler ausgeben , die sie nicht finden können (obwohl die Fehler den Programmbetrieb nicht zu beeinträchtigen scheinen).
Ein alternativer Ansatz, der die Fehler vermeidet, besteht darin, ihn durch das Nichtstun-Programm zu ersetzen. Kompiliere folgendes mit MinGW's gcc unter wine und platziere die ausführbare Datei unter C:\Windows\System32\winemenubuilder.exe
:
int main() { /* Do nothing */ return 0; }
Gehen Sie dann wie oben beschrieben vor, stellen Sie jedoch winemenubuilder.exe
"native" anstelle von "disable" ein.
Da dies der erste Hit bei Google ist. Die Wein-FAQ listet jetzt eine alternative Methode für neuere Versionen von Wein auf.
"Ab wine-3.14 verfügt winecfg über ein Kontrollkästchen" Dateizuordnungen verwalten "auf der Registerkarte" Desktop-Integration ". Durch Aktivieren dieses Kontrollkästchens kann winemenbuilder Dateizuordnungen erstellen und durch Deaktivieren dieses Verhaltens deaktivieren."
/opt/wine-staging/share/wine/wine.inf
. Wenn sich die Datei an einem nicht standardmäßigen Speicherort befindet, führen Sie sie auslocate wine.inf
, um sie zu finden.