History: -------- v0.2.4 - 20111123 (AndersK) +Added UAC_GetIntegrityLevel *Macro documentation in UAC.nsh *Changed IsAdmin detection *"Splash screen" uses invisible hack, hex edit "runas" > "Runas" to remove the hack v0.2.3c - 20110920 (AndersK) *Fixed UAC_DualMode again? v0.2.3b - 20110914 (AndersK) *"Splash screen" has correct 32px icon for alt+tab *Better UAC state checking v0.2.3 - 20110123 (AndersK) *New experimental "splash screen" to deal with focus issues v0.2.2d - 20101203 (AndersK) *Added UAC_SYNCINSTDIR to UAC_AsUser_ExecShell *Moved more utility functions to util.cpp v0.2.2c - 20100828 (AndersK) *Fixed UAC_AsUser_ExecShell so it can be called several times v0.2.2b - 20100103 (AndersK) *Removed SetParent focus hack, now just hides the outer window v0.2.2 - 20100102 (AndersK) *Fixed UAC_DualMode.nsi next button focus problem (Thanks Msg) *Fixed UAC_DualMode.nsi BCM_SETSHIELD when clicking back button (Thanks Msg) v0.2.1 - 20090712 (AndersK) +Implemented UAC_SYNCREGISTERS,UAC_SYNCOUTDIR and UAC_SYNCINSTDIR flags for UAC_AsUser_Call macro *Inner instance will now process messages while waiting for long operations in the outer instance *FEAT_MSRUNASDLGMODHACK on in official builds again -Removed undocumented FindCmdLineParams v0.2.0 - 20090705 (AndersK) +Long text used in MyRunAs is stored in ascii in unicode build to save space +Now uses the new plugin API *UAC_RealWorldFullyLoadedDualModeExample.nsi -> UAC_DualMode.nsi *Major re-build with support for register sync both ways v0.0.11d - 20090704 (AndersK) *Fixed UAC_RealWorldFullyLoadedDualModeExample.nsi so installing as admin will allow both modes v0.0.11c - 20090124 (AndersK) *Checks for seclogon service on NT5 and returns ERROR_SERVICE_NOT_ACTIVE in $0 if not running v0.0.11b - 20090102 (AndersK) *Fixed unicode compile bugs v0.0.11 - 20081021 (AndersK) +Added UAC_GetUserShellFolderPath.nsi (Uses the new UAC::GetShellFolderPath) v0.0.10a - 20081004 (AndersK) +Added SEE_MASK_NOZONECHECKS flag (experimental) v0.0.10 - 20080812 (AndersK) +Added ugly hook hack to the shells run-as dialog on xp, defaults to other user v0.0.9 - 20080721 (AndersK) *Fixed UAC_RealWorldFullyLoadedDualModeExample.nsi related bug (Thanks Case) v0.0.8 - 20080310 (AndersK) +HTML Readme +Added UAC::GetOuterHwnd (used by UAC_RealWorldFullyLoadedDualModeExample.nsi) *Fixed UAC_RealWorldFullyLoadedDualModeExample.nsi *Major code cleanup in UAC.cpp -Removed UAC::RunElevatedAndProcessMessages (UAC::RunElevated now supports non NULL $HWNDParent) -Removed several useless sample scripts v0.0.7e - 20080229 (AndersK) *Added ugly hack for hackwnd to find correct title and give us a proper taskbar so the elevation dialog does not get lost (2000,XP (This also fixed Alt-Tab icon on Vista)) *Should compile with MSVC2005 now (Thanks Case) *More unicode fixes, this time even tested with NSIS Unicode (Only RunElevated and Exec tested) v0.0.7d - 20080226 (AndersK) *Fixed a couple of unicode version bugs (Unicode version still untested) *Fixed weird XP string length bug (Thanks kfank) v0.0.7c - 20080218 (AndersK) *Fixed SyncVars string length bug v0.0.7b - 20080205 (AndersK) *Fixed DelayLoadDlls() problem on NT4 v0.0.7 - 20080120 (AndersK) +Added UAC::StackPush (For use with ExecCodeSegment) v0.0.6d - 20071108 (AndersK) +Now syncs basic registers/variables before calling UAC::*Exec* and UAC::ExecCodeSegment (r0-r9,R0-R9,$CMDLINE,$INSTDIR,$OUTDIR,$EXEDIR,$LANGUAGE) +Added UAC::RunElevatedAndProcessMessages, this can be called after .onInit (Very experimental, DO NOT USE) +New include file with helper macros: UAC.nsh *Replazed Clammerz hack with a better version v0.0.6c - 20071014 (AndersK) +Check for and split up "domain\user" style input in RunAs.cpp for CreateProcessWithLogonW *Added a ugly hack to trick messagebox'es in .OnInit to appear correctly on Vista (Thanks Clammerz) v0.0.6b - 20070523 (AndersK) *Fixed showwindow flag (Thanks for the help kichik) v0.0.6 - 20070512 (AndersK) +Added basic language support for MyRunAs dialog. v0.0.5e - 20070509 (AndersK) *Fixed detection of UAC mode? +IPC window is visible (but offscreen) during elevation to help with SetForegroundWindow/Focus problems v0.0.5d - 20070324 (AndersK) *Fixed stupid IsAdmin bug v0.0.5c - 20070304 (AndersK) *_IsAdmin now uses CheckTokenMembership if it exists ( MSKB:Q118626 / http://blogs.msdn.com/larryosterman/archive/2007/03/14/why-does-kb-118626-use-accesscheck-to-check-if-you-re-a-member-of-the-administrators-group.aspx ) v0.0.5b - 20070301 (AndersK) *Fixed ExecCodeSegment (Thread now calls CoInitialize) v0.0.5 - 20070228 (AndersK) +Added ExecCodeSegment (You can now call ANY code in the context of the original user) v0.0.4b - 20070226 (AndersK) *Fixed (My)RunAs font (http://blogs.msdn.com/oldnewthing/archive/2005/02/04/366987.aspx) v0.0.4 - 20070225 (AndersK) +Added (My)RunAs dialog, used on Vista when running as LUA with UAC off +Always uses /NCRC for elevated instance *Now compiles as UNICODE (Untested, no UnicodeNSIS to test on) v0.0.3 - 20070224 (AndersK) +Added Exec/ExecWait +Added Verb & ShowWindow support for ShellExec[Wait] v0.0.2 - 20070219 (AndersK) +Added ShellExecWait *IPC srv wnd now has its own thread and msg loop *Removed CRT dependency *Hopefully loads on Win95 now v0.0.1 - 20070215 (AndersK) *Initial release