MyPhoneExplorer funktioniert nach Wine-Update nicht mehr

Wie schön, dass es Timeshift, snapshots und Btrfs gibt.
Durchs heutige Manjaro-Update läuft Wine nicht mehr. Ärgerlich, weil ich am Rechner was machen musst, dazu brauchte ich das Synchronisieren mit MyPhoneExplorer über Wine.
Habe mich aber nicht lange geärgert, sondern ein snapshot von Gestern wiederhergestellt, alles so perfekt wie vorher.

Bei der Gelegenheit: Ich träume immer noch von einer angemessenen Alternative zu MyPhoneExplorer, um von Wine unabhängig zu werden. Dazu müsste ich ein neues Thema eröffnen, auch wenn meine bisherigen Versuche, keine brauchbare Alternativen brachten.

Schau mal hier:

Wine and KDE Plasma no worky - #5 by Nachlese

Da ist ein Link zur Arch Seite, die erklärt, was die Ursache ist und was zu tun ist.

https://archlinux.org/news/transition-to-the-new-wow64-wine-and-wine-staging/

Breaking Changes: Existing 32-bit prefixes needs to be recreated

If you are facing issues with 32 bit prefixes, please recreate these and reinstall the application.

Das wird also so bleiben - es sei denn es gibt im AUR oder so eine Version von wine, die ohne dieses Feature compiliert wird.

… ansonsten bleibt wohl nur, wie oben gesagt, neue wine prefixe zu erstellen und die jeweilige Software neu zu installieren …

1 Like

Du weißt wieder mal sehr viel mehr als ich.
Heißt das, dass von alleine keine updates der updates etwas reparieren wird?
Und, dass ich: … recreate these and reinstall the application. …
Heißt das, ich müsste, nach einem update MyPhoneExplorer mit oder über Wine neu installieren?

Ganz genau das heißt es.
(so wie ich die Mitteilung lese)

Nicht ganz richtig.
Das bisherige wine prefix, in dem sich Dein MyPhoneExplorer befindet, wird nie mehr funktionieren.

Ich glaube nicht, daß eine Neuinstallation in das selbe “alte” wine prefix funktionieren wird - aber ich weiß das nicht.
Glauben ≠ Wissen …
Probieren geht über studieren.

Ansonsten:
wine prefix sichern (oder löschen …)
und ein neues erstellen und MyPhoneExplorer da hinein installieren.


das wird sicher noch für viel Spaß hier im Forum sorgen :grimacing:

@Michi anderes Problem → neuer Thread.

1 Like

Kurz und schlecht:
Das Neu-Installieren klappt nicht. Auch wenn ich, im Gegensatz zu früher win64 anstatt win32 verwende.
Hier meine Installation:

mkdir -pv $HOME/Wine/MyPhoneExplorer/{prefix,MyPhoneExplorer}
export WINEPREFIX=$HOME/Wine/MyPhoneExplorer/prefix
export WINEARCH=win64
export WINEPATH=$HOME/Wine/MyPhoneExplorer/MyPhoneExplorer
export WINEDLLOVERRIDES=“winemenubuilder.exe=d”
export WINEDEBUG=-all
export WINEDLLOVERRIDES=“mscoree=d,winemenubuilder.exe=d,mshtml=d”
wineboot --init
winetricks vb6run msxml3
wineboot –restart
wine $HOME/Dokumente/COMPUTER/Linux/Wine/MyPhoneExplorer_Setup_2.2.exe

Kann man da noch was machen, oder muss ich mich endgültig von Wine und MyPhoneExpolrer verabschieden?

Ich weiß nicht woran die Installation scheitert - das ist nicht in Deinen Ausgaben enthalten.

Das einzige, was mir auffällt ist:

Sieht unterschiedlich aus - und irgendwie falsch
WINEPATH sollte sicherlich auf eine tatsächlich vorhandene Lokation verweisen - Dein systemweites wine ist 100% -ig nicht dort zu finden.
Vielleicht solltest Du das weglassen? :man_shrugging: wenn Du das systemweit installierte wine nutzen willst …

Ich weiß auch nicht, ob man die ganzen dll overrides tatsächlich braucht.
Das mußt Du wissen.

Die werden übrigens hier zweimal definiert - die letzte, die zweite - Definition wird wohl am Ende die einzige sein, die berücksichtigt wird:

erst:
export WINEDLLOVERRIDES=“winemenubuilder.exe=d”
dann:
export WINEDLLOVERRIDES=“mscoree=d,winemenubuilder.exe=d,mshtml=d”

Wenn die alle da sein sollen/müssen, dann sollten die in einer Zeile stehen.
So wird nur die zweite genommen.
(was ja o.k. ist, wie mir gerade auffällt - die erste ist in der zweiten mit enthalten)

Ich weiß auch nicht, ob man nun die WINEARCH=win64 noch extra definieren muß - das sollte ja wohl nun der default sein.


Nimm Bottlles oder sowas - da kannst Du eine spezifische (auch uralte) wine Version verwenden,
statt der Systemweit installierten wine Version.

Ich werde etwas später Deine Angaben mal probieren, jetzt brauche ich eine Frust-Pause.
Wenn Du Lust hast, könntest Du ja mal die Eingabe fürs Terminal umschreiben. Bin gespannt.

Das sind Terminal Kommandos.
Nix umschreiben … :nerd_face:

Wo hast Du die Liste und Sequenz der Kommandos her?

Ich kann probieren, das Ding zu installieren - aber nur in einer Manjaro VM.
Ich weiß nicht, ob ich dort dann die Funktionalität auch testen könnte.

Mein genutztes System ist momentan Mint - und ich werde weder wine noch das Programm dort installieren.
Wäre auch kein guter Vergleich um zu sehen, wie das ganze unter Manjaro funktionieren würde, da das ja sicher eine andere, ältere wine Version wäre.

mal ein anderer ansatz. warum nutzt du nicht eine virtuelle maschine in der du ein echtes windows installierst und die programme die du unter windows nutzen musst dort laufen lässt. das ist bei weitem besser als das rumkämpfen mit wine. suche mal nach “kvm/qemu installing windows”.
braucht zwar etwas zeit sich einzuarbeiten, vor allem das durchschleifen von hardware. ist aber am ende kein hexenwerk und eine zuverlässige lösung für lange zeit. ein windows 10 installieren, alle ms-updates bis zum ende installieren und dann im herbst einfach den netzwerkcontroller in der vm abschalten. dann hast du dein windows auch noch in ein paar jahren (wenn’s denn sein muss).

siehe auch meinen vorherigen Beitrag
aber der hier ist wohl für Dich interessanter:


Was für mich so aussieht als würde es funktionieren -

Im Terminal ausführen
in dieser Reihenfolge (!) :
und alles in demselben, einmal geöffneten Terminal
(ich weiß nicht, ob der export des WINEPREFIX sonst erhalten bleibt)

mkdir ~/myphoneexplorer
(das Verzeichnis fürs Prefix erstellen, der Name ist egal, das ist nur der, den ich genommen hab)

export WINEPREFIX=$HOME/myphoneexplorer
(für die nächsten Schritte wine dieses Prefix mitteilen)

sudo pacman -Syu wine wine-mono wine-gecko winetricks

(wine und weiteres installieren - beim probieren hab ich Warnungen wegen fehlendem Mono gesehen, deshalb hab ich mono und gecko installiert)

Ob das de lege artis ist - oder überhaupt nötig - weiß ich nicht.
Ich hab’s jedenfalls so gemacht … damit nicht irgendwas fehlt und ich nochmal anfangen muß …

winetricks vb6run
(das wird definitiv benötigt - und mittels winetricks in das Prefix installiert)

dann MyPhoneExplorer runterladen:
wget https://www.fjsoft.at/files/MyPhoneExplorer_Setup_2.2.exe

und installieren:
wine MyPhoneExplorer_Setup_2.2.exe

Nicht als portable Installation - da wird bei der Installation danach gefragt.

… sollte aber auch funktionieren - wird dann aber anders gestartet

fertig

jedenfalls soweit ich das sehen kann - das Programm startet die GUI …


Das sieht nach einem netten und nützlichen Stück Software aus.
Werde ich auch tatsächlich mal selbst probieren zu benutzen.
Wenn es all das tut, was es verspricht, dann hat der Entwickler eine Donation verdient.

1 Like

Schau mal hier. Das ist noch alter Script aus meinen Projekten. Funktioniert tadellos.

#!/bin/bash

# Lege hier die aktuelle Version fest:
export VERSION="2.2"

# Lege die Pfade fest
export ROOT=$(dirname "$(readlink -f "${0}")")
export APPPATH=$ROOT/app
export WINEPREFIX=$ROOT/prefix

# Erstelle die Pfade
mkdir -p $APPPATH $WINEPREFIX

# Setup-Datei herunterladen, falls nicht da.
export  SETUPFILE="installer.exe"
URL=https://www.fjsoft.at/files/MyPhoneExplorer_Setup_$VERSION.exe
if [[ ! -f $ROOT/$SETUPFILE ]]; then curl -s $URL -o $ROOT/$SETUPFILE; fi

# Falls MyPhoneExplorer.exe nicht vorhanden, dann $ROOT/app mit setup-dateien überschreiben.
if [[ ! -f $ROOT/app/'MyPhoneExplorer.exe' ]]; then
    # Entpacke Setup-Datei
    7z x $SETUPFILE -o"$PWD/app" -y
    # Entferne unötige Dateien
    find $APPPATH -name "*\$*" -exec rm -R {} \; 2> /dev/null
    rm $APPPATH/*.xpi $APPPATH/*.apk $APPPATH/*.dll $APPPATH/*.ini
    #Erstelle den Data Ordner und lege Sprache auf Deutsch fest
    mkdir -p $APPPATH/Data
    echo -e "[Main]\nLanguage=Deutsch.lng" > $APPPATH/Data/general.ini
    # Entferne und bennen Exe-Datei um
    rm $APPPATH/MyPhoneExplorer.exe
    mv $APPPATH/MyPhoneExplorer\ portable.exe $APPPATH/MyPhoneExplorer.exe

fi

# Beschränke auf 32bit
#export WINEARCH=win32
# Setze den Suchpfad
export WINEPATH=$APPPATH
# Unterdrücke alle Debug-Nachrichten
export WINEDEBUG=-all
# Deaktiviere Mono/DotNET, Gecko/IE6, WineMenu
export WINEDLLOVERRIDES="mscoree=d,winemenubuilder.exe=d,mshtml=d"

# Installationspfad fest
export INSTALLPATH=$ROOT/app
# Konvertiere Unix Installationspfad in Windows-Pfad um
export WINDOWSPATH=$(winepath $INSTALLPATH)

# Schreibe/aktualisere Desktop-Datei
echo "$(cat <<EOF
[Desktop Entry]
Name=MyPhoneExplorer
Exec=${ROOT}/start.sh
Path=${ROOT}
Type=Application
Terminal=false
Categories=Utility;
Icon=${APPPATH}/App/AppInfo/appicon_32.png
EOF
)" > $HOME/.local/share/applications/wine-MyPhoneExplorer.desktop

cp -u $HOME/.local/share/applications/wine-MyPhoneExplorer.desktop \
      $HOME/Schreibtisch/wine-MyPhoneExplorer.desktop

# Überprüfe, ob die Abhängigkeiten installiert sind.
DLLS=(msxml3.dll msvbvm60.dll)
for DLL in ${DLLS[@]}; do
if [[ ! -f $WINEPREFIX/drive_c/windows/system32/$DLL ]]
then
	winetricks vb6run msxml3
	break
fi
done

# Starte das Programm
wine MyPhoneExplorer.exe
  1. Ordner erstellen.
  2. Datei mit dem Inhalt oben erstellen. Nenne es start.sh und mach es ausführbar.
  3. Terminal in dem Ordner starten und ./start.sh oder bash start.sh ausführen.
  4. Danach kann es auch über die Desktop-Datei gestartet werden.
1 Like

Hallo @megavolt, Dein script funktioniert bei mir prima, MyPhoneExplorer läuft wieder, trotz Manjaro Wine update.
Hallo @Nachlese, das Installieren geht ebenfalls, MPE startet auch, aber nur einmal am Anfang. Ist jetzt nicht so schlimm, weil megavolts scrpit bei mir ja nun gut läuft.

… na gut. Fein.

Ich habe es genau so gemacht wie beschrieben
und bei mir läuft das Programm.
Nicht nur einmal.

auch an @megavolt
Ich habe ganz bewußt die WINEDLLOVERRIDES weggelassen - um zu sehen ob es auch ohne geht.
… Geht.
War vielleicht früher (unter anderen wine Versionen) nötig - nun aber scheinbar nicht mehr.

Ich hab das Programm am laufen und getestet mit meinem Android Telefon über eine Wlan Verbindung - man muß auf Android noch eine Client Anwendung dafür auf dem Fon installieren.

Wenn du verstehst, warum es gesetzt wurde, merkst du auch, warum es nicht nötig ist, aber von Vorteil ist bei einem automatischen Script. :man_shrugging:

Vielleicht verstehe ich es irgendwann - momentan interpretiere ich das “d” als “disabled”,
obwohl das wine manual das so nicht erwähnt.

Da steht nur:

There are currently two types of libraries that can be loaded into a
process address space: native windows dlls (native) and Wine internal dlls (builtin). The type may be abbreviated with the first letter of the type (n or b).
The library may also be disabled (‘’).

Von dem verwendeten “d” steht da nichts drin. :man_shrugging:

Ich hab aber das script nicht probiert.
Ich bin durch den grafischen Installationsprozeß gegangen

Ich hatte ja insgeheim die Hoffnung, daß Du mir den Grund verrätst :nerd_face:
falls das kurz und vereinfacht möglich ist.

Deaktiviert die Mono-Installation bzw. das Fenster zur Installation, was den Prozess unnötig stoppt.

Deaktiviert die Erstellung der Desktop-Datei, da das Script es erledigt.

Deaktiviert die Installation von Wine-Gecko bzw. das Fenster zur Installation, was den Prozess unnötig stoppt.

Aha - Dankeschön für die Erläuterung!

Bei meiner (ersten) Installation, noch bevor ich vb6run in’s Prefix installiert hatte, kam ein Fehler wegen fehlendem Mono - deshalb hatte ich das wine-mono installiert.

Die Installation geht ziemlich fix - sicherlich aber etwas schneller durch diese Tweaks.

Die unvermeidlichen Meldungen im Terminal, wenn das Programm startet und läuft, sehen anders aus und sind insgesamt weniger, wenn wine-mono präsent war vs. wenn nur vb6run da war bei der Installation.
Irgendeinen Unterschied scheint das zu machen - das Programm funktioniert aber mit und ohne.

Danke nochmal für die Einsicht in den Installationsprozeß und wie man den wodurch steuern/beeinflussen kann.

1 Like