Close

October 23, 2013

Customizing the Windows 8.1 Start Screen? Don’t follow Microsoft’s guidance

WIndows81StartScreen

For enterprises, Windows 8.1 delivers the control around the Start Screen that should have been there in Windows 8.0, although I’m sure what they’ve delivered won’t appease everyone as there’s still no programmatic way to pin or unpin shortcuts from the Start Screen.

Windows 8.1 introduces a Group Policy method for distributing a Start Screen layout, but that’s a policy – i.e. it’s enforced and unless you’re a control freak, that approach only makes sense in specific cases (e.g. schools, kiosks etc.). Note that Start Screen control is only available in Windows 8.1 Enterprise and Windows RT 8.1, so you’re either paying SA or delivering the Surface RT/2 (or maybe even the Lumia 2520) to your users.

Microsoft have an article available on TechNet that describes a number of ways that you can configure the default Start Screen experience that will work for Windows 8/8.1, Window Server 2012 and Windows Server 2012 R2, but the choices are:

  1. Create a reference image and use the CopyProfile setting in unattend.xml to customise the default profile including the Start Screen
  2. Use the StartTiles setting in unattend.xml to specify a list of tiles to add to the Start Screen
  3. Use SysPrep to generate AppsFolderLayout.bin and then copy that to the default profile

Each one of those approaches looks tedious.

Fortunately, there’s a far easier way. Microsoft has added a couple of PowerShell cmdlets that provide for a way of getting your custom Start Screen layout into the default profile. These works for all edition of Windows 8.1 (even RT).

This approach is really about customising the default Start Screen experience (i.e. first logon). If you want control of the Start Screen (users receive the same screen every session) you will need Windows 8.1 Enterprise or Windows Server 2012 R2. You can use this method to customise a reference image, an unattended deployment using RTM media or even an existing Windows installation.

Here’s what you need to do at a high level:

  1. Deploy and/or log onto a machine that has the applications that you want to pin to the Start Screen
  2. Customise that Start Screen to your heart’s content
  3. Export the Start Screen configuration with Export-StartLayout
  4. Import the Start Screen configuration with Import-StartLayout

Exporting the Start Screen layout is simple, just ensure you export the configuration file in binary format, as Import-StartLayout won’t import XML files. Here’s the export command:

Which should look like this:

Export-StartLayout

The documentation for Import-StartLayout seems to indicate that this cmdlet only works against offline images (mounted with ImageX); however this isn’t the case – the cmdlet can be run against the current Windows installation.

That means that we can import a custom Start Screen layout during any type of deployment. For example, you could script the import of the customisation during an MDT or SCCM task sequence. The following command will import the customisation into the default profile of the local desktop. This will need to be run from an elevated command prompt.

Using MDT, this command runs as part of a script that customises the default profile. The process is ultimately pretty painless.

Windows8Default

Print Friendly
  • GaryS

    Works great, thanks!
    I had tried using the exported xml file for the Group Policy method (Win 8.1 Enterprise only), but that locks down the layout and prevents right-click runas, etc.. Users need to be able to customize.

  • Peter

    Any word on how to get the old start screen appearance settings back? The 8.1 Start Screen is frightfully ugly now, with all my ordinary programs pinned to the menu featuring seemingly random (and badly mismatched) background colors, and you can’t even choose the same colors for the background as before.

  • Pingback: Windows 8.1 Start Screen…The Ultimate Admin guide | Deployment pros()

  • Fletcher

    Is there a similar way to customize the entire default profile?
    I’m making an image for a lab and with windows 8 I used sysprep to make the start screen, desktop, browser settings, app settings, everything was copied with copy profile. I took one of the computers down from the lab to update to 8.1, but have crashed it twice trying to sysprep it the exact same way I did 3 months ago with 8. I much prefer 8.1 and want to move it into the whole lab, but I am getting frustrated. For our windows 7 labs we use windows enabler and copy to the default that way.
    any Ideas?

    • I use a REG LOAD command to load the default profile and modify the registry directly with REG ADD commands. A simpler approach, but you’ll need to know the registry locations to modify.

  • yannara

    The export command as you posted, does not work as is.

    • yannara

      I meant, it does not work in Task Sequence. What is the functional powershell command behind system32, if running as admin?

      • I’ve been running the command from a batch file (i.e. defined as an application) without issue. The command should not be any different; however running it as a command directly from a task sequence may not set the right working directory; therefore .CustomStartScreenLayout.bin may need to be changed to a full path.

        • IT

          Can I please know how you have managed to do this as I did a batch file and ran it as an application in MDT and it’s failing. If i run the batchfile on the desktop, it needs the command prompt to be in an elevated Administrator mode which I’m guessing is the same as running it as an application in MDT

          • Do you have any Group Policy configurations that would be changing the UAC settings for the local administrator account?

            The local Administrator should silently elevate (i.e. no UAC prompt). MDT requires this to run scripts after Windows has been deployed.

            Test on a machine that is excluded from any GPOs.

          • IT

            Thanks for the reply Aaron. Thanks as well for pointing me to the right direction. I blocked inheritance in the OU that the PC was joining into so no GPO’s would apply and it still enabled UAC for Administrator. Upon further digging, it looks like LTICleanup.wsp had a command to enable it at the last stage of the deployment but it still shouldn’t affect the application being deployed as that would have happened before LTICleanup.wsp ran. The error that I’m receiving is “”. Can I know what working directory you had set in the MDT Applications that you created? Is it .Applications or did you use the local %systemdrive%? (Sorry just realised I forgot to mention that this was for the import powershell command in a batch file that you wrote about in your article).

          • The working directory is the default directory that you’ll get when importing an application with source file into the MDT workbench. So in my case, that happens to be ‘.ApplicationsScript Set Win8 Default Profile’

  • Farzan

    Works like a charm mate! . Thanks. I was searching such stuff for days 🙂

  • Alex

    Hi,

    I am trying to implement this and I am getting the error:

    Import-StartLayout: could not find a part of the path then a path to something called appsFolderLayout.bin

    Any suggestions?

    • alex

      I fixed this issue, the customlayout.bin gets copied over, however, the start menu isn’t changed on reboot, or logout/login on win8.1. Any ideas?

      • Thomas

        I think you’re changing the default userprofile – so you should be able to see the changes, when a new user logs on

  • coastalcruiser

    Mr. Parker said: “I use a REG LOAD command to load the default profile and modify the
    registry directly with REG ADD commands. A simpler approach, but you’ll
    need to know the registry locations to modify.”

    How about a step-by-step post on this, or at least a list of the reg locations? Seriously, I would write you a check for this! I’ve been scouting for days seeking a [relatively] simple procedure to copy an entire user profile to the Default User in WIN8.1, and not finding anyone who’s invented the wheel.

    [email protected]

  • Pingback: A Better Way to Customize the Windows Default Profile | Aaron Parker()

  • Meeb

    Hi,

    thanks for the guide but I am having trouble getting this working.

    I customised the administrators profile in Sysprep audit mode and then used an answer file to copy the administrators profile to the default profile when performing Sysprep OOBE. This created the custom default profile fine except for the Start Menu which I am trying to add to the custom Default Profile.

    To perform your steps I enabled the administrator account, logged in as it and customised the Start Menu. While still logged in as administrator I then copied your first export command (Export-StartLayout….) into the Powershell client and it exported the profile.

    I then copied your second import command (POWERSHELL -NonInteractive…) into the Command Prompt (not Powershell as Powershell did not recognise the %SystemDrive% variable). It took 5-10 seconds and the command seemed to complete.

    I then logged out and in as a new use which had not logged on before and did not have a profile. The new user gets the custom default profile but still has a Start Screen with no customisations.

    Can you provide any tips as to what I am doing wrong?

    Thanks

  • Pingback: Enterprise and not Pro. Start Screens.()

  • Pingback: MDT Windows 8.1 image deployment customization - Tech Thoughts()

  • Pingback: Windows 8.1 Upgrade()

  • Kya

    Amazing. Thanks for your explaination on this subject! 🙂

  • Graham howe

    Thank you for the article. I would like to know within the Start screen arena, if I can edit the top left ‘Start’ title? I need to edit the screen to include a clients logo. ta

    • Hi Graham, I’ve not tried. It is possible to force a bitmap for the user picture via Group Policy.

  • Pingback: The Complete Guide to Preparing a Windows 8 Deployment Image using Audit Mode and Sysprep with an unattend.xml Answer File()

  • wjbeckett

    Thanks for this. Got it working perfectly.
    However, is there a way to allow users to still pin items to the start screen if they choose? I only want to set the default template as a guide and let our users pin additional apps to the start screen.

    Anyone figure out how to do this?

    Thanks.

    • I’m not sure what you mean. The article lays out how to create the defaults – after first logon users should be able to set what ever their preferences are.

      • wjbeckett

        Hmm. Must be something wrong with my image then. Users aren’t able to customize the start screen at all.

        Thanks anyway for the reply!

        • You don’t have any Group Policy in place that might be overwriting user preferences? Is this on a single machine or when users roaming between computers?

          • wjbeckett

            The only local policy I have set is to prevent users changing the start screen background. Not sure if that is causing the issues?

            Seems to happen only on specific machine that this image is applied to.

          • wjbeckett

            Found the problem.

            the appsFolder.itemdata-ms file is what’s causing the issues of not being able to manipulate the start screen.

            Somehow the read only attribute had been applied.
            Once I removed that Read Only attribute all was ok.

  • Pingback: Start menu group policy()

  • Ketil Klepsvik

    Excellent sollution! Do you know how to also bring IE-shortcuts (.lnk or pinned site shortcut) over to default user? They always disappear in the process…

  • PSprake

    Hi, this works great for new users who do not have a roaming profile. However it does not work for users with an existing roaming profile as the changes are made to the ‘Default User’ profile which existing users won’t be affected by. Do you know a way to tweak it so that existing users can also be updated. I am thinking of our existing Windows 7 users who have never used Windows 8 before, therefore I would like to customise their start screen.

  • sarra

    Unfortunately, it did not work with me. I got always the default profile with every new user 🙁 using Citrix XenDesktop 7.5 upm and folder Redirection on shared Server OS Windows Server 2012 R2. Can you please help?