title: Minimal runtime for Mono for a Vb.net VS2005 app on Windows?
body: <p>Does anyone know, or have a link to an article or a step by step tutorial, that would tell me how to distribute a .net MONO application with a minimum install? The full package of Mono is like 75 MB but I know al lot of that is the compiler and libraries that I don't need.</p>
  <p>I just want the minimum runtime files.</p>
  <p>What files would I need to distribute for a simple 'Hello World' WinForms app?</p>
  <p>I tried just deleting files until I came up with something that worked but it only worked on the machine that had Mono installed on it. Here are the files I tried</p>
  <p>I created a directory for my app. In that directory I created two more directories</p>
  <ul>
  <li><code>\bin</code></li>
  <li><code>\lib\mono\2.0</code></li>
  </ul>
  <p>in the <code>\mono\lib\mono\2.0</code> I put the <code>mscorlib.dll</code> file
  in the <code>\bin</code> directory I put the following</p>
  <ul>
  <li><code>Accessibility.dll</code></li>
  <li><code>MyApp.exe </code>(this is the basic World I did in VS2005)</li>
  <li><code>iconv.dll</code>,</li>
  <li><code>intl.dll</code>,</li>
  <li><code>libglib-2.0-0.dll</code>,</li>
  <li><code>libgthread-2.0-0.dll</code>,</li>
  <li><code>Microsoft.VisualBasic.dll</code>,</li>
  <li><code>mono.dll</code>,</li>
  <li><code>mono.exe</code>,</li>
  <li><code>Mono.Posix.dll</code>,</li>
  <li><code>System.dll</code>,</li>
  <li><code>System.Drawing.dll</code>,</li>
  <li><code>System.Windows.Forms.dll</code></li>
  </ul>
  <p>Then, from the <code>\bin</code> directory I ran 'mono <code>MyApp.exe</code>' and it worked on my Mono installed machine but no others.</p>
  <p>What I'd prefer is an 'xcopy' solution where there would be no actual installation necessary but just need the runtime files included (like when you run from a thumb drive)</p>
  <p>Please note that this is to run on a Windows computer, not a Linux box.</p>
  <hr />
  <p>I tried running mkbundle2 (it is a .net 2.0 app) and got this error</p>
  <blockquote>
  <p><code>C:\Program</code> Files\Mono-2.0.1\bin&gt;mkbundle2<br />
  <code>C:\Projects\SingleExeTest\bin\Release\SingleExeTest.exe</code> --deps OS is:<br />
  Windows Sources: 1 Auto-dependencies: True    embedding:<br />
  <code>C:\Projects\SingleExeTest\bin\Release\SingleExeTest.exe</code>    embedding:<br />
  <code>C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\mscorlib.dll</code>    embedding:<br />
  <code>C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\Microsoft.VisualBasic.dll</code><br />
  embedding: <code>C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\System.dll</code><br />
  embedding:<br />
  <code>C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\System.Configuration.dll</code><br />
  embedding: <code>C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\System.Xml.dll</code><br />
  embedding: <code>C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\System.Security.dll</code><br />
  embedding: <code>C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\Mono.Security.dll</code><br />
  embedding:<br />
  <code>C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\System.Windows.Forms.dll</code><br />
  embedding: <code>C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\System.Drawing.dll</code><br />
  embedding: <code>C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\System.Data.dll</code><br />
  embedding: <code>C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\Mono.Data.Tds.dll</code><br />
  embedding: <code>C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\System.Transactions.dll</code><br />
  embedding:<br />
  <code>C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\System.EnterpriseServices.dll</code><br />
  embedding: <code>C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\Mono.WebBrowser.dll</code><br />
  embedding: <code>C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\Mono.Posix.dll</code><br />
  embedding: <code>C:\PROGRA~1\MONO-2~1.1\lib\mono\2.0\Accessibility.dll</code><br />
  Compiling: as -o temp.o <code>temp.s</code></p>
  <p>Unhandled Exception: System.ComponentModel.Win32Exception:<br />
  ApplicationName='sh', CommandLine='-c &quot;as -o temp.o <code>temp.s</code> &quot;',<br />
  CurrentDirectory=''   at System.Diagnostics.Process.Start_noshell<br />
  (System.Diagnostics.ProcessStartIn fo startInfo,<br />
  System.Diagnostics.Process process) [0x00000]   at<br />
  System.Diagnostics.Process.Start_common<br />
  (System.Diagnostics.ProcessStartInf o startInfo,<br />
  System.Diagnostics.Process process) [0x00000]   at<br />
  System.Diagnostics.Process.Start (System.Diagnostics.ProcessStartInfo<br />
  start Info) [0x00000]   at MakeBundle.Execute (System.String cmdLine)<br />
  [0x00000]   at MakeBundle.GenerateBundles<br />
  (System.Collections.ArrayList files) [0x00000]   at MakeBundle.Main<br />
  (System.String[] args) [0x00000]</p>
  <p><code>C:\Program Files\Mono-2.0.1\bin&gt;</code>\</p>
  </blockquote>