Prompt Before Compilation: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
(Initial Release) |
m (→NSIS Macro: Cleanup and uncommented verbose lines.) |
||
(One intermediate revision by the same user not shown) | |||
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 == | ||
<highlight-nsis> | |||
<highlight- | !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]] |
Latest revision as of 21:12, 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
!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