Windows 8.1 Assigned access for Domain Users

Note: This article was originally published on an old version of my blog back in November 2014. I have reposted it here as back then a couple of people contacted me seeking further infomration as I never got around to adding screenshots. Well here it is again with them included.


I have recently been developing a Windows 8.1 application to be used in Kiosk Mode or Assigned Access Mode.

As this was to be run on a domain joined workstation and to auto login with a generic domain account I looked into whether the app could be run as a Custom User Interface set via Group Policy.

Sadly this wasn't possible as you cannot run a Windows 8.1 app directly as it isn't a win32 application.

I then tried to see that if I set a protocol in the application package manifest. This also turned out to be a non starter as even though the protcol worked a treat when logged into windows normally it could be run as a Custom User Interface directly or if launched by using cmd start (which again works if logged in normally to windows).

It was now time to try and see how Assigned Access works, so i installed the app under a local user account and logged out. Then under my administrator account I set this local account up for assigned access.

While I did this I had Process Monitor running so i could see exactly what was being changed registry and file wise for Assigned Access.

It appears that it changes settings for Windows Embedded registry entries and also create some files under the Windows -> Embedded directory.

fig 1. Process Monitor


These entries relate to the SID of the local account....interesting.

I gathered the sid of the generic domain account we want the application to run as from the profilelist in the registry and then changed the directory name and the registry entry which had the local user accountSID .

fig 2. Directory Name

fig 3. Registry Entry

So, with my fingers crossed I logged into the machine with the generic domain acocunt and hey presto, my windows 8.1 application launched as an Assigned Access App/Kiosk Mode.

Now although this worked for me in this instance I have not tried it on a fresh machine where I haven't done any other tinkering, I think that will be my job for tomorrow to put this little hack to the test.

I hope this helps some of you out who I have seen posting in forums etc asking how this could be done as Microsoft state that it isn't possible.

Give it a go and let me know how you get on.

BlogEngine.NET Migration from XML to SQL

After initally setting up my instance of BlogEngine.NET and creating a few posts etc I decided I wanted to use SQL instead.

Doing a few google searches resulted in finding this post http://nyveldt.com/blog/page/BlogEngineNET-Provider-Migration  . I followed the instructions and completed the migration with all the information I was expecting from this tool now in my database.

However, I had to run this on all Blogs residing in BlogEngine.NET and it did not migrate files I had uploaded. Therefore i decided to start writing a tool in C# which would hopefully do a complete migration. I am only in the very early stages of writing this please stay tuned for more information.

Update 11/10/2015 00:13: Have just been messing around with the front end so far and the controls it will use. This is what i have so far:

Here is the main front end where you can enter your IIS Web site location, server path and the provider from and to selections. The IIS Server details uses to FolderDialog control and the SQL Sever details uses the Microsoft.Data.ConnectionUI.Dialog. More to follow.


Keith


WMI Repository Fix

WMI seems to be used quite widely in the C# community whether it be for retrieving computer hardware information, running proccess. There is a huge list of information that you can query.

Recently I have been working on a client service which gathers computer information and enters it into a SQL database. However after rolling this client out onto a pilot group of machines i found that not all of them were reporting any information.

It looked to me as if the WMI repository on these machines was corrupt. There seem to be a few fixes (details below) out there and I have tried them without a consistent result.

So what do I do? The answer if possible is to try and write my own C# class to fix wmi and include it in the client service which unpon start will check if WMI is responding and if not will try and fix it. So far i have tried wrapping some of these other fixes within a C# class but again was getting inconsist results (i.e. After running one of these fixes on a machine WMI started to respond to some queries but not all).

I will endevour to find a solution to this issue and when i have come up with something concrete I will add an update here or in another post..

Keith


Useful Links

I have collected a huge amount of boomarks which i have found useful over the years and have decided to include some link lists which you will find on the right hand side of this blog.

There are only a few at this time but I will be adding to them frequently and I hope you find them as useful as I have.

Keith


Welcome to Keith-Pearce.co.uk

Hello and welcome.

I have decided to set up an Instance of BlogEngine.Net to enable myself to get the ball rolling for my personal website. Over the past couple of years there have been various version of this site firstly developed in php and the last iteration in asp.net mvc.

I have put the development of the asp.net ,vc site on hold for now as i just wasn't finding the time in between work commitments to do any coding. I will still continue to work on this project and will use this blog in the meantime to give updates etc.

The new site when it is finished will include information about projects that I am currently working on in work and personally, and also hope to include a knowledge base of code snippets and useful information i have discovered or found during my work or research.

So keep coming back and with any luck you will find this site useful.

Keith