One of the major things that bugs me about HTPCs is that, well, they feel like PCs. Ever had to pull out the keyboard and mouse after something crashed? Ever had a rogue application pop-up steal focus from your frontend? Do you just want your HTPC to feel like an appliance like your cable box or Xbox 360?
I for one would like my HTPC to feel as appliance-like as possible. OpenELEC, which is a linux based system using XBMC does just that, and it’s fantastic. However, Plex has pulled me back in with the upcoming Plex Home Theater front end. Unfortunately, there is no OpenELEC-like solution for Plex (Update: Not true anymore
, although it's unofficial and a work in progress). So how do I get Plex HT on Windows to behave like OpenELEC?
It turns out I already had a copy of an interesting application called AlwaysUp
. In conjunction with Instant Sheller
, I’ve turned my Plex HT-based HTPC into a very reliable appliance.
Disclosure: There are probably many ways to accomplish this, including some that are free. AlwaysUp in $50. I think, though, after you see what AlwaysUp can do, you might find it worth it. Thankfully it has a free trial so you can test it for free.
I’ve done this on a completely clean Windows 7 64-bit installation. I’m not sure if all this will work on Windows 8 or older versions of Windows. Also, Instant Sheller can completely break your system, so you must back everything up first!Always Up
Alright, let’s start! First, download and install AlwaysUp
Open it and press the gear button with the plus icon.
You’ll be presented with this screen. Pick a name for your application, and then browse to the frontend exe. I’m using Plex HT, but you should be able to use WMC, XBMC, JRiver, etc. I also encourage you to look at all the options in these tabs as you might find them useful depending on your setup. For instance, you can add arguments here for the application’s launch.
On this tab, you should check the box at the top and enter your Windows login credentials (I left this blank the first time but later ran into some issues. If left blank, Plex HT and XBMC can't access their respective userdata folders).
The default on this tab set the application to relaunch if it stops. This is extremely useful if your frontend crashes or if someone in the house inadvertently closes it. It will immediately reopen it (much like OpenELEC does with XBMC).
There are some interesting options here. I have it set to automatically close Plex HT if it hangs for a minute.
You can have AlwaysUp notify you via email if something goes sour or for other reasons.
Very useful options here. Some applications (*cough* JRiver *cough*) can experience issues if they launch too soon at startup before your network connection has been established. There’s a specific option here for that, as well as a startup delay and even an option to ensure that certain services have started.
You can have scripts and executables run when your frontend starts.
Also some interesting options here. The option to dismiss crash windows is great because you generally don’t want this in an HTPC environment. You just want the application to stop and then restart. I also have it set to start Plex maximized and keep it on top of other applications. This may or may not be necessary, but it doesn’t hurt. As I understand it the “on top” feature was removed from WMC in Windows 8, so it’s nice to have the option here.
Okay you’re done! Press “Save.”
Now, it’s possible you have other applications that need to run when your HTPC starts. For instance I needed an AutoHotKey script to run. Go ahead and add these applications to AlwaysUp like you did your frontend. AlwaysUp gave me a warning because it didn’t recognize AutoHotKey’s “ahk” extension, but it worked fine anyway.
Also, since we’re going to be launching all of our necessary programs using AlwaysUp, we want to ensure that they aren’t being launched at startup by other means. Make sure your startup folder in the Windows start menu is empty. Then open msconfig (type “Run” into the Windows start menu, open it, and then type “msconfig”), and you’ll see what programs Windows has set to run at startup. You’ll want to disable them, unless of course you don’t want them to startup using AlwaysUp.
IMPORTANT: For some reason, I’ve encountered that some programs have issues launching from AlwaysUp the normal way, Plex HT and AutoHotKey included. Fortunately, there was a simple solution
At this point go ahead and restart your computer to make sure everything launches appropriately.Instant Sheller
This application essentially removes all of what makes Windows the OS you recognize, including the task bar, wallpaper, splash screen, cursor, etc. What you’re left with is your HTPC front end and nothing else. I’ve definitely suffered from the task bar randomly appearing in front of WMC before. No more of that!
IMPORTANT: Instant Sheller makes SERIOUS changes to your system. Everything should be reversible, but myself and others have encountered issues before. Make sure to BACK UP your system! More info on Instant Sheller here
Download and unzip Instant Sheller
to whatever location you like. Now, there’s a trick here. Instant Sheller forces you to select an .exe to launch at startup, but we’re already using AlwaysUp to launch our frontend. What you can do is create a dummy EXE. To do this create a new file in notepad. Then save it as dummy.exe (be sure to select “All Files” next to “Save as type” in the Save As menu).
Now, open the Instant Sheller folder you unzipped, and right-click the InstantSheller.exe. Select “Run as administrator”. Now, browse to your dummy.exe file. It’s worth looking at the options here. I recommend unchecking “Replace Cursors with Dots (including login)”, mainly because the dot is very hard to find on your screen if you need to make changes to your system. Once you know you’re done making changes, then you can disable the cursor if you want. Click “I am ready, Do it!”, and you’re done! Windows should restart and you should be greeted with your frontend. No Windows startup logo, task bar, wallpaper, or anything else to interfere with your HTPC experience.
If you ever need to undo the Instant Sheller changes, press control+alt+delete to bring up the Windows task manager. Then go to “File -> “Run new task”. Then type in “explorer” or “explorer.exe”. Navigate to the InstantSheller.exe again and open it (again you need to “Run as administrator”), and there should be an option to undo the changes. Realize you don’t have to undo Instant Sheller just to make changes to your system. If you needed to open AlwaysUp again for instance, you could just open it using the task manager like you did Explorer. Another example: you can just type in “control panel” and the Windows control panel will open.
One last tip: if you’ve ever had to force shut-off your HTPC before, you might have been annoyed by the 30 second wait time in the Windows recovery boot screen. This can be changed in Control Panel -> System and Security -> System -> Advanced System Settings. Go to the Advanced tab and click “Settings” under “Startup and Recovery”. There you can adjust the “Time to display recovery options when needed”. I changed mine to 5 seconds.
That’s it! Hopefully now your HTPC feels much more appliance-like (with increased WAF!).
Again, this is just one way to do this. There are other methods to change the Windows shell and probably other ways to do what AlwaysUp does. I like both though because they are easy to use and have a lot of useful options to choose from.