Splash Screen (Configuring Computer)

Discussion in 'Deployment Server' started by jiiim, Mar 22, 2007.

  1. jiiim New Member

    Has anyone got any tips or trix on how to tell a user that his/hers computer is beeing installed/configured?
    When using the "modify configuration" job there's a nice splash screen presented on top of the ctrl+alt+delete window which prevents users from logging in. Does anyone know what file/files generates this nice thing? :)

    If someone's got any ideas on this one I'd be super glad to hear them.
  2. jdean Altiris Engineer (Super Mod)

    I personally don't know of any VB scripting (or powershell) function to do this but one may exist. I'm guessing Altiris has some code calling an API.

    KSweet does some programming and may know.


  3. Rickard New Member

    Hi Jim,
    You can create a custom login GINA using somthing like this.
    Just point your registry to use your custom gina and when you are done configuring point back to the original msgina and reboot.

    Regards
  4. jiiim New Member

    Excellent suggestion! Logon window now looks like this during configuration of the computer. [IMG]
    When configuration is finished it's switched back to the original gina.

    Thanks!
  5. SLam New Member

    Can you give me a step-by-step of what you did? I would also like to do something like this for our environment. Thanks.
  6. jiiim New Member

    Download Resource Hacker.
    1. Create a copy of C:\windows\system32\msgina.dll and open the copied msgina.dll with Resource Hacker.
    2. Figure out what bitmaps you want to change under the "Bitmap" section. Right click the green flower symbol and save the bitmap. Edit in Photoshop and then replace the existing one with the new one.
    3. In the "Dialog" section edit the "1400" entry, mine looks like this:
      Code:
      1400 DIALOGEX 8, 31, 274, 126
      STYLE DS_FIXEDSYS | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
      CAPTION "Configuring computer..."
      LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
      FONT 8, "MS Shell Dlg"
      {
         CONTROL "This computer is beeing configured, please stand by...", 2420, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 7, 98, 225, 16 
         CONTROL "Computer Locked", 2419, BUTTON, BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 0, 0, 273, 68 
         CONTROL "This computer is in use and has been locked.", 1752, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 37, 7, 230, 8 
         CONTROL "Text", 1902, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 37, 21, 230, 26 
         CONTROL 115, 2403, STATIC, SS_ICON | WS_CHILD | WS_VISIBLE, 7, 5, 20, 20 
      }
    To change the ginadll in windows edit this value HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Ginadll = yourgina.dll

    I do this with cmdlines.txt, this way the computer has the "Configuring computer Gina" right after the minisetup is finished.

    To remove the modified ginadll I remove the value HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Ginadll and reboot the machine. When it's rebooted the normal login window is back.
  7. Nick Altiris/AppSense Guru

    :sticky:
  8. pretenda New Member

    This might be a really long shot, but does anyone have an alternative to this for vista? gina has broken up with windows and windows has replaced her with younger, better looking sister ..

    We are looking at upgrading some of our machines to vista and that msgina.dll hack was awesome for our xp pcs.

    Thanks in advance.
  9. gerardsweeney Member

    I know this is an old discussion, but for my deployment, I've written a small(ish) script which changes the logon wallpaper to a red background with this sort of layout:

    Computer name: wsblah
    Make/Model : blah
    Serial number : blah
    Operating System: blah




    Do not attempt to use this computer
    (custom message)


    The script is called with a parameter $reason. If that exists, then it's a red background and the custom message. If it isn't then the background is blue, and the "do not attempt... " bit is our company name.

    I can post the script somewhere, so long as nobody laughs too much at the decidedly dodgy coding!! :)
  10. Robert Lundsten New Member

    Sounds interesting

    Hey gerardsweeney!

    The script sounds interesting. I would love to get a hold of it :)

    Thanks!
  11. gerardsweeney Member

    Hi, Robert..

    I have emailed you the au3 file. Try not to laugh too hard!! :)

    Gerard
  12. shotgn22 New Member

    I've now combined this into my jobs templates that I use.

    Now it locks the keyboard and mouse, reboots, displays this as the updates are taking place, unlocks the keyboard and mouse once finished, then reboots.

    Thanks for this.
  13. Setral Member

    I'd be interested in seeing this script or a similar one. Would make it easier in the few cases where we reimage a PC at the desk so the user knows when the PC is available.
  14. d0csys New Member

    How are you guys locking the keyboard/mouse while at the CTRL+ALT+DEL screen?

    thanks
  15. gerardsweeney Member

    I've not tried it, but it appears that the edited MSGINA file is configured to ignore the CTRL ATL DEL input.

    You then substitute the registry back to using the correct MSGINA.DLL file once it has completed.


    Cheers,
    Gerard
  16. shotgn22 New Member

    Yes, I have an MSGINA file I edited and renamed. I just have that copied over to the machine and then point the registry to that file when I want to change the CTRL-ALT-DEL lingo to "Configuring Computer." Then after all the changes are done, switch it back to the original.

    Here is for the keyboard and mouse.

    All you have to do is disable the kbdclass and mouclass services in the registry. Here is the code I use to do that


    CODE
    REM Disable Keyboard and Mouse
    SET SERVICES=HKLM\SYSTEM\CurrentControlSet\Services
    REG ADD %SERVICES%\kbdclass /v Start /t REG_DWORD /d 4 /f
    REG ADD %SERVICES%\mouclass /v Start /t REG_DWORD /d 4 /f


    and to reenable them


    CODE
    SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
    ECHO Setup Registry Key to unlock mouse after installs are done
    REG ADD %KEY%\996 /VE /D "Unlocking Mouse" /f
    REG ADD %KEY%\996 /V 1 /D "REG ADD HKLM\SYSTEM\CurrentControlSet\Services\mouclass /v Start /t REG_DWORD /d 1 /f" /f

    ECHO Setup Registry Key to unlock keyboard after software installs are done
    REG ADD %KEY%\997 /VE /D "Unlocking Keyboard" /f
    REG ADD %KEY%\997 /V 1 /D "REG ADD HKLM\SYSTEM\CurrentControlSet\Services\kbdclass /v Start /t REG_DWORD /d 1 /f" /f
  17. d0csys New Member

    shotgn22,

    Thanks for that code i am going to make good use of it.

    I am having an issue though.

    I am attempting to do the following.

    1. copy a new msgina.dll to c:\msgina.dll (modified to my taste)

    2. I then ran the following script in WINPE as i want the new msgina.dll to load as soon as the imaged PC boots up and gets to configuring computer etc.

    Code:
    Reg load HKLM\TempHive c:\windows\system32\config\software
     
    Reg Add "HKLM\TempHive\Microsoft\Windows NT\CurrentVersion\Winlogon " /v GinaDLL /t REG_EXPAND_SZ /d "c:\msgina.dll" /f
     
    Reg unload HKLM\TempHive
    
    The weard part is that the value exists in the registry but the "new" msgina.dll does not work even after sebsequential reboots.

    If i import the following key into the registry however it works

    Code:
     
    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
    "GinaDLL"="C:\\msgina.dll"
     
    
    This is weard as it's in the registry.

    Anyone have the same problem?

    How are you guys doing it in WinPE?

    Thanks for the help in advanced.
  18. shotgn22 New Member

    Yes, the msgina.dll does not play well when trying to overwrite.

    I wound copying a file into my builds called msgina2.dll that was created with reshacker to configure the wording I wanted.

    The keyboard/mouse lock script would then run.

    Then I would change HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
    "GinaDLL"="C:\\msgina.dll" in the script to point to msgina2.dll prior to rebooting.

    Then just change it back when running the unlock script.
  19. d0csys New Member

    shotgn22,

    Thanks for the help.
    I think that maybe i wasn't clear.

    I have over 100 different images at 100 different locations.

    These .IMG files don't have this new msgina.dll file staged that i am attempting to load so what i would like to do is copy the modified msgina.dll to C:\msgina.dll using WINPE and then add the registry key into the image using WINPE so that the new msgina.dll is read as soon as Altiris boots the PC to perform the configuring computer task (right before it's controlable from the Altiris console and before any additional scripts are run)

    Doing this after communication is established with the Altiris Console after imaging would defeat its purpose in my environment.

    I just don't understand because i know that my modified msgina.dll file is a good working file as i've tested it by doing the process manually and using the command i mentioned above WINPE does indeed load the registry key into the registry.

    The key is there but for some odd reason is not being read properly....

    Advice is appreciated on how to get this to work.

    PS: I am not overwriting the existing non altered microsoft msgina.dll in C:\windows\system32. I am staging a modified copy under C:\

    Thanks guys
  20. d0csys New Member

    Modifying the code as follows solved my problem.

    Code:
    Reg LOAD HKLM\TempHive C:\Windows\System32\Config\software
     
    reg add "HKLM\temphive\microsoft\windows nt\currentversion\winlogon" /v GinaDLL /t REG_SZ  /d "C:\MSGINA.DLL" /f
     
    Reg UNLOAD HKLM\TempHive
    
    Thanks for the help

Share This Page