Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6260 Modified Files: Tag: b0_22_2 CBP.nsh MonitorCC.nsi WriteEnvStr.nsh installer.nsi msgcapture.nsi pfi-languages.nsh pfi-library.nsh runpopfile.nsi runsqlite.nsi stop_popfile.nsi Added Files: Tag: b0_22_2 adduser-EmailConfig.nsh adduser-Uninstall.nsh adduser-Version.nsh installer-SecMinPerl-body.nsh installer-SecPOPFile-body.nsh installer-SecPOPFile-func.nsh installer-Uninstall.nsh Log Message: Commit Brian's new installer to branch (without first and second patches) Index: CBP.nsh =================================================================== RCS file: /cvsroot/popfile/windows/CBP.nsh,v retrieving revision 1.33 retrieving revision 1.33.4.1 diff -C2 -d -r1.33 -r1.33.4.1 *** CBP.nsh 26 Oct 2004 16:59:13 -0000 1.33 --- CBP.nsh 13 Sep 2005 19:01:55 -0000 1.33.4.1 *************** *** 6,10 **** # can be overridden by creating suitable "!define" statements in 'adduser.nsi'. # ! # Copyright (c) 2003-2004 John Graham-Cumming # # This file is part of POPFile --- 6,10 ---- # can be overridden by creating suitable "!define" statements in 'adduser.nsi'. # ! # Copyright (c) 2003-2005 John Graham-Cumming # # This file is part of POPFile *************** *** 315,324 **** StrCpy ${CBP_L_RESULT} ${CBP_L_TEMP} 7 StrCmp ${CBP_L_RESULT} "corpus " got_flat_corpus StrCpy ${CBP_L_RESULT} ${CBP_L_TEMP} 13 StrCmp ${CBP_L_RESULT} "bayes_corpus " got_bdb_corpus StrCpy ${CBP_L_RESULT} ${CBP_L_TEMP} 15 ! StrCmp ${CBP_L_RESULT} "bayes_database " got_sql_corpus StrCpy ${CBP_L_RESULT} ${CBP_L_TEMP} 16 ! StrCmp ${CBP_L_RESULT} "bayes_dbconnect " got_sql_connect Goto check_eol --- 315,330 ---- StrCpy ${CBP_L_RESULT} ${CBP_L_TEMP} 7 StrCmp ${CBP_L_RESULT} "corpus " got_flat_corpus + StrCpy ${CBP_L_RESULT} ${CBP_L_TEMP} 13 StrCmp ${CBP_L_RESULT} "bayes_corpus " got_bdb_corpus + + StrCpy ${CBP_L_RESULT} ${CBP_L_TEMP} 18 + StrCmp ${CBP_L_RESULT} "database_database " got_sql_corpus + StrCpy ${CBP_L_RESULT} ${CBP_L_TEMP} 19 + StrCmp ${CBP_L_RESULT} "database_dbconnect " got_sql_connect StrCpy ${CBP_L_RESULT} ${CBP_L_TEMP} 15 ! StrCmp ${CBP_L_RESULT} "bayes_database " got_sql_old_corpus StrCpy ${CBP_L_RESULT} ${CBP_L_TEMP} 16 ! StrCmp ${CBP_L_RESULT} "bayes_dbconnect " got_sql_old_connect Goto check_eol *************** *** 331,340 **** Goto check_eol ! got_sql_corpus: StrCpy ${CBP_L_SQL_CORPUS} ${CBP_L_TEMP} "" 15 Goto check_eol ! got_sql_connect: StrCpy ${CBP_L_SQL_CONNECT} ${CBP_L_TEMP} "" 16 ; Now read file until we get to end of the current line --- 337,354 ---- Goto check_eol ! got_sql_old_corpus: StrCpy ${CBP_L_SQL_CORPUS} ${CBP_L_TEMP} "" 15 Goto check_eol ! got_sql_old_connect: StrCpy ${CBP_L_SQL_CONNECT} ${CBP_L_TEMP} "" 16 + Goto check_eol + + got_sql_corpus: + StrCpy ${CBP_L_SQL_CORPUS} ${CBP_L_TEMP} "" 18 + Goto check_eol + + got_sql_connect: + StrCpy ${CBP_L_SQL_CONNECT} ${CBP_L_TEMP} "" 19 ; Now read file until we get to end of the current line *************** *** 1363,1382 **** !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_C_MESSAGE}" \ ! "Text" "$(PFI_LANG_CBP_IO_MSG_1)" goto update_lists zero_so_far: !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_C_MESSAGE}" \ ! "Text" "$(PFI_LANG_CBP_IO_MSG_2)" goto update_lists just_one: !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_C_MESSAGE}" \ ! "Text" "$(PFI_LANG_CBP_IO_MSG_3)" goto update_lists at_the_limit: !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_C_MESSAGE}" \ ! "Text" "$(PFI_LANG_CBP_IO_MSG_4) ${CBP_C_MAX_BNCOUNT} $(PFI_LANG_CBP_IO_MSG_5)" update_lists: --- 1377,1397 ---- !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_C_MESSAGE}" \ ! "Text" "$(PFI_LANG_CBP_IO_MSG_A)" goto update_lists zero_so_far: !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_C_MESSAGE}" \ ! "Text" "$(PFI_LANG_CBP_IO_MSG_B)" goto update_lists just_one: !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_C_MESSAGE}" \ ! "Text" "$(PFI_LANG_CBP_IO_MSG_C)" goto update_lists at_the_limit: + StrCpy $G_PLS_FIELD_1 "${CBP_C_MAX_BNCOUNT}" !insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_C_MESSAGE}" \ ! "Text" "$(PFI_LANG_CBP_IO_MSG_D)" update_lists: *************** *** 1564,1587 **** name_exists: MessageBox MB_OK|MB_ICONEXCLAMATION \ ! "$(PFI_LANG_CBP_MBDUPERR_1) $\"${CBP_L_CREATE_NAME}$\" $(PFI_LANG_CBP_MBDUPERR_2)\ ${MB_NL}${MB_NL}\ ! $(PFI_LANG_CBP_MBDUPERR_3)" goto get_next_bucket_cmd too_many: MessageBox MB_OK|MB_ICONINFORMATION \ ! "$(PFI_LANG_CBP_MBMAXERR_1) ${CBP_C_MAX_BNCOUNT} $(PFI_LANG_CBP_MBMAXERR_2)\ ${MB_NL}${MB_NL}\ ! $(PFI_LANG_CBP_MBMAXERR_3) ${CBP_C_MAX_BNCOUNT} $(PFI_LANG_CBP_MBMAXERR_2)" goto get_next_bucket_cmd bad_name: MessageBox MB_OK|MB_ICONEXCLAMATION \ ! "$(PFI_LANG_CBP_MBNAMERR_1) $\"${CBP_L_CREATE_NAME}$\" $(PFI_LANG_CBP_MBNAMERR_2)\ ${MB_NL}${MB_NL}\ ! $(PFI_LANG_CBP_MBNAMERR_3)\ ${MB_NL}${MB_NL}\ ! $(PFI_LANG_CBP_MBNAMERR_4)" goto get_next_bucket_cmd --- 1579,1605 ---- name_exists: + StrCpy $G_PLS_FIELD_1 "${CBP_L_CREATE_NAME}" MessageBox MB_OK|MB_ICONEXCLAMATION \ ! "$(PFI_LANG_CBP_MBDUPERR_A)\ ${MB_NL}${MB_NL}\ ! $(PFI_LANG_CBP_MBDUPERR_B)" goto get_next_bucket_cmd too_many: + StrCpy $G_PLS_FIELD_1 "${CBP_C_MAX_BNCOUNT}" MessageBox MB_OK|MB_ICONINFORMATION \ ! "$(PFI_LANG_CBP_MBMAXERR_A)\ ${MB_NL}${MB_NL}\ ! $(PFI_LANG_CBP_MBMAXERR_B)" goto get_next_bucket_cmd bad_name: + StrCpy $G_PLS_FIELD_1 "${CBP_L_CREATE_NAME}" MessageBox MB_OK|MB_ICONEXCLAMATION \ ! "$(PFI_LANG_CBP_MBNAMERR_A)\ ${MB_NL}${MB_NL}\ ! $(PFI_LANG_CBP_MBNAMERR_B)\ ${MB_NL}${MB_NL}\ ! $(PFI_LANG_CBP_MBNAMERR_C)" goto get_next_bucket_cmd *************** *** 1589,1598 **** IntCmp ${CBP_L_COUNT} 0 need_buckets IntCmp ${CBP_L_COUNT} 1 too_few MessageBox MB_YESNO|MB_ICONQUESTION \ ! "${CBP_L_COUNT} $(PFI_LANG_CBP_MBDONE_1)\ ${MB_NL}${MB_NL}\ ! $(PFI_LANG_CBP_MBDONE_2)\ ${MB_NL}${MB_NL}\ ! $(PFI_LANG_CBP_MBDONE_3)" IDYES finished_buckets goto get_next_bucket_cmd --- 1607,1617 ---- IntCmp ${CBP_L_COUNT} 0 need_buckets IntCmp ${CBP_L_COUNT} 1 too_few + StrCpy $G_PLS_FIELD_1 "${CBP_L_COUNT}" MessageBox MB_YESNO|MB_ICONQUESTION \ ! "$(PFI_LANG_CBP_MBDONE_A)\ ${MB_NL}${MB_NL}\ ! $(PFI_LANG_CBP_MBDONE_B)\ ${MB_NL}${MB_NL}\ ! $(PFI_LANG_CBP_MBDONE_C)" IDYES finished_buckets goto get_next_bucket_cmd *************** *** 1618,1626 **** Pop ${CBP_L_RESULT} StrCmp ${CBP_L_RESULT} "0" finished_now MessageBox MB_OK|MB_ICONEXCLAMATION \ ! "$(PFI_LANG_CBP_MBMAKERR_1) ${CBP_L_RESULT} $(PFI_LANG_CBP_MBMAKERR_2) ${CBP_L_COUNT} \ ! $(PFI_LANG_CBP_MBMAKERR_3)\ ${MB_NL}${MB_NL}\ ! $(PFI_LANG_CBP_MBMAKERR_4)" finished_now: --- 1637,1646 ---- Pop ${CBP_L_RESULT} StrCmp ${CBP_L_RESULT} "0" finished_now + StrCpy $G_PLS_FIELD_1 "${CBP_L_RESULT}" + StrCpy $G_PLS_FIELD_2 "${CBP_L_COUNT}" MessageBox MB_OK|MB_ICONEXCLAMATION \ ! "$(PFI_LANG_CBP_MBMAKERR_A)\ ${MB_NL}${MB_NL}\ ! $(PFI_LANG_CBP_MBMAKERR_B)" finished_now: Index: MonitorCC.nsi =================================================================== RCS file: /cvsroot/popfile/windows/MonitorCC.nsi,v retrieving revision 1.19 retrieving revision 1.19.4.1 diff -C2 -d -r1.19 -r1.19.4.1 *** MonitorCC.nsi 20 Oct 2004 14:01:09 -0000 1.19 --- MonitorCC.nsi 13 Sep 2005 19:01:55 -0000 1.19.4.1 *************** *** 5,9 **** # needs to be converted to the new SQL database format. # ! # Copyright (c) 2004 John Graham-Cumming # # This file is part of POPFile --- 5,9 ---- # needs to be converted to the new SQL database format. # ! # Copyright (c) 2004-2005 John Graham-Cumming # # This file is part of POPFile *************** *** 25,31 **** #-------------------------------------------------------------------------- ! ; This version of the script has been tested with the "NSIS 2" compiler (final), ! ; released 7 February 2004, with no patches applied. ! ; ; Expect 3 compiler warnings, all related to standard NSIS language files which are out-of-date. --- 25,48 ---- #-------------------------------------------------------------------------- ! ; This version of the script has been tested with the "NSIS 2.0" compiler (final), ! ; released 7 February 2004, with no "official" NSIS patches applied. This compiler ! ; can be downloaded from http://prdownloads.sourceforge.net/nsis/nsis20.exe?download ! ! !define ${NSIS_VERSION}_found ! ! !ifndef v2.0_found ! !warning \ ! "$\r$\n\ ! $\r$\n*** NSIS COMPILER WARNING:\ ! $\r$\n***\ ! $\r$\n*** This script has only been tested using the NSIS 2.0 compiler\ ! $\r$\n*** and may not work properly with this NSIS ${NSIS_VERSION} compiler\ ! $\r$\n***\ ! $\r$\n*** The resulting 'installer' program should be tested carefully!\ ! $\r$\n$\r$\n" ! !endif ! ! !undef ${NSIS_VERSION}_found ! ; Expect 3 compiler warnings, all related to standard NSIS language files which are out-of-date. *************** *** 94,100 **** !define C_PFI_PRODUCT "POPFile Corpus Conversion Monitor" Name "${C_PFI_PRODUCT}" ! !define C_PFI_VERSION "0.1.17" ; Mention the version number in the window title --- 111,120 ---- !define C_PFI_PRODUCT "POPFile Corpus Conversion Monitor" + Name "${C_PFI_PRODUCT}" ! !define C_PFI_VERSION "0.1.19" ! ! !define C_OUTFILE "monitorcc.exe" ; Mention the version number in the window title *************** *** 121,137 **** ; representing the following values: Major.Minor.Release.Build ! VIProductVersion "${C_PFI_VERSION}.0" ! VIAddVersionKey "ProductName" "${C_PFI_PRODUCT}" ! VIAddVersionKey "Comments" "POPFile Homepage: http://getpopfile.org" ! VIAddVersionKey "CompanyName" "The POPFile Project" ! VIAddVersionKey "LegalCopyright" "Copyright (c) 2004 John Graham-Cumming" ! VIAddVersionKey "FileDescription" "POPFile Corpus Conversion Monitor" ! VIAddVersionKey "FileVersion" "${C_PFI_VERSION}" ! VIAddVersionKey "Build" "Multi-Language" ! VIAddVersionKey "Build Date/Time" "${__DATE__} @ ${__TIME__}" ! VIAddVersionKey "Build Script" "${__FILE__}${MB_NL}(${__TIMESTAMP__})" #-------------------------------------------------------------------------- --- 141,161 ---- ; representing the following values: Major.Minor.Release.Build ! VIProductVersion "${C_PFI_VERSION}.0" ! VIAddVersionKey "ProductName" "${C_PFI_PRODUCT}" ! VIAddVersionKey "Comments" "POPFile Homepage: http://getpopfile.org/" ! VIAddVersionKey "CompanyName" "The POPFile Project" ! VIAddVersionKey "LegalCopyright" "Copyright (c) 2005 John Graham-Cumming" ! VIAddVersionKey "FileDescription" "POPFile Corpus Conversion Monitor" ! VIAddVersionKey "FileVersion" "${C_PFI_VERSION}" ! VIAddVersionKey "OriginalFilename" "${C_OUTFILE}" ! VIAddVersionKey "Build" "Multi-Language" ! VIAddVersionKey "Build Date/Time" "${__DATE__} @ ${__TIME__}" ! !ifdef C_PFI_LIBRARY_VERSION ! VIAddVersionKey "Build Library Version" "${C_PFI_LIBRARY_VERSION}" ! !endif ! VIAddVersionKey "Build Script" "${__FILE__}${MB_NL}(${__TIMESTAMP__})" #-------------------------------------------------------------------------- *************** *** 306,310 **** ; Specify NSIS output filename ! OutFile "monitorcc.exe" ; Ensure CRC checking cannot be turned off using the /NCRC command-line switch --- 330,334 ---- ; Specify NSIS output filename ! OutFile "${C_OUTFILE}" ; Ensure CRC checking cannot be turned off using the /NCRC command-line switch Index: msgcapture.nsi =================================================================== RCS file: /cvsroot/popfile/windows/msgcapture.nsi,v retrieving revision 1.7 retrieving revision 1.7.4.1 diff -C2 -d -r1.7 -r1.7.4.1 *** msgcapture.nsi 20 Oct 2004 14:01:09 -0000 1.7 --- msgcapture.nsi 13 Sep 2005 19:01:55 -0000 1.7.4.1 *************** *** 7,11 **** # used by earlier installers it caused confusion amongst some users). # ! # Copyright (c) 2004 John Graham-Cumming # # This file is part of POPFile --- 7,11 ---- # used by earlier installers it caused confusion amongst some users). # ! # Copyright (c) 2004-2005 John Graham-Cumming # # This file is part of POPFile *************** *** 27,32 **** #-------------------------------------------------------------------------- ! ; This version of the script has been tested with the "NSIS 2" compiler (final), ! ; released 7 February 2004, with no "official" NSIS patches/CVS updates applied. #-------------------------------------------------------------------------- --- 27,49 ---- #-------------------------------------------------------------------------- ! ; This version of the script has been tested with the "NSIS 2.0" compiler (final), ! ; released 7 February 2004, with no "official" NSIS patches applied. This compiler ! ; can be downloaded from http://prdownloads.sourceforge.net/nsis/nsis20.exe?download ! ! !define ${NSIS_VERSION}_found ! ! !ifndef v2.0_found ! !warning \ ! "$\r$\n\ ! $\r$\n*** NSIS COMPILER WARNING:\ ! $\r$\n***\ ! $\r$\n*** This script has only been tested using the NSIS 2.0 compiler\ ! $\r$\n*** and may not work properly with this NSIS ${NSIS_VERSION} compiler\ ! $\r$\n***\ ! $\r$\n*** The resulting 'installer' program should be tested carefully!\ ! $\r$\n$\r$\n" ! !endif ! ! !undef ${NSIS_VERSION}_found #-------------------------------------------------------------------------- *************** *** 94,98 **** ;-------------------------------------------------------------------------- ! !define C_VERSION "0.0.57" !define C_OUTFILE "msgcapture.exe" --- 111,115 ---- ;-------------------------------------------------------------------------- ! !define C_VERSION "0.0.61" !define C_OUTFILE "msgcapture.exe" *************** *** 100,104 **** ; The timeout used when the installer calls this utility to monitor the SQL database upgrade ! !define C_INSTALLER_TIMEOUT 30 ;-------------------------------------------------------------------------- --- 117,121 ---- ; The timeout used when the installer calls this utility to monitor the SQL database upgrade ! !define C_INSTALLER_TIMEOUT 15 ;-------------------------------------------------------------------------- *************** *** 116,147 **** #-------------------------------------------------------------------------- ! # Version Information settings (for the utility's EXE file) #-------------------------------------------------------------------------- ! ; 'VIProductVersion' format is X.X.X.X where X is a number in range 0 to 65535 ! ; representing the following values: Major.Minor.Release.Build ! ! VIProductVersion "${C_VERSION}.0" ! VIAddVersionKey "ProductName" "PFI Message Capture Utility" ! VIAddVersionKey "Comments" "POPFile Homepage: http://getpopfile.org" ! VIAddVersionKey "CompanyName" "The POPFile Project" ! VIAddVersionKey "LegalCopyright" "Copyright (c) 2004 John Graham-Cumming" ! VIAddVersionKey "FileDescription" "PFI Message Capture Utility (0-99 sec timeout)" ! VIAddVersionKey "FileVersion" "${C_VERSION}" ! VIAddVersionKey "OriginalFilename" "${C_OUTFILE}" ! VIAddVersionKey "Build Date/Time" "${__DATE__} @ ${__TIME__}" ! VIAddVersionKey "Build Script" "${__FILE__}${MB_NL}(${__TIMESTAMP__})" #-------------------------------------------------------------------------- ! # Include private library functions and macro definitions #-------------------------------------------------------------------------- ! ; Avoid compiler warnings by disabling the functions and definitions we do not use ! !define MSGCAPTURE ! !include "pfi-library.nsh" #-------------------------------------------------------------------------- --- 133,167 ---- #-------------------------------------------------------------------------- ! # Include private library functions and macro definitions #-------------------------------------------------------------------------- ! ; Avoid compiler warnings by disabling the functions and definitions we do not use ! !define MSGCAPTURE ! !include "pfi-library.nsh" #-------------------------------------------------------------------------- ! # Version Information settings (for the utility's EXE file) #-------------------------------------------------------------------------- ! ; 'VIProductVersion' format is X.X.X.X where X is a number in range 0 to 65535 ! ; representing the following values: Major.Minor.Release.Build ! VIProductVersion "${C_VERSION}.0" ! VIAddVersionKey "ProductName" "PFI Message Capture Utility" ! VIAddVersionKey "Comments" "POPFile Homepage: http://getpopfile.org/" ! VIAddVersionKey "CompanyName" "The POPFile Project" ! VIAddVersionKey "LegalCopyright" "Copyright (c) 2005 John Graham-Cumming" ! VIAddVersionKey "FileDescription" "PFI Message Capture Utility (0-99 sec timeout)" ! VIAddVersionKey "FileVersion" "${C_VERSION}" ! VIAddVersionKey "OriginalFilename" "${C_OUTFILE}" ! ! VIAddVersionKey "Build Date/Time" "${__DATE__} @ ${__TIME__}" ! !ifdef C_PFI_LIBRARY_VERSION ! VIAddVersionKey "Build Library Version" "${C_PFI_LIBRARY_VERSION}" ! !endif ! VIAddVersionKey "Build Script" "${__FILE__}${MB_NL}(${__TIMESTAMP__})" #-------------------------------------------------------------------------- *************** *** 290,294 **** StrCpy $G_MODE_FLAG "" ; select 'normal' mode by default ! Call GetParameters Pop $G_TIMEOUT StrCmp $G_TIMEOUT "" default --- 310,314 ---- StrCpy $G_MODE_FLAG "" ; select 'normal' mode by default ! Call PFI_GetParameters Pop $G_TIMEOUT StrCmp $G_TIMEOUT "" default *************** *** 298,302 **** StrCmp ${L_TEMP} "PFI" installer_mode Push ${L_TEMP} ! Call StrCheckDecimal Pop ${L_TEMP} StrCmp ${L_TEMP} "" usage_error --- 318,322 ---- StrCmp ${L_TEMP} "PFI" installer_mode Push ${L_TEMP} ! Call PFI_StrCheckDecimal Pop ${L_TEMP} StrCmp ${L_TEMP} "" usage_error *************** *** 366,373 **** !define L_PFI_ROOT $R9 ; path to the POPFile program (popfile.pl, and other files) ! !define L_PFI_USER $R8 ; path to user's 'popfile.cfg' file !define L_RESULT $R7 !define L_TEMP $R6 !define L_TRAYICON $R5 ; system tray icon enabled ("i" ) or disabled ("") flag SetDetailsPrint textonly --- 386,395 ---- !define L_PFI_ROOT $R9 ; path to the POPFile program (popfile.pl, and other files) ! !define L_PFI_USER $R8 ; path to user's 'popfile.cfg' file !define L_RESULT $R7 !define L_TEMP $R6 !define L_TRAYICON $R5 ; system tray icon enabled ("i" ) or disabled ("") flag + !define L_OPTIONS $R4 ; POPFile 0.23.0 no longer displays startup messages by default + ; so we use the --verbose option to turn them back on SetDetailsPrint textonly *************** *** 425,428 **** --- 447,461 ---- DetailPrint "POPFILE_ROOT = ${L_PFI_ROOT}" DetailPrint "POPFILE_USER = ${L_PFI_USER}" + + ; Starting with the 0.23.0 release, POPFile no longer displays startup messages + ; so we use the 'verbose' option to turn them on. Earlier POPFile releases do not + ; recognize this option and will not run if it is used, so we use the Database.pm + ; file as a simple POPFile version test (this file was first used in 0.23.0) + + StrCpy ${L_OPTIONS} "" + IfFileExists "${L_PFI_ROOT}\POPFile\Database.pm" 0 look_for_exe + StrCpy ${L_OPTIONS} "--verbose" + + look_for_exe: IfFileExists "${L_PFI_ROOT}\popfile${L_TRAYICON}f.exe" found_exe DetailPrint "" *************** *** 436,440 **** DetailPrint "------------------------------------------------------------" ! Call GetDateTimeStamp Pop ${L_TEMP} DetailPrint "(report started ${L_TEMP})" --- 469,473 ---- DetailPrint "------------------------------------------------------------" ! Call PFI_GetDateTimeStamp Pop ${L_TEMP} DetailPrint "(report started ${L_TEMP})" *************** *** 443,451 **** StrCmp $G_TIMEOUT "0" no_timeout StrCpy ${L_TEMP} "/TIMEOUT=$G_TIMEOUT000" ! nsExec::ExecToLog ${L_TEMP} '"${L_PFI_ROOT}\popfile${L_TRAYICON}f.exe"' Goto get_result no_timeout: ! nsExec::ExecToLog '"${L_PFI_ROOT}\popfile${L_TRAYICON}f.exe"' get_result: --- 476,484 ---- StrCmp $G_TIMEOUT "0" no_timeout StrCpy ${L_TEMP} "/TIMEOUT=$G_TIMEOUT000" ! nsExec::ExecToLog ${L_TEMP} '"${L_PFI_ROOT}\popfile${L_TRAYICON}f.exe" ${L_OPTIONS}' Goto get_result no_timeout: ! nsExec::ExecToLog '"${L_PFI_ROOT}\popfile${L_TRAYICON}f.exe" ${L_OPTIONS}' get_result: *************** *** 460,464 **** DetailPrint "Status code: ${L_RESULT}" ! Call GetDateTimeStamp Pop ${L_TEMP} DetailPrint "------------------------------------------------------------" --- 493,497 ---- DetailPrint "Status code: ${L_RESULT}" ! Call PFI_GetDateTimeStamp Pop ${L_TEMP} DetailPrint "------------------------------------------------------------" --- NEW FILE: installer-SecMinPerl-body.nsh --- #-------------------------------------------------------------------------- # # installer-SecMinPerl-body.nsh --- This 'include' file contains the body of the "MinPerl" # Section of the main 'installer.nsi' NSIS script used to # create the Windows installer for POPFile. The "MinPerl" # section installs a minimal Perl which suits the default # POPFile configuration. For some of the optional POPFile # components (e.g. XMLRPC) additional Perl components are # required and these are installed at the same time as the # optional POPFile component. # # Copyright (c) 2005 John Graham-Cumming # # This file is part of POPFile # # POPFile is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # POPFile is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with POPFile; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # #-------------------------------------------------------------------------- # The 'installer.nsi' script file contains the following code: # # Section "-Minimal Perl" SecMinPerl # !include "installer-SecMinPerl-body.nsh" # SectionEnd #-------------------------------------------------------------------------- ; Section "-Minimal Perl" SecMinPerl ; This section installs the "core" version of the minimal Perl. Some of the optional ; POPFile components, such as the Kakasi package and POPFile's XMLRPC module, require ; extra Perl components which are added when the optional POPFile components are installed. !insertmacro SECTIONLOG_ENTER "Minimal Perl" ; Install the Minimal Perl files SetDetailsPrint textonly DetailPrint "$(PFI_LANG_INST_PROG_PERL)" SetDetailsPrint listonly ; Remove empty minimal Perl folder (error flag set if folder not empty) ClearErrors RMDir "$G_MPLIBDIR" IfErrors 0 install_now StrCpy $G_PLS_FIELD_1 "$G_MPLIBDIR" MessageBox MB_YESNO|MB_ICONQUESTION "$(PFI_LANG_MINPERL_MBREMOLD)" IDNO install_now DetailPrint "Remove old minimal Perl folder" RMDir /r "$G_MPLIBDIR" DetailPrint "" install_now: SetOutPath "$G_ROOTDIR" File "${C_PERL_DIR}\bin\perl.exe" File "${C_PERL_DIR}\bin\wperl.exe" File "${C_PERL_DIR}\bin\perl58.dll" SetOutPath "$G_MPLIBDIR" File "${C_PERL_DIR}\lib\AutoLoader.pm" File "${C_PERL_DIR}\lib\Carp.pm" File "${C_PERL_DIR}\lib\Config.pm" File "${C_PERL_DIR}\lib\Config_heavy.pl" File "${C_PERL_DIR}\lib\constant.pm" File "${C_PERL_DIR}\lib\DynaLoader.pm" File "${C_PERL_DIR}\lib\Errno.pm" File "${C_PERL_DIR}\lib\Exporter.pm" File "${C_PERL_DIR}\lib\Fcntl.pm" File "${C_PERL_DIR}\lib\integer.pm" File "${C_PERL_DIR}\lib\IO.pm" File "${C_PERL_DIR}\lib\lib.pm" File "${C_PERL_DIR}\lib\locale.pm" File "${C_PERL_DIR}\lib\POSIX.pm" File "${C_PERL_DIR}\lib\re.pm" File "${C_PERL_DIR}\lib\SelectSaver.pm" File "${C_PERL_DIR}\lib\Socket.pm" File "${C_PERL_DIR}\lib\strict.pm" File "${C_PERL_DIR}\lib\Symbol.pm" File "${C_PERL_DIR}\lib\vars.pm" File "${C_PERL_DIR}\lib\warnings.pm" File "${C_PERL_DIR}\lib\XSLoader.pm" SetOutPath "$G_MPLIBDIR\Carp" File "${C_PERL_DIR}\lib\Carp\*" SetOutPath "$G_MPLIBDIR\Date" File "${C_PERL_DIR}\site\lib\Date\Format.pm" File "${C_PERL_DIR}\site\lib\Date\Parse.pm" SetOutPath "$G_MPLIBDIR\Digest" File "${C_PERL_DIR}\lib\Digest\MD5.pm" SetOutPath "$G_MPLIBDIR\Exporter" File "${C_PERL_DIR}\lib\Exporter\*" SetOutPath "$G_MPLIBDIR\File" File "${C_PERL_DIR}\lib\File\Copy.pm" File "${C_PERL_DIR}\lib\File\Glob.pm" File "${C_PERL_DIR}\lib\File\Spec.pm" SetOutPath "$G_MPLIBDIR\File\Spec" File "${C_PERL_DIR}\lib\File\Spec\Unix.pm" File "${C_PERL_DIR}\lib\File\Spec\Win32.pm" SetOutPath "$G_MPLIBDIR\Getopt" File "${C_PERL_DIR}\lib\Getopt\Long.pm" SetOutPath "$G_MPLIBDIR\HTML" File "${C_PERL_DIR}\site\lib\HTML\Tagset.pm" File "${C_PERL_DIR}\site\lib\HTML\Template.pm" SetOutPath "$G_MPLIBDIR\IO" File "${C_PERL_DIR}\lib\IO\*" SetOutPath "$G_MPLIBDIR\IO\Socket" File "${C_PERL_DIR}\lib\IO\Socket\*" SetOutPath "$G_MPLIBDIR\MIME" File "${C_PERL_DIR}\lib\MIME\*" SetOutPath "$G_MPLIBDIR\Sys" File "${C_PERL_DIR}\lib\Sys\*" SetOutPath "$G_MPLIBDIR\Text" File "${C_PERL_DIR}\lib\Text\ParseWords.pm" SetOutPath "$G_MPLIBDIR\Time" File "${C_PERL_DIR}\lib\Time\Local.pm" File "${C_PERL_DIR}\site\lib\Time\Zone.pm" SetOutPath "$G_MPLIBDIR\warnings" File "${C_PERL_DIR}\lib\warnings\register.pm" SetOutPath "$G_MPLIBDIR\auto\Digest\MD5" File "${C_PERL_DIR}\lib\auto\Digest\MD5\*" SetOutPath "$G_MPLIBDIR\auto\DynaLoader" File "${C_PERL_DIR}\lib\auto\DynaLoader\*" SetOutPath "$G_MPLIBDIR\auto\Fcntl" File "${C_PERL_DIR}\lib\auto\Fcntl\Fcntl.dll" SetOutPath "$G_MPLIBDIR\auto\File\Glob" File "${C_PERL_DIR}\lib\auto\File\Glob\*" SetOutPath "$G_MPLIBDIR\auto\IO" File "${C_PERL_DIR}\lib\auto\IO\*" SetOutPath "$G_MPLIBDIR\auto\MIME\Base64" File "${C_PERL_DIR}\lib\auto\MIME\Base64\*" SetOutPath "$G_MPLIBDIR\auto\POSIX" File "${C_PERL_DIR}\lib\auto\POSIX\POSIX.dll" File "${C_PERL_DIR}\lib\auto\POSIX\autosplit.ix" File "${C_PERL_DIR}\lib\auto\POSIX\load_imports.al" SetOutPath "$G_MPLIBDIR\auto\Socket" File "${C_PERL_DIR}\lib\auto\Socket\*" SetOutPath "$G_MPLIBDIR\auto\Sys\Hostname" File "${C_PERL_DIR}\lib\auto\Sys\Hostname\*" ; Install Perl modules and library files for BerkeleyDB support. Although POPFile now uses ; SQLite (or another SQL database) to store the corpus and other essential data, it retains ; the ability to automatically convert old BerkeleyDB format corpus files to the SQL database ; format. Therefore the installer still installs the BerkeleyDB Perl components. SetOutPath "$G_MPLIBDIR" File "${C_PERL_DIR}\site\lib\BerkeleyDB.pm" File "${C_PERL_DIR}\lib\UNIVERSAL.pm" SetOutPath "$G_MPLIBDIR\auto\BerkeleyDB" File "${C_PERL_DIR}\site\lib\auto\BerkeleyDB\autosplit.ix" File "${C_PERL_DIR}\site\lib\auto\BerkeleyDB\BerkeleyDB.bs" File "${C_PERL_DIR}\site\lib\auto\BerkeleyDB\BerkeleyDB.dll" File "${C_PERL_DIR}\site\lib\auto\BerkeleyDB\BerkeleyDB.exp" File "${C_PERL_DIR}\site\lib\auto\BerkeleyDB\BerkeleyDB.lib" ; Install Perl modules and library files for SQLite support SetOutPath "$G_MPLIBDIR" File "${C_PERL_DIR}\lib\base.pm" File "${C_PERL_DIR}\lib\overload.pm" File "${C_PERL_DIR}\site\lib\DBI.pm" ; Required in order to use any version of SQLite SetOutPath "$G_MPLIBDIR\auto\DBI" File "${C_PERL_DIR}\site\lib\auto\DBI\DBI.bs" File "${C_PERL_DIR}\site\lib\auto\DBI\DBI.dll" File "${C_PERL_DIR}\site\lib\auto\DBI\DBI.exp" File "${C_PERL_DIR}\site\lib\auto\DBI\DBI.lib" ; Install SQLite support (using an old SQLite 2.x verison of the SQLite module) SetOutPath "$G_MPLIBDIR\DBD" File "${C_PERL_DIR}\site\lib\DBD\SQLite.pm" SetOutPath "$G_MPLIBDIR\auto\DBD\SQLite" File "${C_PERL_DIR}\site\lib\auto\DBD\SQLite\SQLite.bs" File "${C_PERL_DIR}\site\lib\auto\DBD\SQLite\SQLite.dll" File "${C_PERL_DIR}\site\lib\auto\DBD\SQLite\SQLite.exp" File "${C_PERL_DIR}\site\lib\auto\DBD\SQLite\SQLite.lib" SetDetailsPrint textonly DetailPrint "$(PFI_LANG_INST_PROG_ENDSEC)" SetDetailsPrint listonly !insertmacro SECTIONLOG_EXIT "Minimal Perl" ; SectionEnd #-------------------------------------------------------------------------- # End of 'installer-SecMinPerl-body.nsh' #-------------------------------------------------------------------------- Index: runsqlite.nsi =================================================================== RCS file: /cvsroot/popfile/windows/runsqlite.nsi,v retrieving revision 1.1 retrieving revision 1.1.4.1 diff -C2 -d -r1.1 -r1.1.4.1 *** runsqlite.nsi 21 Oct 2004 12:32:53 -0000 1.1 --- runsqlite.nsi 13 Sep 2005 19:01:55 -0000 1.1.4.1 *************** *** 10,14 **** # utility is used to access the specified SQLite database file. # ! # Copyright (c) 2004 John Graham-Cumming # # This file is part of POPFile --- 10,14 ---- # utility is used to access the specified SQLite database file. # ! # Copyright (c) 2004-2005 John Graham-Cumming # # This file is part of POPFile *************** *** 40,45 **** #------------------------------------------------------------------------------------------- ! ; This version of the script has been tested with the "NSIS 2" compiler (final), ! ; released 7 February 2004, with no "official" NSIS patches/CVS updates applied. ;-------------------------------------------------------------------------- --- 40,62 ---- #------------------------------------------------------------------------------------------- ! ; This version of the script has been tested with the "NSIS 2.0" compiler (final), ! ; released 7 February 2004, with no "official" NSIS patches applied. This compiler ! ; can be downloaded from http://prdownloads.sourceforge.net/nsis/nsis20.exe?download ! ! !define ${NSIS_VERSION}_found ! ! !ifndef v2.0_found ! !warning \ ! "$\r$\n\ ! $\r$\n*** NSIS COMPILER WARNING:\ ! $\r$\n***\ ! $\r$\n*** This script has only been tested using the NSIS 2.0 compiler\ ! $\r$\n*** and may not work properly with this NSIS ${NSIS_VERSION} compiler\ ! $\r$\n***\ ! $\r$\n*** The resulting 'installer' program should be tested carefully!\ ! $\r$\n$\r$\n" ! !endif ! ! !undef ${NSIS_VERSION}_found ;-------------------------------------------------------------------------- *************** *** 59,63 **** ;-------------------------------------------------------------------------- ! !define C_VERSION "0.0.1" ; see 'VIProductVersion' comment below for format details !define C_OUTFILE "runsqlite.exe" --- 76,80 ---- ;-------------------------------------------------------------------------- ! !define C_VERSION "0.0.4" ; see 'VIProductVersion' comment below for format details !define C_OUTFILE "runsqlite.exe" *************** *** 78,109 **** #-------------------------------------------------------------------------- ! ; 'VIProductVersion' format is X.X.X.X where X is a number in range 0 to 65535 ! ; representing the following values: Major.Minor.Release.Build ! VIProductVersion "${C_VERSION}.1" ! VIAddVersionKey "ProductName" "Run SQLite 2.x/3.x utility to examine a POPFile database" ! VIAddVersionKey "Comments" "POPFile Homepage: http://getpopfile.org" ! VIAddVersionKey "CompanyName" "The POPFile Project" ! VIAddVersionKey "LegalCopyright" "Copyright (c) 2004 John Graham-Cumming" ! VIAddVersionKey "FileDescription" "Run SQLite Utility for POPFile" ! VIAddVersionKey "FileVersion" "${C_VERSION}" ! VIAddVersionKey "OriginalFilename" "${C_OUTFILE}" ! VIAddVersionKey "Build Date/Time" "${__DATE__} @ ${__TIME__}" ! VIAddVersionKey "Build Script" "${__FILE__}${MB_NL}(${__TIMESTAMP__})" ! #---------------------------------------------------------------------------------------- ! #-------------------------------------------------------------------------- ! # Include private library functions and macro definitions ! #-------------------------------------------------------------------------- ! ; Avoid compiler warnings by disabling the functions and definitions we do not use ! !define RUNSQLITE ! !include "pfi-library.nsh" #-------------------------------------------------------------------------- --- 95,129 ---- #-------------------------------------------------------------------------- + # Include private library functions and macro definitions + #-------------------------------------------------------------------------- ! ; Avoid compiler warnings by disabling the functions and definitions we do not use ! !define RUNSQLITE ! !include "pfi-library.nsh" ! #-------------------------------------------------------------------------- ! ; 'VIProductVersion' format is X.X.X.X where X is a number in range 0 to 65535 ! ; representing the following values: Major.Minor.Release.Build ! VIProductVersion "${C_VERSION}.0" ! VIAddVersionKey "ProductName" "Run SQLite 2.x/3.x utility to examine a POPFile database" ! VIAddVersionKey "Comments" "POPFile Homepage: http://getpopfile.org/" ! VIAddVersionKey "CompanyName" "The POPFile Project" ! VIAddVersionKey "LegalCopyright" "Copyright (c) 2005 John Graham-Cumming" ! VIAddVersionKey "FileDescription" "Run SQLite Utility for POPFile" ! VIAddVersionKey "FileVersion" "${C_VERSION}" ! VIAddVersionKey "OriginalFilename" "${C_OUTFILE}" ! VIAddVersionKey "Build Date/Time" "${__DATE__} @ ${__TIME__}" ! !ifdef C_PFI_LIBRARY_VERSION ! VIAddVersionKey "Build Library Version" "${C_PFI_LIBRARY_VERSION}" ! !endif ! VIAddVersionKey "Build Script" "${__FILE__}${MB_NL}(${__TIMESTAMP__})" ! #---------------------------------------------------------------------------------------- #-------------------------------------------------------------------------- *************** *** 136,140 **** !insertmacro RSU_TEXT RSU_LANG_UTILNOTFOUND "Unable to find the '$G_SQLITEUTIL' file (the SQLite $G_DBFORMAT utility)${MB_NL}${MB_NL}(looked in $EXEDIR folder)" !insertmacro RSU_TEXT RSU_LANG_STARTERROR "Unable to start the '$G_SQLITEUTIL' utility" ! !insertmacro RSU_TEXT RSU_LANG_UNKNOWNFORMAT "Unable to tell if '$G_DATABASE' is a SQLite database file${MB_NL}${MB_NL}File format not known $G_DBFORMAT" ;-------------------------------------------------------------------------- --- 156,160 ---- !insertmacro RSU_TEXT RSU_LANG_UTILNOTFOUND "Unable to find the '$G_SQLITEUTIL' file (the SQLite $G_DBFORMAT utility)${MB_NL}${MB_NL}(looked in $EXEDIR folder)" !insertmacro RSU_TEXT RSU_LANG_STARTERROR "Unable to start the '$G_SQLITEUTIL' utility" ! !insertmacro RSU_TEXT RSU_LANG_UNKNOWNFORMAT "Unable to tell if '$G_DATABASE' is a SQLite database file${MB_NL}${MB_NL}File format not known $G_DBFORMAT${MB_NL}${MB_NL}Please shutdown POPFile before using this utility" ;-------------------------------------------------------------------------- *************** *** 153,157 **** SetOutPath "${L_TEMP}" ! Call GetParameters Pop $G_DATABASE StrCmp $G_DATABASE "" no_file_supplied --- 173,177 ---- SetOutPath "${L_TEMP}" ! Call PFI_GetParameters Pop $G_DATABASE StrCmp $G_DATABASE "" no_file_supplied *************** *** 167,171 **** continue: Push $G_DATABASE ! Call GetSQLiteFormat Pop $G_DBFORMAT StrCpy $G_SQLITEUTIL "sqlite.exe" --- 187,191 ---- continue: Push $G_DATABASE ! Call PFI_GetSQLiteFormat Pop $G_DBFORMAT StrCpy $G_SQLITEUTIL "sqlite.exe" --- NEW FILE: installer-SecPOPFile-body.nsh --- #-------------------------------------------------------------------------- # # installer-SecPOPFile-body.nsh --- This 'include' file contains the body of the "POPFile" # Section of the main 'installer.nsi' NSIS script used to # create the Windows installer for POPFile. # # The non-library functions used in this file are contained # in a separate file (see 'installer-SecPOPFile-func.nsh') # # Copyright (c) 2005 John Graham-Cumming # # This file is part of POPFile # # POPFile is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # POPFile is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with POPFile; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # #-------------------------------------------------------------------------- # The 'installer.nsi' script file contains the following code: # # Section "POPFile" SecPOPFile # !include "installer-SecPOPFile-body.nsh" # SectionEnd # # ; Functions used only by "installer-SecPOPFile-body.nsh" # # !include "installer-SecPOPFile-func.nsh" #-------------------------------------------------------------------------- # Processing performed: # # (a) If upgrading, shutdown existing version and rearrange minimal Perl files # (b) Create registry entries (HKLM and/or HKCU) for POPFile program files # (c) Install POPFile core program files and release notes # (d) Write the uninstaller program and create/update the Start Menu shortcuts # (e) Create 'Add/Remove Program' entry #-------------------------------------------------------------------------- ; Section "POPFile" SecPOPFile !insertmacro SECTIONLOG_ENTER "POPFile" ; Make this section mandatory (i.e. it is always installed) SectionIn RO !define L_RESULT $R9 !define L_TEMP $R8 Push ${L_RESULT} Push ${L_TEMP} SetDetailsPrint textonly DetailPrint "$(PFI_LANG_INST_PROG_UPGRADE) $(PFI_LANG_TAKE_A_FEW_SECONDS)" SetDetailsPrint listonly ; Before POPFile 0.21.0, POPFile and the minimal Perl shared the same folder structure ; and there was only one set of user data (stored in the same folder as POPFile). ; Phase 1 of the multi-user support introduced in 0.21.0 required some slight changes ; to the folder structure (to permit POPFile to be run from any folder after setting the ; POPFILE_ROOT and POPFILE_USER environment variables to appropriate values). ; The folder arrangement used for this build: ; ; (a) $INSTDIR - main POPFile installation folder, holds popfile.pl and several ; other *.pl scripts, runpopfile.exe, popfile*.exe plus three of the ; minimal Perl files (perl.exe, wperl.exe and perl58.dll) ; ; (b) $INSTDIR\kakasi - holds the Kakasi package used to process Japanese email ; (only installed when Japanese support is required) ; ; (c) $INSTDIR\lib - minimal Perl installation (except for the three files stored ; in the $INSTDIR folder to avoid runtime problems) ; ; (d) $INSTDIR\* - the remaining POPFile folders (Classifier, languages, skins, etc) ; ; For this build, each user is expected to have separate user data folders. By default each ; user data folder will contain popfile.cfg, stopwords, stopwords.default, popfile.db, ; the messages folder, etc. The 'Add POPFile User' wizard (adduser.exe) is responsible for ; creating/updating these user data folders and for handling conversion of existing flat file ; or BerkeleyDB corpus files to the new SQL database format. ; ; For increased flexibility, some global user variables are used in addition to $INSTDIR ; (this makes it easier to change the folder structure used by the installer). ; $G_ROOTDIR is initialised by 'CheckExistingProgDir' (the DIRECTORY page's "leave" function) StrCpy $G_MPLIBDIR "$G_ROOTDIR\lib" IfFileExists "$G_ROOTDIR\*.*" rootdir_exists ClearErrors CreateDirectory "$G_ROOTDIR" IfErrors 0 rootdir_exists SetDetailsPrint both DetailPrint "Fatal error: unable to create folder for the POPFile program files" SetDetailsPrint listonly MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "Error: Unable to create folder for the POPFile program files\ ${MB_NL}${MB_NL}\ ($G_ROOTDIR)" Abort rootdir_exists: ; Starting with POPFile 0.22.0 the system tray icon uses 'localhost' instead of '127.0.0.1' ; to display the User Interface (and the installer has been updated to follow suit), so we ; need to ensure Win9x systems have a suitable 'hosts' file Call PFI_IsNT Pop ${L_RESULT} StrCmp ${L_RESULT} "1" continue Call CheckHostsFile continue: ; If we are installing over a previous version, ensure that version is not running Call MakeRootDirSafe ; Starting with 0.21.0, a new structure is used for the minimal Perl (to enable POPFile to ; be started from any folder, once POPFILE_ROOT and POPFILE_USER have been initialized) Call MinPerlRestructure ; Now that the HTML for the UI is no longer embedded in the Perl code, a new skin system is ; used so we attempt to convert the existing skins to work with the new system Call SkinsRestructure StrCmp $G_WINUSERTYPE "Admin" 0 current_user_root WriteRegStr HKLM "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "Installer Language" "$LANGUAGE" WriteRegStr HKLM "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Major Version" "${C_POPFILE_MAJOR_VERSION}" WriteRegStr HKLM "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Minor Version" "${C_POPFILE_MINOR_VERSION}" WriteRegStr HKLM "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Revision" "${C_POPFILE_REVISION}" WriteRegStr HKLM "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile RevStatus" "${C_POPFILE_RC}" WriteRegStr HKLM "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "InstallPath" "$G_ROOTDIR" WriteRegStr HKLM "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "Author" "setup.exe" WriteRegStr HKLM "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "RootDir_LFN" "$G_ROOTDIR" StrCmp $G_SFN_DISABLED "0" find_HKLM_root_sfn StrCpy ${L_TEMP} "Not supported" Goto save_HKLM_root_sfn find_HKLM_root_sfn: GetFullPathName /SHORT ${L_TEMP} "$G_ROOTDIR" save_HKLM_root_sfn: WriteRegStr HKLM "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "RootDir_SFN" "${L_TEMP}" current_user_root: WriteRegStr HKCU "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "Installer Language" "$LANGUAGE" WriteRegStr HKCU "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Major Version" "${C_POPFILE_MAJOR_VERSION}" WriteRegStr HKCU "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Minor Version" "${C_POPFILE_MINOR_VERSION}" WriteRegStr HKCU "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Revision" "${C_POPFILE_REVISION}" WriteRegStr HKCU "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile RevStatus" "${C_POPFILE_RC}" WriteRegStr HKCU "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "InstallPath" "$G_ROOTDIR" WriteRegStr HKCU "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "Author" "setup.exe" WriteRegStr HKCU "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "RootDir_LFN" "$G_ROOTDIR" StrCmp $G_SFN_DISABLED "0" find_HKCU_root_sfn StrCpy ${L_TEMP} "Not supported" Goto save_HKCU_root_sfn find_HKCU_root_sfn: GetFullPathName /SHORT ${L_TEMP} "$G_ROOTDIR" save_HKCU_root_sfn: WriteRegStr HKCU "Software\POPFile Project\${C_PFI_PRODUCT}\MRI" "RootDir_SFN" "${L_TEMP}" ; Install the POPFile Core files SetDetailsPrint textonly DetailPrint "$(PFI_LANG_INST_PROG_CORE)" SetDetailsPrint listonly SetOutPath "$G_ROOTDIR" ; Remove redundant files (from earlier test versions of the installer) Delete "$G_ROOTDIR\wrapper.exe" Delete "$G_ROOTDIR\wrapperf.exe" Delete "$G_ROOTDIR\wrapperb.exe" ; Install POPFile 'core' files File "..\engine\license" File "${C_RELEASE_NOTES}" CopyFiles /SILENT /FILESONLY "$PLUGINSDIR\${C_README}.txt" "$G_ROOTDIR\${C_README}.txt" ; The experimental 'setup-repack587.exe' installer installed some NSIS-based replacements ; for the non-service EXE files plus renamed versions of the old 0.22.2 EXE files. These ; old ActivePerl 5.8.4 files can now be deleted as this installer contains versions based ; upon ActivePerl 5.8.7. Delete "$G_ROOTDIR\popfile-584.exe" Delete "$G_ROOTDIR\popfilef-584.exe" Delete "$G_ROOTDIR\popfileb-584.exe" Delete "$G_ROOTDIR\popfileif-584.exe" Delete "$G_ROOTDIR\popfileib-584.exe" Delete "$G_ROOTDIR\popfile-service-584.exe" ; The experimental 'setup-repack587.exe' installer had to use 'perlmsgcap.exe' since the ; NSIS-based replacements were not compatible with the standard "Message Capture" utility Delete "$G_ROOTDIR\perlmsgcap.exe" ; Install the POPFile EXE files File "..\engine\popfile.exe" File "..\engine\popfilef.exe" File "..\engine\popfileb.exe" File "..\engine\popfileif.exe" File "..\engine\popfileib.exe" File "..\engine\popfile-service.exe" File /nonfatal "/oname=pfi-stopwords.default" "..\engine\stopwords" File "runpopfile.exe" File "stop_pf.exe" File "sqlite.exe" File "runsqlite.exe" File "adduser.exe" File /nonfatal "test\pfidbstatus.exe" File /nonfatal "test\pfidiag.exe" File "msgcapture.exe" IfFileExists "$G_ROOTDIR\pfimsgcapture.exe" 0 app_paths Delete "$G_ROOTDIR\pfimsgcapture.exe" File "/oname=pfimsgcapture.exe" "msgcapture.exe" app_paths: ; Add 'stop_pf.exe' to 'App Paths' to allow it to be run using Start -> Run -> stop_pf params WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\App Paths\stop_pf.exe" \ "" "$G_ROOTDIR\stop_pf.exe" SetOutPath "$G_ROOTDIR" File "..\engine\popfile.pl" File "..\engine\popfile.pck" File "..\engine\insert.pl" File "..\engine\bayes.pl" File "..\engine\pipe.pl" File "..\engine\favicon.ico" SetOutPath "$G_ROOTDIR\Classifier" File "..\engine\Classifier\Bayes.pm" File "..\engine\Classifier\WordMangle.pm" File "..\engine\Classifier\MailParse.pm" IfFileExists "$G_ROOTDIR\Classifier\popfile.sql" update_the_schema no_previous_version: WriteINIStr "$G_ROOTDIR\pfi-data.ini" "Settings" "Owner" "$G_WINUSERNAME" DeleteINIStr "$G_ROOTDIR\pfi-data.ini" "Settings" "OldSchema" Goto install_schema update_the_schema: Push "$G_ROOTDIR\Classifier\popfile.sql" Call PFI_GetPOPFileSchemaVersion Pop ${L_RESULT} StrCmp ${L_RESULT} "()" assume_early_schema StrCpy ${L_TEMP} ${L_RESULT} 1 StrCmp ${L_TEMP} "(" no_previous_version remember_version assume_early_schema: StrCpy ${L_RESULT} "0" remember_version: WriteINIStr "$G_ROOTDIR\pfi-data.ini" "Settings" "Owner" "$G_WINUSERNAME" WriteINIStr "$G_ROOTDIR\pfi-data.ini" "Settings" "OldSchema" "${L_RESULT}" install_schema: File "..\engine\Classifier\popfile.sql" SetOutPath "$G_ROOTDIR\Platform" File "..\engine\Platform\MSWin32.pm" Delete "$G_ROOTDIR\Platform\POPFileIcon.dll" SetOutPath "$G_ROOTDIR\POPFile" File "..\engine\POPFile\MQ.pm" File "..\engine\POPFile\History.pm" File "..\engine\POPFile\Loader.pm" File "..\engine\POPFile\Logger.pm" File "..\engine\POPFile\Module.pm" File "..\engine\POPFile\Mutex.pm" File "..\engine\POPFile\Configuration.pm" File "..\engine\POPFile\popfile_version" SetOutPath "$G_ROOTDIR\Proxy" File "..\engine\Proxy\Proxy.pm" File "..\engine\Proxy\POP3.pm" SetOutPath "$G_ROOTDIR\UI" File "..\engine\UI\HTML.pm" File "..\engine\UI\HTTP.pm" ;----------------------------------------------------------------------- ; Default UI language SetOutPath "$G_ROOTDIR\languages" File "..\engine\languages\English.msg" ;----------------------------------------------------------------------- ; Default UI skin (the POPFile UI looks better if a skin is used) SetOutPath "$G_ROOTDIR\skins\default" File "..\engine\skins\default\*.*" ;----------------------------------------------------------------------- ; Create the uninstall program BEFORE creating the shortcut to it ; (this ensures that the correct "uninstall" icon appears in the START MENU shortcut) SetOutPath "$G_ROOTDIR" Delete "$G_ROOTDIR\uninstall.exe" WriteUninstaller "$G_ROOTDIR\uninstall.exe" ; Attempt to remove some StartUp and Start Menu shortcuts created by previous installations SetShellVarContext all Delete "$SMSTARTUP\Run POPFile.lnk" Delete "$SMSTARTUP\Run POPFile in background.lnk" Delete "$SMPROGRAMS\${C_PFI_PRODUCT}\Run POPFile in background.lnk" Delete "$SMPROGRAMS\${C_PFI_PRODUCT}\Manual.url" Delete "$SMPROGRAMS\${C_PFI_PRODUCT}\Support\POPFile Manual.url" Delete "$SMPROGRAMS\${C_PFI_PRODUCT}\QuickStart Guide.url" SetShellVarContext current Delete "$SMSTARTUP\Run POPFile.lnk" Delete "$SMSTARTUP\Run POPFile in background.lnk" Delete "$SMPROGRAMS\${C_PFI_PRODUCT}\Run POPFile in background.lnk" Delete "$SMPROGRAMS\${C_PFI_PRODUCT}\Manual.url" Delete "$SMPROGRAMS\${C_PFI_PRODUCT}\Support\POPFile Manual.url" Delete "$SMPROGRAMS\${C_PFI_PRODUCT}\QuickStart Guide.url" ; Create the START MENU entries SetDetailsPrint textonly DetailPrint "$(PFI_LANG_INST_PROG_SHORT)" SetDetailsPrint listonly ; 'CreateShortCut' uses '$OUTDIR' as the working directory for the shortcut ; ('SetOutPath' is one way to change the value of $OUTDIR) ; 'CreateShortCut' fails to update existing shortcuts if they are read-only, so try to clear ; the read-only attribute first. Similar handling is required for the Internet shortcuts. ; If the user has 'Admin' rights, create a 'POPFile' folder with a set of shortcuts in ; the 'All Users' Start Menu . If the user does not have 'Admin' rights, the shortcuts ; are created in the 'Current User' Start Menu. ; If the 'All Users' folder is not found, NSIS will return the 'Current User' folder. SetShellVarContext all StrCmp $G_WINUSERTYPE "Admin" create_shortcuts SetShellVarContext current create_shortcuts: SetOutPath "$SMPROGRAMS\${C_PFI_PRODUCT}" SetOutPath "$G_ROOTDIR" SetFileAttributes "$SMPROGRAMS\${C_PFI_PRODUCT}\Run POPFile.lnk" NORMAL CreateShortCut "$SMPROGRAMS\${C_PFI_PRODUCT}\Run POPFile.lnk" \ "$G_ROOTDIR\runpopfile.exe" SetFileAttributes "$SMPROGRAMS\${C_PFI_PRODUCT}\Uninstall POPFile.lnk" NORMAL CreateShortCut "$SMPROGRAMS\${C_PFI_PRODUCT}\Uninstall POPFile.lnk" \ "$G_ROOTDIR\uninstall.exe" SetOutPath "$G_ROOTDIR" SetFileAttributes "$SMPROGRAMS\${C_PFI_PRODUCT}\Release Notes.lnk" NORMAL CreateShortCut "$SMPROGRAMS\${C_PFI_PRODUCT}\Release Notes.lnk" \ "$G_ROOTDIR\${C_README}.txt" SetOutPath "$SMPROGRAMS\${C_PFI_PRODUCT}" SetFileAttributes "$SMPROGRAMS\${C_PFI_PRODUCT}\POPFile User Interface.url" NORMAL WriteINIStr "$SMPROGRAMS\${C_PFI_PRODUCT}\POPFile User Interface.url" \ "InternetShortcut" "URL" "http://${C_UI_URL}:$G_GUI/" SetFileAttributes "$SMPROGRAMS\${C_PFI_PRODUCT}\Shutdown POPFile.url" NORMAL WriteINIStr "$SMPROGRAMS\${C_PFI_PRODUCT}\Shutdown POPFile.url" \ "InternetShortcut" "URL" "http://${C_UI_URL}:$G_GUI/shutdown" SetFileAttributes "$SMPROGRAMS\${C_PFI_PRODUCT}\FAQ.url" NORMAL !ifndef ENGLISH_MODE StrCmp $LANGUAGE ${LANG_JAPANESE} japanese_faq !endif WriteINIStr "$SMPROGRAMS\${C_PFI_PRODUCT}\FAQ.url" \ "InternetShortcut" "URL" \ "http://getpopfile.org/cgi-bin/wiki.pl?FrequentlyAskedQuestions" !ifndef ENGLISH_MODE Goto support japanese_faq: WriteINIStr "$SMPROGRAMS\${C_PFI_PRODUCT}\FAQ.url" \ "InternetShortcut" "URL" \ "http://getpopfile.org/cgi-bin/wiki.pl?JP_FrequentlyAskedQuestions" support: !endif SetOutPath "$SMPROGRAMS\${C_PFI_PRODUCT}\Support" SetFileAttributes "$SMPROGRAMS\${C_PFI_PRODUCT}\Support\POPFile Home Page.url" NORMAL WriteINIStr "$SMPROGRAMS\${C_PFI_PRODUCT}\Support\POPFile Home Page.url" \ "InternetShortcut" "URL" "http://getpopfile.org/" SetFileAttributes "$SMPROGRAMS\${C_PFI_PRODUCT}\Support\POPFile Support (Wiki).url" NORMAL !ifndef ENGLISH_MODE StrCmp $LANGUAGE ${LANG_JAPANESE} japanese_wiki !endif WriteINIStr "$SMPROGRAMS\${C_PFI_PRODUCT}\Support\POPFile Support (Wiki).url" \ "InternetShortcut" "URL" \ "http://getpopfile.org/cgi-bin/wiki.pl?POPFileDocumentationProject" !ifndef ENGLISH_MODE Goto pfidiagnostic japanese_wiki: WriteINIStr "$SMPROGRAMS\${C_PFI_PRODUCT}\Support\POPFile Support (Wiki).url" \ "InternetShortcut" "URL" \ "http://getpopfile.org/cgi-bin/wiki.pl?JP_POPFileDocumentationProject" pfidiagnostic: !endif IfFileExists "$G_ROOTDIR\pfidiag.exe" 0 silent_shutdown Delete "$SMPROGRAMS\${C_PFI_PRODUCT}\PFI Diagnostic utility.lnk" SetFileAttributes "$SMPROGRAMS\${C_PFI_PRODUCT}\Support\PFI Diagnostic utility (simple).lnk" NORMAL CreateShortCut "$SMPROGRAMS\${C_PFI_PRODUCT}\Support\PFI Diagnostic utility (simple).lnk" \ "$G_ROOTDIR\pfidiag.exe" SetFileAttributes "$SMPROGRAMS\${C_PFI_PRODUCT}\Support\PFI Diagnostic utility (full).lnk" NORMAL CreateShortCut "$SMPROGRAMS\${C_PFI_PRODUCT}\Support\PFI Diagnostic utility (full).lnk" \ "$G_ROOTDIR\pfidiag.exe" "/full" silent_shutdown: SetOutPath "$G_ROOTDIR" SetFileAttributes "$SMPROGRAMS\${C_PFI_PRODUCT}\Shutdown POPFile silently.lnk" NORMAL CreateShortCut "$SMPROGRAMS\${C_PFI_PRODUCT}\Shutdown POPFile silently.lnk" \ "$G_ROOTDIR\stop_pf.exe" "/showerrors $G_GUI" ; Create entry in the Control Panel's "Add/Remove Programs" list StrCmp $G_WINUSERTYPE "Admin" use_HKLM WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${C_PFI_PRODUCT}" \ "DisplayName" "${C_PFI_PRODUCT} ${C_PFI_VERSION}" WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${C_PFI_PRODUCT}" \ "UninstallString" "$G_ROOTDIR\uninstall.exe" WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${C_PFI_PRODUCT}" \ "NoModify" "1" WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${C_PFI_PRODUCT}" \ "NoRepair" "1" Goto end_section use_HKLM: WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${C_PFI_PRODUCT}" \ "DisplayName" "${C_PFI_PRODUCT} ${C_PFI_VERSION}" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${C_PFI_PRODUCT}" \ "UninstallString" "$G_ROOTDIR\uninstall.exe" WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${C_PFI_PRODUCT}" \ "NoModify" "1" WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${C_PFI_PRODUCT}" \ "NoRepair" "1" end_section: SetDetailsPrint textonly DetailPrint "$(PFI_LANG_INST_PROG_ENDSEC)" SetDetailsPrint listonly !insertmacro SECTIONLOG_EXIT "POPFile" Pop ${L_TEMP} Pop ${L_RESULT} !undef L_RESULT !undef L_TEMP ; SectionEnd #-------------------------------------------------------------------------- # End of 'installer-SecPOPFile-body.nsh' #-------------------------------------------------------------------------- Index: stop_popfile.nsi =================================================================== RCS file: /cvsroot/popfile/windows/stop_popfile.nsi,v retrieving revision 1.14 retrieving revision 1.14.4.1 diff -C2 -d -r1.14 -r1.14.4.1 *** stop_popfile.nsi 20 Oct 2004 14:01:09 -0000 1.14 --- stop_popfile.nsi 13 Sep 2005 19:01:55 -0000 1.14.4.1 *************** *** 3,7 **** # stop_popfile.nsi --- A simple 'command-line' utility to shutdown POPFile silently. # ! # Copyright (c) 2003-2004 John Graham-Cumming # # This file is part of POPFile --- 3,7 ---- # stop_popfile.nsi --- A simple 'command-line' utility to shutdown POPFile silently. # ! # Copyright (c) 2003-2005 John Graham-Cumming # # This file is part of POPFile *************** *** 82,87 **** # The '/WAIT' parameter is important, otherwise the 'failed' case will not be detected. #------------------------------------------------------------------------------------------- ! # This version was tested using "NSIS 2 Release Candidate 2" released 5 January 2004 ! #------------------------------------------------------------------------------------------- ;-------------------------------------------------------------------------- --- 82,105 ---- # The '/WAIT' parameter is important, otherwise the 'failed' case will not be detected. #------------------------------------------------------------------------------------------- ! ! ; This version of the script has been tested with the "NSIS 2.0" compiler (final), ! ; released 7 February 2004, with no "official" NSIS patches applied. This compiler ! ; can be downloaded from http://prdownloads.sourceforge.net/nsis/nsis20.exe?download ! ! !define ${NSIS_VERSION}_found ! ! !ifndef v2.0_found ! !warning \ ! "$\r$\n\ ! $\r$\n*** NSIS COMPILER WARNING:\ ! $\r$\n***\ ! $\r$\n*** This script has only been tested using the NSIS 2.0 compiler\ ! $\r$\n*** and may not work properly with this NSIS ${NSIS_VERSION} compiler\ ! $\r$\n***\ ! $\r$\n*** The resulting 'installer' program should be tested carefully!\ ! $\r$\n$\r$\n" ! !endif ! ! !undef ${NSIS_VERSION}_found ;-------------------------------------------------------------------------- *************** *** 90,99 **** ; ${IO_NL} is used for InstallOption... [truncated message content] |