Frage

Weiß jemand, oder einen Link zu einem Artikel oder einen Schritt für Schritt Anleitung, die mir sagen würde, wie eine .net MONO-Anwendung installieren, mit einem Minimum zu verteilen? Das volle Paket von Mono ist wie 75 MB aber ich weiß, al Menge davon ist der Compiler und Bibliotheken, die ich nicht brauche.

Ich will nur die Mindestlaufzeit-Dateien.

Welche Dateien würde ich für ein einfaches ‚Hallo Welt‘ winforms app verteilen müssen?

Ich habe gerade versucht, das Löschen von Dateien, bis ich mit etwas aufkommen, die gearbeitet, aber es funktioniert nur an der Maschine, die Mono darauf installiert hatten. Hier sind die Dateien, die ich versuchte,

Ich habe ein Verzeichnis für meine Anwendung. In diesem Verzeichnis habe ich zwei weitere Verzeichnisse

\ bin \ Lib \ Mono \ 2.0

im Verzeichnis \ Mono \ lib \ mono \ 2.0 ich die mscorlib.dll Datei setzen im Verzeichnis \ bin habe ich die folgende

Accessibility.dll, MyApp.exe (dies ist der Grund Hallo Welt ich in VS2005 tat), iconv.dll, intl.dll, libglib-2.0-0.dll, libgthread-2.0-0.dll, Microsoft.VisualBasic.dll, mono.dll, mono.exe, Mono.Posix.dll, System.dll, System.Drawing.dll, System.Windows.Forms.dll

Dann wird aus dem Verzeichnis \ bin ich lief ‚mono MyApp.exe‘ und es funktionierte auf meinem Mono installiert Maschine, aber keine anderen.

Was würde ich es vorziehen, ist ein ‚xcopy‘ Lösung, wo es keine eigentliche Installation notwendig wären, aber müssen nur die Runtime-Dateien enthalten (wie wenn Sie von einem USB-Stick ausgeführt wird)

Bitte beachten Sie, dass diese auf einem Windows-Computer ausführen, keine Linux-Box.


Ich habe versucht, läuft mkbundle2 (es ist eine .net 2.0 app) und bekam diesen Fehler

  

C: \ Programme \ Mono-2.0.1 \ bin> mkbundle2   C: \ Projects \ SingleExeTest \ bin \ Release \ SingleExeTest.exe --deps OS ist:   Windows-Quellen: 1 Auto-Abhängigkeiten: Wahre Einbettung:   C: \ Projects \ SingleExeTest \ bin \ Release \ SingleExeTest.exe Einbettung:   C: \ PROGRA ~ 1 \ MONO-2 ~ 1.1 \ lib \ mono \ 2.0 \ mscorlib.dll Einbettungs:   C: \ PROGRA ~ 1 \ MONO-2 ~ 1.1 \ lib \ mono \ 2.0 \ Microsoft.VisualBasic.dll
  Einbetten: C: \ PROGRA ~ 1 \ MONO-2 ~ 1.1 \ lib \ mono \ 2.0 \ System.dll
  Einbetten:   C: \ PROGRA ~ 1 \ MONO-2 ~ 1.1 \ lib \ mono \ 2.0 \ System.Configuration.dll
  Einbetten: C: \ PROGRA ~ 1 \ MONO-2 ~ 1.1 \ lib \ mono \ 2.0 \ System.Xml.dll
  Einbetten: C: \ PROGRA ~ 1 \ MONO-2 ~ 1.1 \ lib \ mono \ 2.0 \ System.Security.dll
  Einbetten: C: \ PROGRA ~ 1 \ MONO-2 ~ 1.1 \ lib \ mono \ 2.0 \ Mono.Security.dll
  Einbetten:   C: \ PROGRA ~ 1 \ MONO-2 ~ 1.1 \ lib \ mono \ 2.0 \ System.Windows.Forms.dll
  Einbetten: C: \ PROGRA ~ 1 \ MONO-2 ~ 1.1 \ lib \ mono \ 2.0 \ System.Drawing.dll
  Einbetten: C: \ PROGRA ~ 1 \ MONO-2 ~ 1.1 \ lib \ mono \ 2.0 \ System.Data.dll
  Einbetten: C: \ PROGRA ~ 1 \ MONO-2 ~ 1.1 \ lib \ mono \ 2.0 \ Mono.Data.Tds.dll
  Einbetten: C: \ PROGRA ~ 1 \ MONO-2 ~ 1.1 \ lib \ mono \ 2.0 \ System.Transactions.dll   Einbetten:   C: \ PROGRA ~ 1 \ MONO-2 ~ 1.1 \ lib \ mono \ 2.0 \ System.EnterpriseServices.dll
  Einbetten: C: \ PROGRA ~ 1 \ MONO-2 ~ 1.1 \ lib \ mono \ 2.0 \ Mono.WebBrowser.dll
  Einbetten: C: \ PROGRA ~ 1 \ MONO-2 ~ 1.1 \ lib \ mono \ 2.0 \ Mono.Posix.dll
  Einbetten: C: \ PROGRA ~ 1 \ MONO-2 ~ 1.1 \ lib \ mono \ 2.0 \ Accessibility.dll   Kompilieren: als -o temp.o temp.s

     

Unbehandelte Ausnahme: System.ComponentModel.Win32Exception:   Application = 'sh', Commandline = '- c "als -o temp.o temp.s"',   Current = ‚‘ bei System.Diagnostics.Process.Start_noshell   (System.Diagnostics.ProcessStartIn fo Startinfo,   System.Diagnostics.Process-Verfahren) [0x00000] at   System.Diagnostics.Process.Start_common   (System.Diagnostics.ProcessStartInf o Startinfo,   System.Diagnostics.Process-Verfahren) [0x00000] at   System.Diagnostics.Process.Start (System.Diagnostics.ProcessStartInfo   Start Info) [0x00000] bei MakeBundle.Execute (System.String cmdLine)   [0x00000] bei MakeBundle.GenerateBundles   (System.Collections.ArrayList-Dateien) [0x00000] bei MakeBundle.Main   (System.String [] args) [0x00000]

     

C: \ Programme \ Mono-2.0.1 \ bin>

Irgendwelche Vorschläge?

War es hilfreich?

Lösung 2

Hey, sieht aus wie ich habe es funktioniert!

Ich habe Mono in c zu installieren: \ mono statt c: \ program files \ mono

Ich denke, es hat nicht die Räume wie

Vielen Dank für alles, was Sie helfen!

Andere Tipps

Sie müssen „mkbundle“ verwenden, um eine in sich geschlossene ausführbare Datei zu erstellen, die in einer Windows-Umgebung verwendet werden kann. Das Endergebnis ist eine ausführbare Datei, die alle der Mono Bibliotheken, die Sie brauchen, und keiner von denen, enthält Sie dies nicht tun.

Achten Sie auf das "Bündel" Überschrift auf dieser Webseite . Es sollte erhalten Sie gehen. Beachten Sie, dass dies für reine Mono-Anwendungen; es behandelt nicht externe Abhängigkeiten wie GTK.

EDIT BEGINNT HIER

Hinweis: Von dem mkbundle Manpage ...

  

Fenster

     

Auf Windows-Systemen, ist es notwendig Unix-Werkzeugkette haben   werden für mkbundle installiert zu arbeiten. Sie können Cygwin verwenden und gcc installieren,   gcc-mingw und als Pakete.

Beachten Sie, dass das binutils Paket enthält wie.

Cygwin können hier . (I installieren Sie es auf alle meine Windows-Rechnern und kann es sehr empfehlen.) Beachten Sie auch, dass Cygwin nur auf der Dev-Maschine erforderlich ist. Es muss nicht an das Ziel (e) eingesetzt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top