[audacity4blind] Re: New jaws script for Audacity

  • From: "Gary Campbell" <campg2003@xxxxxxxxx>
  • To: <audacity4blind@xxxxxxxxxxxxx>
  • Date: Mon, 20 Aug 2012 23:28:14 -0600

Hi Cuong,


Here is the log entry in my Mercurial log for the files I sent you.  As you
can see, it is a rewrite of the history at the top of the file, but it might
be a little easier to make sense of.


changeset:   8:8b1225c9de98

tag:         tip

user:        Gary Campbell <campg2003@xxxxxxxxx>

date:        Sat Aug 18 17:22:39 2012 -0600

files:       Jaws Script installer_cuong/Jaws Script


Changes to ginstaller.nsi:

Remembers JAWS selected versions if you come back to the versions page.


Added Welcome, Components, and Confirm Install pages.

The Confirm Install page shows the selected JAWS versions, the $INSTDIR for
full installations and installer source folder if selected.


Started making a way for the user to specify the files to be installed from
the installer script if most of this code is in a header file.  Made
${JAWSScriptItemsBegin/End} macros.




;Instructions to install script files into a JAWS version.  $OUTDIR will be
set to the directory where the scripts should be installed.



A default version that looks for the common script files will be used if
these macros are not defined.  This is still a bit hard to test while almost
everything is in the .nsi file.


Added macro __FileDatedNF and define FileDatedNF to execute file /nonfatal,
used in default version.


Converted for MUI2.


Added section Installer Source.


Added section Install JAWS scripts.

Made JAWS section silent.


Changed functions GetJawsScriptDir and GetJawsProgDir to return on TOS
instead of $2.


Added DirPagePre to skip directory page if not full install.


Added ${NSD_CreateTextMultiline} used on Confirm Install page.


Added function GetSecIDs and variables to store section indexes needed for
InstConfirmPre, called from .OnInit.  The issue is that the defines for
section indexes aren't defined until after the sections are defined, yet
they are needed in the dir and confirmInst page pre functions.  All of the
functions could be moved after the sections, but that would make it harder
to package the pages, sections, and functions into a header file.


Added function ComponentsPageLeave to select SecUninstaller if type
JUSTSCRIPTS is not selected, this covers type Custom.



Changed uninstall section to delete using uninstlog and not use rmdir /r to
remove $INSTDIR.


Made most of code in install JAWS scripts section into a macro.  Moved
version uninstall macros ahead of install scripts section.


Changed to use the ${WriteUninstaller} uninstlog macro.


Added open/close uninstlog in -uninstaller section.


Added function MarkSelectedVersions to check the list view items of selected
versions when the user comes back to the JAWS Versions page.  Wrote

Changed code in JawsPage to set $SELECTEDJAWSVERSIONS when only one JAWS
version is found.


Issues: The output of makensis shows warnings generated for code in function
__JAWSInstallScriptItemsDefault when ${ScriptItemsBegin} is used.

The uninstaller has shown a message saying that $INSTDIR can't be removed
when it is actually removed.

Even if the warning about not being able to remove $INSTDIR is displayed and
$UNINSTDIR is in fact not removed, the finish message says the uninstall is

Issue: need a way for the user to choose between installing scripts in All
Users or current user.  One may wish to make that choice even if the
installer can write All Users and the installer is set to install to All
Users-- i.e. into Program Files.

Issue: need a way to choose to install scripts into the program files
folder, e.g. to view them on a system where JAWS is not installed.

Issue: If Install Source is not selected install type is 2 when Custom is
selected, therefore, selecting install type Custom but not selecting Install
Installer Source will cause a Just Scripts installation.

The Installer Source component is not checked by default when Custom is


Text from the Components page appears on the Confirm Install page.


The README file is currently not installed.






Other related posts: