giovedì 29 ottobre 2015

Wine su Mac con Homebrew

Ho la necessita' di utilizzare un programma sviluppato da un collega in Visual Basic (Visual Studio 2010) ma normalmente non ho con me una macchina Windows.
Non avendo voglia di installare una intera macchina virtuale Windows XP per far girare un programma da pochi Mb ho scelto la strada di Wine ed in particolare Wine su Mac





Per prima cosa si deve agire da superutente
sudo su

L'installazione di Wine e' stata fatta mediante Homebrew (esistono soluzioni gia' preconfezionate di Wine su Mac tipo WineBottler e PlayOnMac ma entrambe mi hanno generato errori senza che io avessi la possibilita' di capire dove era il problema per cui ho rinunciato...per la verita' esiste anche una soluzione a pagamento con una trial da 14 giorni CrossOver)

poi, lavorando dietro ad un proxy, devo istruire Homebrew
export http_proxy=http://proxy.xxxxxx.it:8080 export ALL_PROXY=$http_proxy

si inizia installando Wine ma prima si deve aggiornare Brew per evitare problemi di dipendenze (a me e' successo con libpng)..c'e' anche una dipendenza da XQuartz ma io la installo sempre
Attenzione ... munirsi di pazienza

brew update
brew upgrade


brew fetch -deps wine
brew install wine

a questo punto dovrebbe essere possibile digitare
winefile
per aprire il file manager di Wine

Se si clicca pero' l'eseguibile Visual Basic questo non parte perche' mancano le librerie di base di DotNet....pero' DotNet non si installa se prima non e' installata la msxml3. Per rendere le cose semplici si usa winetricks (e' uno script di shell)

wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
(oppure wget http://kegel.com/wine/winetricks)
chmod +x winetricks

winetricks msxml3
winetricks dotnet40

Non basta. Cercando di aprire l'eseguibile compare il seguente errore. 

Queste librerie non sono incluse in winetricks, si scarica quindi l'installer e si esegue con il comando

wine VisualBasicPowerPacksSetup.exe

alla fine siamo pronti ad aprire l'eseguibile in Visual Basic (con il doppio clic da winefile oppure direttamente lanciandolo da riga di comando)