diff --git a/Contrib/BgImage/Example.nsi b/Contrib/BgImage/Example.nsi index 14154ddb..a0dc2ce9 100644 --- a/Contrib/BgImage/Example.nsi +++ b/Contrib/BgImage/Example.nsi @@ -3,6 +3,7 @@ Name "BgImage.dll test" OutFile "BgImage Test.exe" XPStyle on +RequestExecutionLevel user !define DEBUG !macro GetReturnValue diff --git a/Contrib/nsDialogs/example.nsi b/Contrib/nsDialogs/example.nsi index 729918a4..242735c4 100644 --- a/Contrib/nsDialogs/example.nsi +++ b/Contrib/nsDialogs/example.nsi @@ -5,6 +5,9 @@ Name "nsDialogs Example" OutFile "nsDialogs Example.exe" XPStyle on +RequestExecutionLevel user + +LicenseText "All the action takes place on the next page..." Page license Page custom nsDialogsPage diff --git a/Contrib/nsDialogs/timer.nsi b/Contrib/nsDialogs/timer.nsi index cb6449f8..907f7bb0 100644 --- a/Contrib/nsDialogs/timer.nsi +++ b/Contrib/nsDialogs/timer.nsi @@ -1,9 +1,11 @@ !include LogicLib.nsh !include nsDialogs.nsh +!include WinMessages.nsh Name "nsDialogs Timer Example" OutFile "nsDialogs Timer Example.exe" XPStyle on +RequestExecutionLevel user Var DIALOG Var TEXT @@ -17,7 +19,7 @@ Page custom nsDialogsPage Function OnTimer - SendMessage $PROGBAR ${PBM_GETPOS} 0 0 $1 + SendMessage $PROGBAR ${PBM_GETPOS} 0 0 $1 ${If} $1 = 100 SendMessage $PROGBAR ${PBM_SETPOS} 0 0 ${Else} @@ -28,7 +30,7 @@ FunctionEnd Function OnTimer2 - SendMessage $PROGBAR2 ${PBM_GETPOS} 0 0 $1 + SendMessage $PROGBAR2 ${PBM_GETPOS} 0 0 $1 ${If} $1 = 100 SendMessage $PROGBAR2 ${PBM_SETPOS} 0 0 ${Else} @@ -39,10 +41,10 @@ FunctionEnd Function OnTimer3 - SendMessage $PROGBAR3 ${PBM_GETPOS} 0 0 $1 + SendMessage $PROGBAR3 ${PBM_GETPOS} 0 0 $1 ${If} $1 >= 100 ${NSD_KillTimer} OnTimer3 - MessageBox MB_OK "Timer 3 killed" + MessageBox MB_OK "Timer 3 killed" ${Else} SendMessage $PROGBAR3 ${PBM_DELTAPOS} 2 0 ${EndIf} @@ -82,6 +84,8 @@ Function nsDialogsPage ${NSD_CreateProgressBar} 0u 52u 100% 12u "" Pop $PROGBAR2 + SendMessage $PROGBAR2 ${PBM_SETBARCOLOR} 0 0x0000FF ; No visual styles + SendMessage $PROGBAR2 ${PBM_SETSTATE} ${PBST_ERROR} 0 ; Vista+ ${NSD_CreateButton} 0u 67u 100u 14u "Kill Timer 2" Pop $BUTTON2 diff --git a/Contrib/nsDialogs/welcome.nsi b/Contrib/nsDialogs/welcome.nsi index 7f0c255a..29a90e71 100644 --- a/Contrib/nsDialogs/welcome.nsi +++ b/Contrib/nsDialogs/welcome.nsi @@ -1,5 +1,6 @@ !include MUI.nsh !include LogicLib.nsh +!include nsDialogs.nsh !include WinMessages.nsh !include FileFunc.nsh @@ -12,113 +13,6 @@ Page custom nsDialogsDirectory !insertmacro MUI_LANGUAGE English -!define WS_EX_CLIENTEDGE 0x00000200 - -!define WS_CHILD 0x40000000 -!define WS_VISIBLE 0x10000000 -!define WS_DISABLED 0x08000000 -!define WS_CLIPSIBLINGS 0x04000000 -!define WS_MAXIMIZE 0x01000000 -!define WS_VSCROLL 0x00200000 -!define WS_HSCROLL 0x00100000 -!define WS_GROUP 0x00020000 -!define WS_TABSTOP 0x00010000 - -!define ES_LEFT 0x00000000 -!define ES_CENTER 0x00000001 -!define ES_RIGHT 0x00000002 -!define ES_MULTILINE 0x00000004 -!define ES_UPPERCASE 0x00000008 -!define ES_LOWERCASE 0x00000010 -!define ES_PASSWORD 0x00000020 -!define ES_AUTOVSCROLL 0x00000040 -!define ES_AUTOHSCROLL 0x00000080 -!define ES_NOHIDESEL 0x00000100 -!define ES_OEMCONVERT 0x00000400 -!define ES_READONLY 0x00000800 -!define ES_WANTRETURN 0x00001000 -!define ES_NUMBER 0x00002000 - -!define SS_LEFT 0x00000000 -!define SS_CENTER 0x00000001 -!define SS_RIGHT 0x00000002 -!define SS_ICON 0x00000003 -!define SS_BLACKRECT 0x00000004 -!define SS_GRAYRECT 0x00000005 -!define SS_WHITERECT 0x00000006 -!define SS_BLACKFRAME 0x00000007 -!define SS_GRAYFRAME 0x00000008 -!define SS_WHITEFRAME 0x00000009 -!define SS_USERITEM 0x0000000A -!define SS_SIMPLE 0x0000000B -!define SS_LEFTNOWORDWRAP 0x0000000C -!define SS_OWNERDRAW 0x0000000D -!define SS_BITMAP 0x0000000E -!define SS_ENHMETAFILE 0x0000000F -!define SS_ETCHEDHORZ 0x00000010 -!define SS_ETCHEDVERT 0x00000011 -!define SS_ETCHEDFRAME 0x00000012 -!define SS_TYPEMASK 0x0000001F -!define SS_REALSIZECONTROL 0x00000040 -!define SS_NOPREFIX 0x00000080 -!define SS_NOTIFY 0x00000100 -!define SS_CENTERIMAGE 0x00000200 -!define SS_RIGHTJUST 0x00000400 -!define SS_REALSIZEIMAGE 0x00000800 -!define SS_SUNKEN 0x00001000 -!define SS_EDITCONTROL 0x00002000 -!define SS_ENDELLIPSIS 0x00004000 -!define SS_PATHELLIPSIS 0x00008000 -!define SS_WORDELLIPSIS 0x0000C000 -!define SS_ELLIPSISMASK 0x0000C000 - -!define BS_PUSHBUTTON 0x00000000 -!define BS_DEFPUSHBUTTON 0x00000001 -!define BS_CHECKBOX 0x00000002 -!define BS_AUTOCHECKBOX 0x00000003 -!define BS_RADIOBUTTON 0x00000004 -!define BS_3STATE 0x00000005 -!define BS_AUTO3STATE 0x00000006 -!define BS_GROUPBOX 0x00000007 -!define BS_USERBUTTON 0x00000008 -!define BS_AUTORADIOBUTTON 0x00000009 -!define BS_PUSHBOX 0x0000000A -!define BS_OWNERDRAW 0x0000000B -!define BS_TYPEMASK 0x0000000F -!define BS_LEFTTEXT 0x00000020 -!define BS_TEXT 0x00000000 -!define BS_ICON 0x00000040 -!define BS_BITMAP 0x00000080 -!define BS_LEFT 0x00000100 -!define BS_RIGHT 0x00000200 -!define BS_CENTER 0x00000300 -!define BS_TOP 0x00000400 -!define BS_BOTTOM 0x00000800 -!define BS_VCENTER 0x00000C00 -!define BS_PUSHLIKE 0x00001000 -!define BS_MULTILINE 0x00002000 -!define BS_NOTIFY 0x00004000 -!define BS_FLAT 0x00008000 -!define BS_RIGHTBUTTON ${BS_LEFTTEXT} - -!define LR_DEFAULTCOLOR 0x0000 -!define LR_MONOCHROME 0x0001 -!define LR_COLOR 0x0002 -!define LR_COPYRETURNORG 0x0004 -!define LR_COPYDELETEORG 0x0008 -!define LR_LOADFROMFILE 0x0010 -!define LR_LOADTRANSPARENT 0x0020 -!define LR_DEFAULTSIZE 0x0040 -!define LR_VGACOLOR 0x0080 -!define LR_LOADMAP3DCOLORS 0x1000 -!define LR_CREATEDIBSECTION 0x2000 -!define LR_COPYFROMRESOURCE 0x4000 -!define LR_SHARED 0x8000 - -!define IMAGE_BITMAP 0 -!define IMAGE_ICON 1 -!define IMAGE_CURSOR 2 -!define IMAGE_ENHMETAFILE 3 Var DIALOG Var HEADLINE diff --git a/Include/WinMessages.nsh b/Include/WinMessages.nsh index 7d1e6a08..4268491d 100644 --- a/Include/WinMessages.nsh +++ b/Include/WinMessages.nsh @@ -681,11 +681,11 @@ ${_NSIS_DEFAW} LVM_SETITEMTEXT ${_NSIS_DEFAW} TCM_INSERTITEM #Progress bar control# -!define PBM_SETRANGE 0x0401 -!define PBM_SETPOS 0x0402 -!define PBM_DELTAPOS 0x0403 -!define PBM_SETSTEP 0x0404 -!define PBM_STEPIT 0x0405 +!define PBM_SETRANGE 0x401 +!define PBM_SETPOS 0x402 +!define PBM_DELTAPOS 0x403 +!define PBM_SETSTEP 0x404 +!define PBM_STEPIT 0x405 !define PBM_SETRANGE32 0x406 ; IE3 + ComCtl32 v4.70 !define PBM_GETRANGE 0x407 !define PBM_GETPOS 0x408 diff --git a/Include/WinVer.nsh b/Include/WinVer.nsh index 14e546d7..4fe9b03e 100644 --- a/Include/WinVer.nsh +++ b/Include/WinVer.nsh @@ -12,7 +12,7 @@ ; DetailPrint "Not running on NT. Installing ANSI application." ; ${EndIf} ; -; IsServer checks if the installer is running on a server version of Windows (NT4, 2003, 2008, etc.) +; IsServerOS checks if the installer is running on a server version of Windows (NT4, 2003, 2008, etc.) ; ; AtLeastWin checks if the installer is running on Windows version at least as specified. ; IsWin checks if the installer is running on Windows version exactly as specified. @@ -32,6 +32,8 @@ ; 2008 ; 7 ; 2008R2 +; 8 +; 2012 ; ; AtLeastServicePack checks if the installer is running on Windows service pack version at least as specified. ; IsServicePack checks if the installer is running on Windows service pack version exactly as specified. @@ -192,7 +194,7 @@ !macro __WinVer_Call_GetVersionEx STRUCT_SIZE System::Call '*$0(i ${STRUCT_SIZE})' - System::Call kernel32::GetVersionEx(ir0)i.r3 + System::Call kernel32::GetVersionEx(pr0)i.r3 !macroend @@ -298,7 +300,7 @@ _winver_sp_noex: # OSVERSIONINFO, not OSVERSIONINFOEX #### TODO - ## For IsServer to support < NT4SP6, we need to check the registry + ## For IsServerOS to support < NT4SP6, we need to check the registry ## here to see if we are a server and/or DC # get szCSDVersion