[brailleblaster] Re: Adding files to the installer

  • From: Michael Whapples <mwhapples@xxxxxxx>
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Tue, 02 Oct 2012 13:25:12 +0100

It all depends on what is to be added. You possibly will need to read the NSIS documentation to follow some of these examples fully but I will give some basic ideas of what is done.


So if you add a jar file (anywhere inside dist) it will automatically be picked up by the line:
File /r /x "swt.jar" "..z..zdist\*jar"
The part of that command which picks up any jar file is the "..\..\dist\*.jar". The /r option means search recursively, so it will try and match *.jar anywhere under ..\..\dist\. This though has the bad effect of picking up swt.jar which is platform dependent and should be dealt with by the platform specific part and also we don't want to add things which will never get used. This is why /x "swt.jar" is used, it tells NSIS to exclude swt.jar from that search.

So looking at the above, this means, when building a release installer make sure the system is as clean as possible, if you have an unused jar in dist it will still be picked up and bundled and installed.

The other option is to specify which file should be included, but this could be very much hard work to maintain as one needs to keep updating the script like you said.

There are a few cases where I have specified the files, these are typically things like LICENSE.txt, COPYRIGT.txt, etc.

Please note that due to the way NSIS does the search (that is why I said you probably will need to read the NSIS documentation) some of the searches aren't quite as simple as they should be. May be an adjusted directory structure in BrailleBlaster would also help.

One example where this caught me out was I originally define a command like:
File /r /x "README" /x "swt.jar" "..\..\dist\lib"
One might think that will include everything from lib, wrong, it includes any directory called lib which is in dist, so it picked up native/lib as well. I adjusted the installer script to prevent the DLLs from native/lib being picked up, but it could also have been fixed if BrailleBlaster had native stuff only in native/ (why it needs subdirectories bin and lib I don't know, only lib is currently used and well .exe files will never clash with .dll files so they could quite happily coexist in one directory).

Sorry for the long answer, but its not a simple yes or no.

Michael Whapples
On 02/10/2012 11:21, Vic Beckley wrote:
Michael,

As files are added to the repository that we want included in the new
installations are you going to have to add each file manually to the
installer script? For example, the getting started file or a readme file.


Best regards from Ohio, U.S.A.,

Vic
E-mail: vic.beckley3@xxxxxxxxx





Other related posts: