Prompt Before Compilation: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
(Initial Release) |
(Rewrite as macro and to make it self contained.. no longer requires external vbscript file.) |
||
Line 2: | Line 2: | ||
== Description == | == Description == | ||
Using a dynamic vbscript created at compile time, you can allow your NSIS scripts to prompt prior to compilation. I've found this useful to alert me to packages that require a significant amount of time to compile. | |||
== Usage == | == Usage == | ||
<highlight-nsis> | <highlight-nsis> | ||
! | ${!MsgBox} "WARNING: Package will take a long time to compile.\n\ | ||
Average Compilation Time: 54 min 35 sec | Average Compilation Time: 54 min 35 sec" "NSIS Compilation" | ||
</highlight-nsis> | </highlight-nsis> | ||
== | == NSIS Macro == | ||
Save the following VBScript as "MsgBox.vbs" in a location that is listed in the %PATH%. | Save the following VBScript as "MsgBox.vbs" in a location that is listed in the %PATH%. | ||
<highlight- | <highlight-nsis> | ||
!define !MsgBox `!insertmacro _!MsgBox` | |||
!macro _!MsgBox _Message _Caption | |||
;!verbose push | |||
;!verbose 0 | |||
!tempfile MsgBox | |||
!appendfile "${MsgBox}" `WScript.Quit MsgBox(Replace(Replace(Replace("${_Message}","\t",vbTab),"\n",vbLf),"\r",vbCr),289,"${_Caption}")` | |||
!system `wscript.exe "${MsgBox}" //E:vbscript` = 1 | |||
!delfile "${MsgBox}" | |||
!undef MsgBox | |||
;!verbose pop | |||
!macroend | |||
</highlight-nsis> | |||
</highlight- | |||
[[Category:Compile-Time Macros]] | [[Category:Compile-Time Macros]] |
Revision as of 20:16, 10 November 2009
Author: Zinthose (talk, contrib) |
Description
Using a dynamic vbscript created at compile time, you can allow your NSIS scripts to prompt prior to compilation. I've found this useful to alert me to packages that require a significant amount of time to compile.
Usage
${!MsgBox} "WARNING: Package will take a long time to compile.\n\ Average Compilation Time: 54 min 35 sec" "NSIS Compilation"
NSIS Macro
Save the following VBScript as "MsgBox.vbs" in a location that is listed in the %PATH%.
!define !MsgBox `!insertmacro _!MsgBox` !macro _!MsgBox _Message _Caption ;!verbose push ;!verbose 0 !tempfile MsgBox !appendfile "${MsgBox}" `WScript.Quit MsgBox(Replace(Replace(Replace("${_Message}","\t",vbTab),"\n",vbLf),"\r",vbCr),289,"${_Caption}")` !system `wscript.exe "${MsgBox}" //E:vbscript` = 1 !delfile "${MsgBox}" !undef MsgBox ;!verbose pop !macroend