[sword-devel] BibleCS Installer: readme before executables
L.Allan-pbio
paraclete at bibleinverse.org
Fri Feb 10 07:38:00 MST 2006
> Well, I think you have two very good solutions here: (C and D)
> 1) Swap the labels and the functions. I found the default labels and I
> think that we can use them, so i18n is not an issue, nor is hacking.
> 2) Set variables in both functions and in .onInstSuccess do the work as
> requested.
> The second seems cleaner.
Are you describing a "hybrid C'D' "? Both the "Run" function and the
"ShowMe" function would set independent flags, and then .onInstSuccess would
first check about the ShowMeFlag, and then check whether to ExecWait
InstallManager and then Exec sword.exe.
If so, seems reasonable .... then you don't have to change/swap the
FINISHPAGE labels, which has a minor element of being unclear. It seems a
little unexpected that the ShowReadMe would happen first (since it is below
on the FINISHPAGE), but not unacceptable.
Or would you also swap the order of the functions by using swapped labels?
BTW, I got confirmation from the nsis forum that .onGUIEnd can be freely
used in the MUI, unlike the .onGUIInit standard function. But that seems
moot.
; Option C'D':
;******* Option C'D' ***************************
!define MUI_FINISHPAGE_RUN_TEXT "Run InstallManager and then sword.exe"
!define MUI_FINISHPAGE_RUN
!define MUI_FINISHPAGE_RUN_FUNCTION SetRunExecutableFlag
!define MUI_FINISHPAGE_SHOWREADME_TEXT "Show InstallManager info"
!define MUI_FINISHPAGE_SHOWREADME
!define MUI_FINISHPAGE_SHOWREADME_FUNCTION ShowInstallManagerInfo
!insertmacro MUI_PAGE_FINISH
Var RunExecutablesFlag
Var ShowReadmeFlag
Function .onInit
StrCpy $RunExecutablesFlag 0
StrCpy $ShowReadmeFlag 0
FunctionEnd
Function SetRunExecutableFlag
StrCpy $RunExecutablesFlag 1
FunctionEnd
Function ShowInstallManagerInfo
StrCpy $ShowReadmeFlag 1
FunctionEnd
Function .onInstSuccess
StrCmp $ShowReadmeFlag 1 0 CheckIfRunExecutables
ExecWait 'notepad $INSTDIR\readme.txt'
CheckIfRunExecutables:
StrCmp $RunExecutablesFlag 1 0 PastRunningExecutables
MessageBox MB_OK 'InstallManager would run here as ExecWait'
MessageBox MB_OK 'sword.exe would run here as Exec after InstallManager'
PastRunningExecutables:
FunctionEnd
;******* Option C ***************************
More information about the sword-devel
mailing list