[Mono-devel-list] Guidelines: Application Deployment; Feedback requested.

Ben Maurer bmaurer at ximian.com
Sun Jun 26 21:41:15 EDT 2005


On Sun, 2005-06-26 at 20:47 -0400, Miguel de Icaza wrote:

> > Some other things that might be worth talking about:
> > 
> >       * Storing application settings (how to use S.Environment to get a
> >         location for preferences. Having both global and per user prefs)

I guess the options are using
SpecialFolder.CommonApplicationData/APPNAME or some path relative to the
location of the .dll for shared preferences. I'm not sure which we want
to recommend (SpecialFolder is less relocatable, while using the path to
the .dll is sorta weird having having settings in /usr/lib).

For per user settings, it would go in
<SpecialFolder.ApplicationData>/APPNAME/.

> Do you have pointers to that?  I do not know how to use any of it.
> 
> >       * What to do if your application also has a C component?
> 
> Expanded on that subject.

  export DYLD_LIBRARY_PATH=PREFIX/lib/APPLICATION:$DYLD_LIBRARY_PATH
  export LD_LIBRARY_PATH=PREFIX/lib/APPLICATION:$LD_LIBRARY_PATH

One other way to get this effect is to put a full path in the dllmap.
That obviously works better for .dlls. 

One icky thing which might be an issue is 64 bit systems and rpm
packaging. The `lint' scripts for fedora and suse systems may forbid 64
bit .so files from being packaged into /usr/lib. I will check tomorrow
if there are any workarounds to disable this, otherwise, we should
probably recommend people use $libdir for the shared libraries.


> >       * Providing pkg-config files (for libraries)
> >       * lib/APPLICATION vs lib/mono/APPLICATION (I don't even
> understand
> >         this ;-)
> 
> Both of these are covered in our "GAC" document (linked from it)

Ah. I changed it to make it more obvious that the link was something
other than the definition of the gac.

-- Ben




More information about the Mono-devel-list mailing list