On Wednesday, October 28, 2009, j...@resonance.org wrote:
> > I've made several windows installers for QSynth releases using NSIS,
> >  including
> > FluidSynth and other dependencies. Here is the source code:
> > http://qsynth.svn.sourceforge.net/viewvc/qsynth/trunk/win32/setup.nsi
> >
> > NSIS: http://nsis.sourceforge.net/Main_Page
>
> I like the fact that it is an open source installer.  At a glance from
> that .nsi file it expects dependencies like Jack and FluidSynth to be
> installed separately?  I noticed in particular that your home
> directory is hard coded into FLUIDSYNTHDIR.  

The .nsi file is a specification, that will be processed by NSIS to create a 
setup exe. The directories hardcoded at the top of the file are the places 
where it picks the components, that NSIS will gather, compress and package. 
Some components are installed from another distribution package, and some 
components are compiled from sources, like the ones in my home directory.    
The paths are defined at the top of the .nsi file, documenting the origin of 
the components for the last package created, so it can be located and 
replaced easily the next time.

The .nsi file also specifies the places where the components will be installed 
in the user system. In my package, they will be installed together into  
a "Program Files\QSynth" directory.

> I wonder how FluidSynth 
> should be distributed, whether it should include all dependencies as
> libs that just get installed in it's application directory or not.  It
> seems the most straight forward to just bundle the dependencies with
> it (at least glib and libsndfile).  But I could see it using an
> externally installed Jackdmp.

There are two ways to install dynamic libraries in Windows: side-by-side (at 
the same place of the executables using the libraries), or system-wide, in a  
public centralized directory, that must be in the PATH. I've chosen the first 
way to install QSynth and its dependencies. 

There is not a package repository in windows, and every setup package installs 
the preferred version of each required library, at any random place, using 
different package systems. You can imagine the nightmare. The usual result is 
called the "DLL hell".  

To summarize: I would install everything together, at the same directory. But 
I don't think that a FluidSynth setup package would be very useful alone, 
with only the fluidsynth.exe CLI.

Regards,
Pedro


_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
http://lists.nongnu.org/mailman/listinfo/fluid-dev

Reply via email to