SOLVED

MSIX Packaging Tool and Registry User.Dat and UserClasses.Dat files

MVP

When using the Microsoft MSIX Packaging Tool to perform a capture, if no modifications are captured to the current user's Software/Classes key, the captured files include only a Registry.Dat file, and the User.Dat AND UserClasses.Dat files are not present.  I am using version 2020.709 but believe that this capture form is not necessarily new in this version.

 

I believe that this is causing issues when testing the package, causing the app to not see all registry settings located in the Registry.Dat file.  Tests are currently being run on Windows 10 2004 (build 19041.450) with August 2020 updates (KB4566782 and KB456945 and KB4570334).

 

Initially, I thought the problem was only with HKLM keys, but I now believe there may be issues with HKCU keys also. 

 

You can contact me for two (mostly) identical packages to show the problem.

 

(There may also be an unrelated issue with HKLM\System registry items not being seen while HKLM\Software is seen.  I am continuing to investigate that as a potential second issue that may be unrelated to the capture form.)

3 Replies

@TIMOTHY MANGAN 

My modification packages created on Windows 10 2004 (with changed HKCU content) do not contain User.Dat AND UserClasses.Dat.

They do not work.

On 1909 it was still working (User.Dat AND UserClasses.Dat were created and are in the modification package)

@dilorenzo   I'm adding @ShakersMSFT  reference to this to bring it to attention.

 

If you are correct in your supposition, you could try the following. 

 

I have noticed that the User.Dat and UserClasses.Dat files are not generated in the package in later versions of the Microsoft MXIX Packaging Tool unless the capture ingredients include at least one entry under HKCU\Software\Classes (even if there are other HKCU based entries).  So I have been adding a "HKCU\Software\Classes\NonExistent" reg key into the packages.  I can't remember what I noticed not working, but this solved that problem for me and perhaps it is what you need.

 

FYI: The user.dat file appears to contain the complete application hive and these two extra files appear to contain a copy of subsets.  I am unsure of their use, but it would seem that portions of the system that only require a subset can use these for expediency.  

best response confirmed by TIMOTHY MANGAN (MVP)
Solution

@TIMOTHY MANGAN 

 

Thank you for reporting this. In the future, the MSIX Packaging Tool will ensure User.dat gets created even if there are no changes to HKCU\Software\Classes.

 

In the meantime, as you said, you can create an extra registry key under HKCU\Software\Classes to ensure User.dat is created.

1 best response

Accepted Solutions
best response confirmed by TIMOTHY MANGAN (MVP)
Solution

@TIMOTHY MANGAN 

 

Thank you for reporting this. In the future, the MSIX Packaging Tool will ensure User.dat gets created even if there are no changes to HKCU\Software\Classes.

 

In the meantime, as you said, you can create an extra registry key under HKCU\Software\Classes to ensure User.dat is created.

View solution in original post