From: Matthew H. <mat...@gm...> - 2008-01-04 22:58:16
|
On 04/01/2008, Bob Jacobsen <Bob...@lb...> wrote: > At 4:45 PM +0100 1/4/08, Matthew Harris wrote: > >I am starting to re-visit the JMRI Portable (aka JMRI-on-a-stick). > > > >When I first created this, I hard-coded the execution settings from > >the .bat file used to start DecoderPro etc. > > > >However, it would seem that this was a 'Bad Idea' - it breaks with > >later versions. > > > >I did not use the .bat file directly as I needed to force user.home to > >point to a directory on the Flash Drive. > > > >Also, on exiting the program, the relevant Configuration file was > >modified to change the roster file location from an absolute location > >to a relative one. > > > >Now onto the real question. > > > >Would I be correct to assume that the only variable in batch file > >between versions is the class path? > > It's hard to predict the future, but that's been true of the last few > changes to the .bat file. > > One approach would be to create the classpath dynamically, from > whatever .jar files are found in the current directory and the lib > subdirectory. That requires more scripting than I know how to do in > Windows, though. > > Bob Bob, Thanks for that. In the launcher application, I have assumed that the following launch options can be assumed to be fixed: '-noverify -Dsun.java2d.d3d=false -Djava.security.policy=security.policy -Djava.rmi.server.codebase=file:java/classes/ -Dsun.java2d.noddraw' I also force user.home to a directory on the USB stick via: -Duser.home="$DATADIR"' Previously, I was also assuming that the classpath was fixed. Now, I am reading the i.e. DecoderPro.bat file from the USB stick and extracting the classpath from that .bat file. On exit, the launcher opens the i.e. DecoderProConfig2.xml file and changes the roster file location to remove the absolute path and replace with a relative path. Can you see any potential flaws in this approach? Where would be an appropriate place to post the source code for this (it is written in NSIS script language). Best regards, Matt Harris |