On Fri, 2010-06-11 at 12:12 +0000, Gavin Phaup wrote:
> Hi Joe
>
> The following is the contents of /usr/lib/mono/2.0/ after installing just the mono-2.0-service package.
>
> CustomMarshalers.dll System.Core.dll
> gacutil.exe System.dll
> I18N.dll System.Drawing.dll
> I18N.West.dll System.EnterpriseServices.dll
> Mono.Posix.dll System.Management.dll
> Mono.Security.dll System.Security.dll
> mono-service.exe System.ServiceProcess.dll
> mscorlib.dll System.Transactions.dll
> System.Configuration.dll System.Xml.dll
> System.Configuration.Install.dll System.Xml.Linq.dll
>
> As you can see mono-service.exe exists. The following is the list of the dependancies that where installed with mono-2.0-service package.
>
> --\ Packages being automatically installed to satisfy dependencies (10)
> ciA binfmt-support +168kB <none> 1.2.18
> piA cli-common +344kB <none> 0.7
> piA libmono-corlib2.0-cil +2,679k <none> 2.4.4~svn1
> piA libmono-i18n-west2.0-cil +225kB <none> 2.4.4~svn1
> piA libmono-posix2.0-cil +303kB <none> 2.4.4~svn1
> piA libmono-security2.0-cil +418kB <none> 2.4.4~svn1
> piA libmono-system2.0-cil +4,510k <none> 2.4.4~svn1
> piA mono-2.0-gac +147kB <none> 2.4.4~svn1
> piA mono-gac +135kB <none> 2.4.4~svn1
> ciA mono-runtime +3,379k <none> 2.4.4~svn1
>
> I dont have any other services to test mono-service2 with, however I managed to fix the problem by installing libmono2.0-cil package. Should this be a dependancy of the mono-2.0-service package? If it should not be neccesary I would prefer not to use it as the libmono2.0-cil package has a lot of dependancies and with this being a customer's production server I would like to install as little as possible.
It looks like mono-service simply gives incredibly unhelpful errors when
it fails.
If your *APP* has any required assemblies missing, then mono-service
reports that it's missing.
For example:
$ mono hello.exe
** (hello.exe:8946): WARNING **: The following assembly referenced
from /tmp/hello.exe could not be loaded:
Assembly: System.Windows.Forms (assemblyref_index=0)
Version: 2.0.0.0
Public Key: b77a5c561934e089
The assembly was not found in the Global Assembly Cache, a path listed
in the MONO_PATH environment variable, or in the location of the
executing assembly (/tmp/).
** (hello.exe:8946): WARNING **: Could not load file or assembly
'System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089' or one of its dependencies.
The entry point method could not be loaded
$ mono-service2 --no-daemon hello.exe
Unhandled Exception: System.IO.FileNotFoundException: Could not load
file or assembly 'mono-service, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=0738eb9f132ed756' or one of its dependencies. The system
cannot find the file specified.
File name: 'mono-service, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=0738eb9f132ed756'
at (wrapper xdomain-invoke) System.AppDomain:CreateInstanceAndUnwrap
(string,string,bool,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo,object[],System.Security.Policy.Evidence)
at (wrapper remoting-invoke-with-check)
System.AppDomain:CreateInstanceAndUnwrap
(string,string,bool,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo,object[],System.Security.Policy.Evidence)
at MonoServiceRunner.Main (System.String[] args) [0x00000] in
<filename unknown>:0
So I think it's the app missing things, nothing to do with mono-service
itself.
Check the app's dependencies via "monodis --assemblyref app.exe" - or
simply try running it without mono-service and see what explodes.
Attachment:
signature.asc
Description: This is a digitally signed message part