[sword-devel] BibleCS Installer
DM Smith
dmsmith555 at yahoo.com
Thu Feb 9 05:56:06 MST 2006
I have updated the installer as before.
This now launches readme (if requested) and then the InstallMgr followed
by Sword.exe (if program run requested)
I think that all the registry keys are correct.
I think that all the links are correct.
I fixed a problem where the InstallMgr --uninstall was called even if
the user chose to cancel the uninstall.
I added the splash screen to the uninstall.
So, while it does it differently internally, we now have the same
functionality of the simple installer. StarterPack is next.
There may be a little more that needs to be done along with code
commenting and simple refactoring, Then I think this is sufficient to
get a first release out.
Monday, should be a reasonable milestone.
Lynn, I think there are enough hooks in the registry for the discovery
of Sword to use its files in another project. I am still trying to
figure out SWORD_PATH and SWORD_HOME.
Troy, please take a critical look at it and see what else must be done
before a release.
DM Smith wrote:
> 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.
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
>
>
More information about the sword-devel
mailing list