Windows 8

Apr 13, 2013 at 2:16 PM
Very good job. However are you going to make LSL work on Windows 8 too?
I tried to install as in Win 7 but here's the result during the service installation: System.Security.SecurityException
The InstallUtil rolls back the changes after telling that error.
Apr 16, 2013 at 12:37 PM

I was able to install the latest version of LSL on a clean Windows 8 machine (after installing .NET Framework 3.5). The service is installed and running, and I can see from the logs that my sample application is being executed on the logon screen. This part at least seems to be working.


I can't actually see the sample application at he logon screen. I just see a blue shadow where I would expect to see the application itself. This tells me that the the app is there, although the new Windows 8 logon screen must be doing something to block any other UI's.

There might be a way around this, by maybe disabling the new logon screen using GPO, although I haven't got time at the moment to play around with this. I would be interested if some of the vendors that also pump their applications into the logon screen, like Citrix, are able to still do this on Windows 8.
Apr 16, 2013 at 12:41 PM
I have also updated the installation steps on the front page with some additional steps that may fix your installation problems. You may need to "Unblock" the ZIP file before extracting it.
Feb 13, 2014 at 1:34 PM

First of all, thanks for this great Job. I need Logon Screen Launcher to Display some Information to the user on a staging process.
I found a Workaround for the blue shadow window effect under Windows 8.x.

1: Create a normal Windows Form or WPF Application. (There is no need to attach the process like in the orignial sample application)

2: Create a Console application like this. And then change the output-type to Windows Application (Hidden run of the console app).
namespace ConsoleApplication1
    class Program
        static void Main(string[] args)
            ProcessStartInfo psi = new ProcessStartInfo(@"C:\temp\YourApplication.exe");
            Process proc = new Process();
            proc.StartInfo = psi;
3: On the LogonApps.xml create an entry with your console applicaion.
4: Now yo'll see your app in the front of you.

Hope this helps

Feb 13, 2014 at 2:25 PM

I took a look at your code, but it still didn't help me launch the "Sample Application.exe" included with this project. I was able to launch Notepad though, and then tried launching directly from LSL rather than using a wrapper application. It worked - which tells me that it must be something wrong the code inside "Sample Application.exe", not LSL itself.

I created a brand new WinForm application, and low and behold - it launches fine from LSL. I then copied some of the code from the "Sample Application.exe" into it, and it stopped working.

It's the following code, which attemtps to bring the app to the foreground without stealing focus, that is causing the grey box issue:
    void AttachToLogonUi(IntPtr childHwndf)
        _hWndNewParent = FindWindow("AUTHUI.DLL: LogonUI Logon Window", null);
        SetParent(childHwndf, _hWndNewParent);
There's more than one way to skin this cat though, so I'll look into a better way of bringing an app to the foreground without stealing focus.

Thanks for you help with this. I wouldn't have got this far without your suggestions.
Feb 13, 2014 at 3:15 PM

You're right.

This is really weird, if you open a new form or show a message box from "Sample Application" then the "child" forms or message box are shown correct.
I try to build a better workaround relating to this behavior.

Feb 14, 2014 at 6:50 AM

Finaly I found a proper solution for me on this post on stackoverflow:

Feb 17, 2014 at 7:42 PM

Thanks for this.

It looks as though this will also steal focus, which isn't exactly what I want.

I have some code that I'm pretty sure will work, so I'll try an get it posted by the end of the week.