Sue
susa...@microsoft.com
_____________________________________________________________
This posting is provided "AS IS" with no warranties, and confers no rights.
_____________________________________________________________
Thanks, I'm glad you like the hive-based registry!
The "hive was created with a different ROM, discarding" message (& action)
can't be turned off. What's going on is that it detected a change to the
.reg file settings in your ROM. The registry hives are actually stored as a
delta from the settings in ROM. In other words, if you don't change
anything, your hive files will be small. The delta hives stored on your
device therefore refer to items in the ROM, so when your ROM changes all of
those references could be broken. That's why the detection & cleanup
mechanism was added. It was intended as an aid for device development, so
that you wouldn't have to go through the trouble of wiping your DOC every
time you tweak something in the image. You should find that if you don't
modify the .reg files at all, even if you change other things in your image,
it won't wipe the hive.
The intention of IOCTL_HAL_GET_HIVE_CLEAN_FLAG was to give you another way
to force a cleanup, not to prevent the cleanup on ROM-mismatch. For
example, you could use the IOCTL to set things up so that if you hold down a
particular button during boot, it forces a clean-boot. That is the
equivalent of a factory-reset I guess. Sorry for the confusion on that. I'
ll try to review the documentation of that IOCTL to make sure it's clearer
about that.
Oh, and sorry, I don't know how to make the RDP changes you asked about.
You can probably get some replies by breaking that out into a separate
newsgroup post.
Sue
-----Original Message-----
From: Matthew Kwiecinski
Sent: Monday, March 04, 2002 12:13 PM
To: Sue Dey
Subject: hive based registry
Hi Susan,
I'm a developer with Neoware Systems our main focus is the thin client
market.
Let me first say the Hive-Based registry rocks! Much better than our old
method
Only took a little tweaking to setup on the M-System DOC, but I do have a
question or two.
I probably should have posted this but...
The current platform we run is an X86 based Geode w/ M-System DOC as
persistent storage. I have a couple of questions.
1. If I need to "factory" reset the unit how would I go about this. the
Documentation on the IOCtl seems to just inform the kernel that the hive
will be cleaned.
2. During a software update the nk.bin is replaced and the current settings
flushed. On a reboot of the unit I would like the old settings i.e.
connections, screen resolutions to be preserved but I get the message
"Mounting clean system hive" is displayed and unit is set to the default.
The exact message is:
I added the IOCTL_HAL_GET_HIVE_CLEAN_FLAG to the oemioctl.c and am able to
catch the IOCTL when sent but can't prevent the FSREG from cleaning the
system hv. I haven't triedthis in a real world test just noticed the
behavior after I rebuild the image and download. If this email is rambling
it's because I've been adding to it as I tested.
I guess my two questions are how to force a clean and how two preserve the
registry across nk.bin updates. Am I missing something obvious.
And if your really in a giving mood :-) How do I hide certain folders from
RDP 5.1 drive mapping i.e. the windows and DiskOnChip folders. I'm testing
having the USB Floppy appear as a folder (works great) but don't want to
expose system folders to the users.
Here is a debug dump:
The blue is where I try to signal not to clean the system.hv but then just
below I get the (red) FSREG:Existing hive was created with a different ROM,
discarding
4294771577 PID:a3ff3a0a TID:a3ff3a3a 0x83ff3800: FSVOL: Opening existing
volume
4294771579 PID:a3ff3a0a TID:a3ff3a3a 0x83ff3800: FSVOL: Volume heap already
initialized
4294771579 PID:a3ff3a0a TID:a3ff3a3a 0x83ff3800: OEM: Not cleaning system
hive
4294771584 PID:a3ff3a0a TID:a3ff3a3a 0x83ff3800: FSVOL: Opening existing
volume
4294771595 PID:a3ff3a0a TID:a3ff3a3a 0x83ff3800: FSVOL: Volume heap already
initialized
4294771654 PID:a3ff3a0a TID:a3ff3a3a 0x83ff3800: FSREG: Existing hive was
created with a different ROM, discarding
4294771768 PID:a3ff3a0a TID:a3ff3a3a 0x83ff3800: FSREG: Mounting clean
system hive
4294771769 PID:a3ff3a0a TID:a3ff3a3a 0x83ff3800:
FATFS!FAT_CreateDirectoryW(1 chars: \) returned 0x0 (183)
4294771771 PID:a3ff3a0a TID:a3ff3a3a 0x83ff3800: FSVOL: Opening existing
volume
4294771772 PID:a3ff3a0a TID:a3ff3a3a 0x83ff3800: FSVOL: Creating new volume
4294773594 PID:a3ff3a0a TID:a3ff3a3a 0x83ff3800: FSVOL: Initializing volume
heap
4294773645 PID:a3ff3a0a TID:a3ff3a3a 0x83ff3800: FSREG: Taking down boot
registry. Any open keys will be invalid.
4294773655 PID:a3ff3a0a TID:a3ff3a3a 0x83ff3800: OEM: Cleaning user profiles
4294773655 PID:a3ff3a0a TID:a3ff3a3a 0x83ff3800: FSREG: OEM forcing user
hive cleanup!
4294773785 PID:a3ff3a0a TID:a3ff3a3a 0x83ff3800: FSREG: Logging in default
user.
Any help would be greatly appriecated. Overall I think the work done on
ce.net is fantastic. I'm about to try the 802.11 wireless feature, just need
to get it to use the PCI wireless card.
Thanks,
Matt
*********************************
Matthew Kwiecinski
Software Engineer
Neoware Systems, Inc.
*********************************