Citazione dal l'articolo originale (si prega di seguire il filo sull'articolo originale così però):
Mkbundle: Gruppo Mono con le applicazioni
Vi siete mai chiesti il motivo per cui si ha bisogno. NET Framework o Mono installato per eseguire il tuo programma? Beh, sarebbe molto più comodo se potessi distribuire le tue applicazioni senza fastidi dei tuoi clienti per installare framework aggiuntivi, non è così? Allora eccoci qua. Consente di raggruppare un'applicazione basata su .NET con Mono, quindi non è necessario Mono o .NET installato per eseguirlo.
Preparare un ambiente
In primo luogo è necessario installare più recente Mono e Cygwin. Installare Mono è molto semplice in modo da non rovinare nulla. Quando avvii l'installazione di Cygwin, vai a Vista completa, quindi includi 4 pacchetti aggiuntivi. Questi sono: gcc, mingw, mingw-zlib e zlib.
Ora è necessario un prompt dei comandi. Sia Mono che Cygwin creano scorciatoie per i prompt dei comandi sul desktop, ma è necessario combinarli in uno solo. Ecco un batch che lo fa per me. Potrebbe essere necessario modificarlo, ad esempio se si dispone di un'altra versione Mono.
Codice:
echo Mono version 2.4 Build 6
echo Prepending 'C:\PROGRA~1\Mono-2.4\bin' to PATH
PATH=C:\PROGRA~1\Mono-2.4\bin;%PATH%
chdir C:\cygwin\bin
bash --login -i
fascio di un'applicazione con Mono
Così ora siamo in un prompt dei comandi, l'esecuzione di questo modo di Cygwin. Si noti che questo non è più un prompt di DOS e "dir" non funzionerà più. Per elencare i file usa il comando linux "ls". La cartella in cui stai navigando ora è simile a quella qui sotto. Arek è un nome utente. Codice:
C:\cygwin\home\Arek
Sfoglia per questa cartella con il proprio esploratore. Ora copi 2 file in questa cartella. La prima è la tua applicazione exe e la seconda è il file Mono.dll (2MB) che puoi trovare nella tua cartella Mono. Codice:
C:\Program Files\Mono-2.4\bin
Per qualche motivo l'intera procedura non funziona con i nomi di file lunghi, in modo da rinominare l'exe applicazione. Dovrebbe essere conforme a questa vecchia denominazione DOS 8.3.
Consente di tornare al prompt dei comandi. Hai bisogno di un solo comando per raggruppare la tua applicazione, ed ecco alcune spiegazioni.
mkbundle è un programma del pacchetto mono | -o Bundled1.exe specifica come verrà chiamato l'exe Mono-bundled | Winform1.exe dice che cosa sarà incluso, le librerie mono saranno comunque incluse | --deps è necessario anche se non sono sicuro di cosa faccia | -z sarà comprimere l'uscita exe molto
Codice:
mkbundle -o Bundled1.exe Winform1.exe --deps -z
Così ora avete ottenuto il vostro Bundled1.exe, che contiene la propria applicazione con Mono stessa. Non dovresti aver bisogno di Mono né di .NET per eseguirlo. Si noti che sarà di 4 MB o più in termini di dimensioni. Quei bundle exes non sono leggeri.