[sldev] Working on an installer, anybody figured out licensing yet_

Dale Glass dale at daleglass.net
Tue Jul 10 10:18:19 PDT 2007


On Tue, Jul 10, 2007 at 12:33:06PM -0400, Able Whitman wrote:
> Howdy Dale,
> 
> I've been tackling many of the same issues you've been dealing with in
> trying to roll a custom, license-compliant installer.
> 
> I reached the same conclusion that you did about the Kakadu library not
> being redistributable. IANAL, so I'm not sure if having your installer take
> a copy of the DLL from an existing official install could be construed as de
> facto redistribution. Aside from Kakadu, all the other OSS-licensed
Hmm, I doubt so, as the library isn't changing hands at all.

But, to avoid any possible issues here I'll switch to openjpeg here as
soon as I can.


> In order to try and simplify my custom installer, I built one using NSIS
> which simply installs my custom viewer on top of an existing installation of
> the official viewer, in such a way that the two can run side-by-side. My
> installer requires that the user first install an official copy of the
> version of the viewer from which my custom build is derived from. (In my
> current case, this means requiring an official 1.17.3.0 install first.)
Also NSIS here. Here's how mine works:

Installer only carries a list of files. Information includes:
Name, MD5 sum of uncompressed file, size, SHA-1 of compressed file, size
of compressed file, flags (redistributable or not).

Installer scans all present SL installs (firstlook and such included)
and if the file it needs has the same MD5, uses that. Otherwise it
downloads it, if it's redistributable. 

The installer verifies that each downloaded file has the right SHA-1
hash, so that even though it downloads files on demand, signing the
installer would imply that everything it downloads is effectively signed
as well.


> 4. Change the name of the crash dump files that are created by my viewer
> (handleException in llwindebug.cpp) so as not to overwrite crash dumps from
> the official viewer
> 5. Change the window class name for my viewer (gWindowName in viewer.cpp)
> 6. Change the name of the default settings XML file, so that the official
> viewer and my private build use different configs and do not stomp on one
> another, similar to First Look viewers (DEFAULT_SETTINGS_FILE in viewer.cpp;
> changing the value here has the advantage of not requiring special command
> line arguments)
> 7. Change the display name of the application (used as the window title,
> etc.) to include the phrase "unofficial edition" (gSecondLife, in WinMain,
> in viewer.cpp)
> 8. Change the executable name to not include the phrase "SecondLife" (I
> chose "AbleSL.exe")
Makes sense.

To add to this: I thought it'd be a good to make my viewer distinctive,
so I changed my viewer's menu bar color to 0,128,255.


> I'd be happy to provide the NSI script I use and a diff for the source
> changes I mentioned, if they would be helpful.
diff would be appreciated :-)

NSI script probably isn't needed, as I have my own already, which I plan
to release as soon as I'm done tweaking stuff.


> 
> --Able
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.secondlife.com/pipermail/sldev/attachments/20070710/2a308a30/attachment.pgp


More information about the SLDev mailing list