The Registry File

%3CLINGO-SUB%20id%3D%22lingo-sub-234800%22%20slang%3D%22en-US%22%3EThe%20Registry%20File%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-234800%22%20slang%3D%22en-US%22%3E%3CP%3EI%20have%20used%20the%20MSIX%20Packaging%20Tool%20to%20generate%20a%20MSIX%20file.%20When%20I%20am%20exploring%20it%2C%20I%20found%20there%20are%20two%20more%20.dat%20files%20compare%20to%20the%20APPX%20package.%20Are%20there%20any%20docs%20avaible%20now%20to%20explain%20the%20detail%20of%20those%20two%20files.%20And%20is%20there%20any%20way%20we%20could%20generate%20those%20.dat%20manully%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThanks%2C%3C%2FP%3E%3CP%3EChunyang%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-235999%22%20slang%3D%22en-US%22%3ERe%3A%20The%20Registry%20File%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-235999%22%20slang%3D%22en-US%22%3EWhile%20someone%20from%20MS%20should%20give%20a%20%22correct%22%20answer%2C%20here's%20what%20we%20think%20we%20know.%3CBR%20%2F%3E%3CBR%20%2F%3EThe%20DAT%20files%20are%20standard%20registry%20format.%20Meaning%20that%20you%20can%20go%20into%20the%20regedit%2C%20create%20a%20blank%20key%2C%20and%20import%20the%20dat%20file%20onto%20that%20key.%20Or%20possibly%20use%20other%20tools%20that%20understand%20the%20format.%3CBR%20%2F%3E%3CBR%20%2F%3EValues%20in%20REG_SZ%20types%20that%20look%20like%20file%20paths%20are%20subject%20to%20variablization.%20In%20other%20words%2C%20if%20the%20app%20wanted%20%22c%3A%5CProgram%20Files%20(x86)%22%20this%20might%20appear%20as%20ProgramFilesX86.%3CBR%20%2F%3E%3CBR%20%2F%3EIn%20the%20case%20of%20App-V%20use%20of%20these%20same%20dat%20files%2C%20value%20types%20(when%20in%20binary%20form)%20might%20have%20high%20order%20bits%20set%20to%20indicate%20things%20not%20normally%20considered%20in%20the%20registry%20(for%20hiding%20when%20layering%20and%20deletion%20markers).%20I%20don't%20think%20MSIX%20uses%20or%20sets%20these%20high%20order%20bits%2C%20at%20least%20at%20this%20time.%3CBR%20%2F%3E%3CBR%20%2F%3EUser.dat%20contains%20the%20user%20hive%20changes%2C%20excluding%20the%20Software%5CClasses%20key%20which%20is%20in%20the%20UserClasses.dat.%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E
New Contributor

I have used the MSIX Packaging Tool to generate a MSIX file. When I am exploring it, I found there are two more .dat files compare to the APPX package. Are there any docs avaible now to explain the detail of those two files. And is there any way we could generate those .dat manully?

 

Thanks,

Chunyang

1 Reply
While someone from MS should give a "correct" answer, here's what we think we know.

The DAT files are standard registry format. Meaning that you can go into the regedit, create a blank key, and import the dat file onto that key. Or possibly use other tools that understand the format.

Values in REG_SZ types that look like file paths are subject to variablization. In other words, if the app wanted "c:\Program Files (x86)" this might appear as ProgramFilesX86.

In the case of App-V use of these same dat files, value types (when in binary form) might have high order bits set to indicate things not normally considered in the registry (for hiding when layering and deletion markers). I don't think MSIX uses or sets these high order bits, at least at this time.

User.dat contains the user hive changes, excluding the Software\Classes key which is in the UserClasses.dat.