Need help with Windows 10 v1809 Start Menu and Taskbar
For Windows 10 v1809, I have created the LayoutModification.xml to include the Start Menu of pinned applications and the taskbar using the Microsoft websites listed below. After SysPrepping the reference VM, I captured the VM and imaged a machine with it. The layout for the Start Menu and the Taskbar are not what was set. Even our local administrator account's Start Menu layout and taskbar aren't correct. Instead of a layout of two groups of Internet Browsers and Services groups of website links int eh Start Menu, I get three groups of Create, Explore, and Play, several download icons and Microsoft Edge. For the Taskbar, I get Edge and File Explorer. What I want in the Taskbar is File Explorer, Firefox, Chrome, VLC.
I have tried:
1. Importing the LayoutModification.xml before SysPrepping.
2. Importing the LayoutModification.xml in a Mid-Level Task.
3. Importing the LayoutModification.xml in a Post Install Task.
4. Setting up the app links in the SysPrep Creator.
I am not pushing the Start Menu and Taskbar modification down per Group Policy because I want the user to be able to change the pinned apps and taskbar if they wish.
Any suggestions?
MS Docs Referenced for the Layout Modification:
https://docs.microsoft.com/en-us/windows/configuration/start-layout-xml-desktop
https://docs.microsoft.com/en-us/windows/configuration/customize-and-export-start-layout
https://docs.microsoft.com/en-us/windows/configuration/configure-windows-10-taskbar
LayoutModification.xml
<LayoutModificationTemplate
xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout"
Version="1">
<RequiredStartGroupsCollection>
<RequiredStartGroups>
<AppendGroup
Name="Internet Browsers">
<start:Tile
AppUserModelID="308046B0AF4A39CB"
Size="2x2"
Row="0"
Column="0"/>
<start:DesktopApplicationTile
DesktopApplicationID="Chrome"
Size="2x2"
Row="0"
Column="2"/>
<start:Tile
AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge"
Size="2x2"
Row="0"
Column="4"/>
</AppendGroup>
</RequiredStartGroups>
<RequiredStartGroups>
<AppendGroup
Name="AU Services">
<start:DesktopApplicationTile
DesktopApplicationID="https://login.myschoolbuilding.com/msb?acctNum=518865108"
Size="2x2"
Row="0"
Column="0"/>
<start:DesktopApplicationTile
DesktopApplicationID="https://kbox.it.ashland.edu/userui/advisory_library.php"
Size="2x2"
Row="0"
Column="2"/>
<start:DesktopApplicationTile
DesktopApplicationID="https://kbox.it.ashland.edu/userui/welcome.php"
Size="2x2"
Row="0"
Column="4"/>
</AppendGroup>
</RequiredStartGroups>
</RequiredStartGroupsCollection>
<CustomTaskbarLayoutCollection PinListPlacement="Replace">
<defaultlayout:TaskbarLayout>
<taskbar:TaskbarPinList>
<taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\File Explorer.lnk" />
<taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Firefox.lnk" />
<taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk" />
<taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\VideoLAN\VLC media player.lnk" />
</taskbar:TaskbarPinList>
</defaultlayout:TaskbarLayout>
</CustomTaskbarLayoutCollection>
</LayoutModificationTemplate>
Answers (4)
You can check out the blog I created on this, it's relatively straightforward. It also shows you how to replace the taskbar.
https://www.itninja.com/blog/view/import-startlayout-kace-sda
I copy the administrators profile to default when I sysprep so that will bring settings in the profile down. also you can pin 3 items to the task bar during sysprep
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<TaskbarLinks>
<Link0>%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Mozilla Firefox.lnk</Link0>
<Link1>%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk</Link1>
<Link2>%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\internet explorer.lnk</Link2>
</TaskbarLinks>
<DoNotCleanTaskBar>true</DoNotCleanTaskBar>
<CopyProfile>true</CopyProfile>
<ProductKey>NPPR9-FWDCX-D2C8J-H872K-2YT43</ProductKey>
<EnableStartMenu>true</EnableStartMenu>
<ComputerName>*</ComputerName>
</component>
Just prior to sysprep I run a powershell comand to create a file I reimport as a mid level task
Export-Startlayout -path c:\temp\layout.xml
and run this to export app assoc
Dism /Online /Export-DefaultAppAssociations:c:\temp\AppAssoc.xml
at the mid level
powershell task
Import-StartLayout -LayoutPath "c:\temp\Layout.xml" -MountPath "C:\"
batch task
dism /image:c:\ /Import-DefaultAppAssociations:c:\temp\AppAssoc.xml
exit /b 0
If you want to add other tiles to all users pinned tiles you can run this as a post script
start /wait reg load HKU\temphive c:\users\default\ntuser.dat
start /wait reg add "HKU\temphive\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v powerpin /d "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "C:\windows\w2d\pin.ps1"" /f
start /wait reg unload HKU\temphive
pin.ps1
(New-Object -ComObject shell.application).Namespace('C:\Program Files (x86)\Microsoft Office\Office16\').parsename('excel.exe').invokeverb('pintostartscreen')
(New-Object -ComObject shell.application).Namespace('C:\Program Files (x86)\Microsoft Office\Office16\').parsename('powerpnt.exe').invokeverb('pintostartscreen')
(New-Object -ComObject shell.application).Namespace('C:\Program Files (x86)\Microsoft Office\Office16\').parsename('winword.exe').invokeverb('pintostartscreen')
You can run the ps1 on a per user basis on existing machines to add tiles for them
Comments:
-
Thank you for the start menu and taskbar help as well as the file associations. I will work on this and get back to you. - AAnschutz 5 years ago
Are you placing the file in C:\Users\Default\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml? Is it still there after imaging? If you are copying a profile to the default user profile as part of sysprep, then you probably need to put the file back in place afterwards.
Comments:
-
If they are copying a profile could they place that file in the profile to be copied and it will go to default? - SMal.tmcc 5 years ago
-
That might work. We don't upload images anymore, it's all strictly scripted installs, so I haven't used the copy profile method since Windows 7. This is the kind of customization that we add as a post-install task. - chucksteel 5 years ago
-
I use a thin LTSC image to allow me to configure browsers and settings. I do not need to do anything with the menu or tiles they copy over with the profile so I only worry about app associations and adding tiles for my post office 2019 install. It does copy the local area with the copy profile so does hurt to try. - SMal.tmcc 5 years ago
From the different suggestions, I was able to get my Start Menu and taskbar working finally. I have it setup as a Post Install Task.
StartTaskLayout.xml
<?xml version="1.0" encoding="utf-8"?>
<LayoutModificationTemplate
xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout"
Version="1">
<LayoutOptions StartTileGroupCellWidth="6" StartTileGroupsColumnCount="1" />
<DefaultLayoutOverride>
<StartLayoutCollection>
<defaultlayout:StartLayout GroupCellWidth="6">
<start:Group Name="Explore">
<start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Firefox.lnk" />
<start:Tile Size="2x2" Column="4" Row="0" AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk" />
</start:Group>
<start:Group Name="Microsoft Office">
<start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\PowerPoint.lnk" />
<start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Excel.lnk" />
<start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Word.lnk" />
<start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Publisher.lnk" />
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\OneNote 2016.lnk" />
</start:Group>
<start:Group Name="AU Services">
<start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Facilities Work Order System.website" />
<start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\IT Service Ticket System.website" />
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\IT Knowledgebase Articles.website" />
<start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Display IP Address.lnk" />
</start:Group>
</defaultlayout:StartLayout>
</StartLayoutCollection>
</DefaultLayoutOverride>
<CustomTaskbarLayoutCollection PinListPlacement="Replace">
<defaultlayout:TaskbarLayout>
<taskbar:TaskbarPinList>
<taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\File Explorer.lnk" />
<taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Firefox.lnk" />
<taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk" />
<taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\VideoLAN\VLC media player.lnk" />
</taskbar:TaskbarPinList>
</defaultlayout:TaskbarLayout>
</CustomTaskbarLayoutCollection>
</LayoutModificationTemplate>
Import_StartTaskLayout.ps1
Import-StartLayout -LayoutPath "$PSScriptRoot\StartTaskLayout.xml" -MountPath C:\
Import_StartTaskLayout.bat
@ECHO OFF
PowerShell.exe -NoProfile -ExecutionPolicy Bypass -File "%~dp0import_StartTaskLayout.ps1"
I had to write the batch to call the PowerShell script because I kept getting a file not found with the PowerShell script by itself.
Details that helped me in the XML file:
Using the LayoutOptions StartTileGroupCellWidth="6" StartTileGroupsColumnCount="1" to get it to one column and 3 medium tiles across
Using CustomTaskbarLayoutCollection PinListPlacement="Replace" to clear out the taskbar items and replace them with our chosen ones.
Comments:
-
But the User cannot delete one of the symbols from the taskbar. If he does, after relogin the symbol is back in the taskbar! - bastardo 4 years ago