[sword-devel] BibleCS Installer
DM Smith
dmsmith555 at yahoo.com
Mon Feb 6 06:58:13 MST 2006
I have uploaded a current copy of the installer script that I am working
on to:
http://www.crosswire.org/bibledesktop/biblecs/biblecs/installer/SwordSetup.nsi
I have also uploaded the installer:
http://www.crosswire.org/bibledesktop/biblecs/biblecs/installer/SwordSetup.exe
Give it a try and let me know what what you think.
I will be adding the ability to chose whether to create a Start Menu
Group (may already be present), a desktop shortcut and a Quick Launch
shortcut. And the launching of the executable and the readme at the end
don't work right.
DM Smith wrote:
> Troy,
> Lynn and I have been working on this. Our approach has been a
> little different. My goal is to get a basic installer for just BibleCS
> and his has been to create a family of installers for all derivative
> Sword API Windows applications. These are not at odds with each other
> and I think we are nearly there with at least a first pass.
>
> To finish the first pass, we need a couple of things:
> 1) All the compile artifacts of the build (e.g. dlls, exes, ...) as I
> don't have a C++ compile environment. Preferably, these should be what
> will be used by the installer. Also, if you could give me the paths
> for these using the checkout scheme below that would be great.
> Currently, I am stubbing this with 1.5.6.
I am now stubbing with the latest betas in the alpha download area.
These require icudt28L.dll and not icudt34dll. The latter is what is in
source code control.
> 2) What are the other files that must be included? And for dlls, what
> versions?
> (For 1 and 2, if you could create an directory layout of what the
> final install should be like that might be easier. Essentially, this
> would be a zip of what the installation directory would contain right
> after installation when no modules are installed.)
Rooted at http://www.crosswire.org/bibledesktop/biblecs is the "image"
of what the installer uses.
This is a subset of the checkout Troy mentioned below. However, I used a
tag for checking out Sword, not trunk.
I am not sure of the placement of sword.exe or InstallManager.exe.
I have placed sword.exe in biblecs/stage and InstallManager.exe in
apps/InstallMgr
> 3) What is the minimum set of files to provide the Sword API for other
> applications? (I want to create a SwordAPI installer that will install
> the absolute minimum that a derivative application must have present.
> This will then be called by those applications installers, if the
> SwordAPI has not been installed.) Does it need icudt34.dll? Does it
> need the install manager? How about all the subdirectories in
> biblecs/.../stage/?
> 4) In an earlier note, Lynn gave a path to a patch to allow for the
> modules to be located elsewhere. Is this something that can be
> included in 1.5.8 or should it wait for a later release.
> 5) NSIS needs (un)installer icons that work. I am terrible at artwork,
> so I am not the one to do it. NSIS requires that the size of the
> installer and uninstaller icons be the same.
I found that the installer icons were taken from NSIS. I am using these
directly now and have fixed the mismatch problem. I also have fully
branded the installer with the "orange" theme.
>
> Can you give me check in privs for the installer directory? Then I can
> work in there. I think that the following addition to the svn
> authorization file, would work:
> [biblecs:/trunk/installer]
> dmsmith=rw
>
> Right now this is where the installer is at:
> 1) Offers the user a choice as to where to install the program and
> what Start Menu Group to create.
> It defaults to the same default locations that 1.5.6 uses.
> 2) The installation
> a) Installs the files
> b) creates the registry entries
> i) The uninstaller is listed in Add/Remove Programs
> ii) Keys and values are created so that other programs can
> discover where Sword is installed.
It still needs to create a couple of keys.
> c) creates a desktop shortcut
> Does not offer the user a choice about this one.
> Should also probably install to the Quick Start task bar. And
> it should be a choice, too.
I have not added the choice for these.
> d) creates shortcuts in the Start Menu for
> i) the Sword program
> ii) the Sword Install Manager
> iii) the website
> iv) the uninstaller
> It probably should also create a shortcut to help.
Shortcut for help now present.
> e) It adds/changes SWORD_HOME environment variable to point to the
> installation directory.
> The installer assumes that prior versions have been deleted. This
> may be bad.
> Are there any files that *must* be removed for the install to the
> same directory to be successful?
> For example, is it bad to have icudtXX.dll and icudtYY.dll in the
> same directory?
It appears that the executables require a particular version, so this
won't be a problem.
However, it may still be best to do a "clean" upgrade.
> 3) It creates an uninstaller that
> a) runs InstallManager -uninstall
> currently, this is broken
This now works, but both the readme and the installer come up at the
same time rather than serially.
I think I know a way to fix this.
> b) Removes all files that the installer installed. Leaving all
> files that the program or user created.
> c) Removes all shortcuts (that have not been moved)
> c) Removes empty folders
> d) Removes registry entries.
> The uninstaller does not determine whether there are any dependent,
> derivative applications and act appropriately.
> These will have a registry key located under HKLM\software\CrossWire.
> It should be the responsibility of the last removed derivative
> application to remove the SwordAPI.
>
> Is there anything missing from the above? Must haves? Should haves?
> Nice to have?
>
> The last thing needed before the installer(s) is(are) released is
> robust testing. I know there are somethings that don't work yet and
> some of the paths are wrong. And there may be some things, I won't
> find because I always test the same small set of paths! So after I get
> the bugs out that I know, testing help would be appreciated.
>
> In His Service,
> DM
>
> Troy A. Griffitts wrote:
>> Hey guys,
>> I spend today trying to build a new installer for the upcoming
>> release of BibleCS. I'm abandoning the commercial InstallShield
>> installer we currently use and am trying to make everything work
>> using the free NullSoft installer. I gave up after trying to learn
>> the scripting language and downloaded Eclipse and the NullSoft
>> Installer plugin for Eclipse. I used a wizard and got it pretty
>> far. Had to hand edit the generated script to get it to compile.
>>
>> There are a few things missing:
>> Launch Readme.txt and wait for close BEFORE launching
>> InstallManager.exe
>> Registry keys correct so Windows Module self-installers (website,
>> module download, windows) know where to unzip themselves.
>> Uninstaller successfully launching "$INSTDIR/InstallManager.exe
>> -uninstall" to uninstall all modules
>>
>> I've checked everything in:
>> https://crosswire.org/svn/biblecs/trunk/installer so if you'd like
>> to give it a shot, please help yourself! It expects the normal:
>> sword, icu-sword, biblecs directories all checked out at the same level.
>>
>> svn co https://crosswire.org/svn/sword/trunk sword
>> svn co https://crosswire.org/svn/icu-sword/trunk icu-sword
>> svn co https://crosswire.org/svn/biblecs/trunk biblecs
>>
>> I'd really welcome the help with this.
>>
>> -Troy.
More information about the sword-devel
mailing list