sysgrep and CopyProfile=true not actually copying profile or seems to be doing anything in Windows 8.1
This has been solved finally. The issue is simply a matter of case-sensitivity. I formatted the xml document using Visual Studio to get proper indentation, and didn't notice that it changed say from <CopyProfile>
to <copyprofile>
. I then updated the case as per another sample file, and it worked. The working unattend.xml
is copied below:
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.micro...fig/2002/State" xmlns:xsi="http://www.w3.org/20...hema-instance">
<CopyProfile>true</CopyProfile>
<DoNotCleanTaskBar>true</DoNotCleanTaskBar>
<RegisteredOrganization>XXXXXXXXX</RegisteredOrganization>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.micro...fig/2002/State" xmlns:xsi="http://www.w3.org/20...hema-instance">
<CopyProfile>true</CopyProfile>
<DoNotCleanTaskBar>true</DoNotCleanTaskBar>
<RegisteredOrganization>XXXXXXXXX</RegisteredOrganization>
</component>
</settings>
<settings pass="windowsPE">
<component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.micro...fig/2002/State" xmlns:xsi="http://www.w3.org/20...hema-instance">
<UseConfigurationSet>true</UseConfigurationSet>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:c:/users/tech/desktop/install.wim#Windows 8 Pro" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
Please note that the offlineImage
does not actually need to match an actual file it seems. I don't know exactly why this is needed.
Karl Cassar
Updated on September 18, 2022Comments
-
Karl Cassar over 1 year
I've been trying loads of times to build a reference windows-installation on a PC, with user customizations and installed software, and then deploy it on another PC, with different hardware. This task has proved much, much more tedious and problematic than I ever wanted.
I've been using
sysgrep
to prepare the reference computer to be installed on the new computer. This 'works', but this seems to remove all user profiles and creates a new one. Any user customizations likeUserData
folder, task bar settings, etc are all lost. I would like to keep these as well. I did manage though to get the new computer up and running with the reference computer windows image, and with installed software. However, all software which store settings inUserData
, which is basically most of them need to be reconfigured. For example, I installed Mozilla Firefox and set a custom homepage to test, and after sysgrep this data is lost asUserData
folder is re-created. I've used anunattend.xml
file and the/unattend
setting in sysgrep, but it doesn't seem to work. However, the unattend.xml profile is being read definitely, because at first I had some incorrect properties in XML and it was giving an error.Below, are the steps I've tried, maybe anybody can help because I'm really lost:
- First, I installed a fresh Windows 8.1 installation on a reference computer. I booted in
Audit
mode by usingCTRL + SHIFT + F3
, as specified in http://technet.microsoft.com/en-us/library/hh825135.aspx. This is because it says that you need to have only 1 administrator account forCopyProfile
to work. - For testing purposes, I did these customizations -- Set taskbar icons to small -- Install Mozilla Firefox and set custom homepage
- Ran sysgrep with the arguments
/generalize /oobe /unattend:c:\copyprofile.xml
(xml file copied below) - Restarted same computer, and got in the user customization (OOBE) process. Filled in the details, windows started - Firefox still installed but user data / task bar customisations lost. Custom homepage setting removed, and firefox reset to default settings.
copyprofile.xml
<?xml version="1.0" ?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="windowsPE"> <component language="neutral" name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <computername>Win8Test</computername> <timezone>Eastern Standard Time</timezone> <copyprofile>true</copyprofile> <disableautodaylighttimeset>false</disableautodaylighttimeset> <donotcleantaskbar>true</donotcleantaskbar> <showwindowslive>false</showwindowslive> </component> </settings> </unattend>
I would appreciate any kind of help in getting this to work.
- First, I installed a fresh Windows 8.1 installation on a reference computer. I booted in