The CPI source is basically only needed when the answer file is edited in Windows System Image Manager. It should be either the install.wim file of the same Windows version, edition and bit architecture than the image we are working with, or a so called catalog file created from such install.wim file.
It is safe to remove the <cpi> tags (cpi source location and Windows SKU) from an answer file. I have left it intentionally to all answer file samples in my sysprep related tutorials; for the first, it does no harm being there, and for the second in rare occasions it has helped to assist an OP to edit the answer file later on in SIM.
An example. Here's a simple answer file to relocate the main profile folder Users to drive E:, containing the <cpi> tags:
Code:
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<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">
<FolderLocations>
<ProfilesDirectory>E:\Users</ProfilesDirectory>
</FolderLocations>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:X:\sources\install.wim#Windows 10 PRO" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
The same answer file with the <cpi> tags removed does exactly the same thing:
Code:
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<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">
<FolderLocations>
<ProfilesDirectory>E:\Users</ProfilesDirectory>
</FolderLocations>
</component>
</settings>
</unattend>
Kari