[Mono-dev] Application deployment questions

Lucifer luciferjeng at x-legend.com.tw
Thu Aug 24 21:12:44 EDT 2006


Hi Robert,

Thank you very much!
Your information is really useful for me.

I have not mentioned that I develop Mono application in Win32 platform, and
I strive to make my application cross-platform targeted.

In Win32 port, I might construct the application directory structure as
following:
AppFolder/
AppFolder/MyApp.exe
AppFolder/DependentDLLs
AppFolder/MyDLLs
As for Linux and Mac ports, I thought I have to switch to different
directory structure though I don't know how. I have very limited experience
in Linux/Unix development.

Originally I use Mono-1.1.13, and now I switch to use Mono-1.1.16. I tried
to use mkbundle.exe but exceptions throw.

Sources: 1 Auto-dependencies: False
   embedding: D:\test\x.exe
Compiling:
as -o temp.o temp.s
Unhandled Exception: System.ComponentModel.Win32Exception: Cannot find the
specified file
  at System.Diagnostics.Process.Start_shell
(System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process
process) [0x00000]
  at System.Diagnostics.Process.Start_common
(System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process
process) [0x00000]
  at System.Diagnostics.Process.Start (System.Diagnostics.ProcessStartInfo
startInfo) [0x00000]
  at System.Diagnostics.Process.Start (System.String fileName, System.String
arguments) [0x00000]
  at MakeBundle.Execute (System.String cmdLine) [0x00000]
  at MakeBundle.GenerateBundles (System.Collections.ArrayList files)
[0x00000]
  at MakeBundle.Main (System.String[] args) [0x00000]
(skip)

Do you have any ideas about this?

One restriction on me is that I can't afford to pack all binaries in /bin
with my application because the overall package size must be limited. I'd
only utilize a small portion of Mono binaries so that I hope I could pack up
the only DLLs required with my application.

I've wrote a simple program and managed to run on a WindowsXP PC which has
no Mono/.NET installed.
The DLLs required are as following: iconv.dll, intl.dll, libglib-2.0-0.dll,
libgmodule-2.0-0.dll, libgthread-2.0-0.dll, mono-1.dll, and mono.exe.
Would the DLLs required in Linux and MacOSX be different than in Win32?


Regards,
Lucifer




More information about the Mono-devel-list mailing list