Archive: Can DetailPrint be used within .onInit?


Can DetailPrint be used within .onInit?
Can the DetailPrint function be used within .onInit?

It seems only available after .onInit ... or I am doing something wrong or leaving something out???

Test script below that attemts to use DetailPrint .... which works during Section

; DetailPrintTest.nsi based on example1.nsi
Name "DetailPrintTest"
OutFile "DetailPrintTest.exe"
InstallDir $PROGRAMFILES\Test

ShowInstDetails show
;--------------------------------
; Pages
Page directory
Page instfiles
;--------------------------------
Section Anonymous ;No components page, name is not important
SetOutPath $INSTDIR
File DetailPrintTest.nsi
DetailPrint "Reached anonymous section"
SectionEnd ; end the section
;--------------------------------
Function .onInit
MessageBox MB_OK "Reached .onInit $\r$\n \
SMPROGRAMS: $SMPROGRAMS $\r$\n \
InstallDirectory: $INSTDIR "
DetailPrint "Reached .onInit"
DetailPrint "Install Dir: $INSTDIR"
DetailPrint "Sm Programs: $SMPROGRAMS"
FunctionEnd
;--------------------------------
Function .onGUIInit
MessageBox MB_OK "Reached .onGUIInit $\r$\n \
SMPROGRAMS: $SMPROGRAMS $\r$\n \
InstallDirectory: $INSTDIR "
DetailPrint "Reached .onGUIINit section"
FunctionEnd


DetailPrint prints to the install log window. That window is only available when the instfiles page is reached. Sections are executed when the instfiles page shows, and that's why you see DetailPrints used in sections.


Thanks for the info.

The underlying question is how to do debugging. I've used MessageBox, and sometimes DetailPrint can be used.

What other debugging capabilities does nsis make available?

Do any of the ide's provide something closer to "step-into" and "step-over" capability? Is there a way to "watch" the value of a variable?


There's a couple plugins you could use for debugging:

http://nsis.sourceforge.net/Nsisdbg_plug-in

http://nsis.sourceforge.net/DumpState_plug-in


Does anyone have the plugin somewhere?
It seems that the link on the http://nsis.sourceforge.net/Nsisdbg_plug-in is valid but the there is a problem on the serve side or the file was removed.

Thanks in advance,
Isawen