[Mono-dev] Mono Registry Clasese and libhivex

AJ ajoshi at optonline.net
Mon Dec 9 19:49:44 UTC 2013


In the process of trying a substantial Window web application I ran into
issues using the registry. The application makes liberal use of the registry
from libraries where I do not have all the code. Unfortunately the library
also uses the registry path names without any consistency for the case (e.g.
\AppName and then \APPNAME\CACHE and then \appname\server etc.). This causes
a lot of grief when using the UnixRegistryApi implementation since it uses
linux paths and files etc. even with the turn case off option.

There is a library hivex (part of the libgguestfs http://libguestfs.org/)
that reads and does simple manipulation of registry binary files. I could
use it to import an exported app portion of the registry (.reg file). and
then read the file on Ubuntu. It seems to work well on Ubuntu and handles
stuff such as case insensitivity at the right spots etc. I have managed to
make it work to read and display the simple registry from Mono using a C#
DLL import classes.

Don't know if anyone else is already working using this instead of the
UnixRegistryApi or might be interested in collaborating. Would be willing to
contribute the code back to the Mono project to use if the developers there
are interested.



View this message in context: http://mono.1490590.n4.nabble.com/Mono-Registry-Clasese-and-libhivex-tp4661492.html
Sent from the Mono - Dev mailing list archive at Nabble.com.

More information about the Mono-devel-list mailing list