Extended Gina

This DLL extends the standard GInA DLL from NT.
It mainly adds This DLL replaces the standard GInA DLL, executes, then points back to (executes) the original one.


The DLL must be copied onto the local hard disk and must be set up in the registry.

The key HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon of type REG_SZ must point to the absolute path of the file XGINA.DLL.


Add the following values under the key HKEY_LOCAL_MACHINE\SOFTWARE\MarcStern\ExtendedGina:
KeyTypeUsePermitted valuesDefault value
OriginalGinaDLLREG_SZOriginal Gina to point back toabsolute path namemsgina.dll (default NT one)
DebugREG_DWORDDebugging flag (adds internal tracing)0 or 10
LogFileREG_SZLog fileabsolute path namenone
TimeoutREG_DWORDMax. time given to a script to executenumber of seconds60
Startup\ScriptREG_SZStartup Scriptabsolute path namenone
Logon\SystemBefore\ScriptREG_SZLogon Script in Local System contextabsolute path namenone
Logon\User\ScriptREG_SZLogon Script in Local System contextabsolute path namenone
Logon\SystemAfter\ScriptREG_SZLogon Script in User contextabsolute path namenone
Logoff\SystemBefore\ScriptREG_SZLogon Script in Local System contextabsolute path namenone
Logoff\User\ScriptREG_SZLogon Script in Local System contextabsolute path namenone
Logoff\SystemAfter\ScriptREG_SZLogon Script in User contextabsolute path namenone
Shutdown\ScriptREG_SZShutdown Scriptabsolute path namenone
  1. All values of type REG_SZ may also be of type REG_EXPAND_SZ if needed to be expanded.
  2. Each Script value may be completed by a LogFile and / or a TimeOut value that overwrites the default one for this script only.

An example of a policy template file (XGINA.ADM) is provided.

Terminal Server Edition compatibility

XGina has been tested and is currently used on TSE (NT 4), but there is a little problem with the startup / shutdown scripts; as TSE launches a new Winlogon for each new logon, the scripts are no more called at startup / shutdown time but at each logon and X time at shutdown :-(
I hope to find the time to fix this asap (I need a semaphor that stays when the application stops, but that is not present at the next boot).


The package is composed of:


[XSET] ... [Other free NT tools] ... [How to contact me] ... [Batch files tips & tricks]