Which Registry Data to Add??

G

Gabriel K.

Hi all,

I'm componentizing multiple programs and drivers in Component Designer.
Following the tutorials I have used InCtrl to monitor the major changes made
for installation of the programs. There seems to be hundreds up registry
data per program. Also they seem to be under a few key registry paths.
Which of the following is it recommended to add:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
HKEY_LOCAL_MACHINE\HARDWARE\RESOURCEMAP
[also some installer and uninstaller paths]

I read on a site that the ControlSet is for Boot Up or Last Good
Configuration sort of stuff. If this is the case, then if we can get this
component working, then what would be the need of this data? I guess my
question is do some programs/drivers need this info in order to run properly?
Anyways Thanks in advance.
\
 
D

Dave R.

Gabriel K. said:
Hi all,

I'm componentizing multiple programs and drivers in Component
Designer.
Following the tutorials I have used InCtrl to monitor the major
changes made
for installation of the programs. There seems to be hundreds up
registry
data per program. Also they seem to be under a few key registry
paths.
Which of the following is it recommended to add:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
HKEY_LOCAL_MACHINE\HARDWARE\RESOURCEMAP
[also some installer and uninstaller paths]

I read on a site that the ControlSet is for Boot Up or Last Good
Configuration sort of stuff. If this is the case, then if we can get
this
component working, then what would be the need of this data? I guess
my
question is do some programs/drivers need this info in order to run
properly?
Anyways Thanks in advance.

I don't know about the HKLM\Hardware\ResourceMap key as I haven't had to
research it (yet), but here's my understanding of the
HKLM\System\ControlSetxxx and CurrentControlSet:

The control sets contain system configuration, such as which device
drivers to load, services to start, etc. Chances are, if the programs /
drivers you are installing modify values in these keys, you need it for
the system to operate properly.

CurrentControlSet is a pointer to one of the ControlSetxxx keys, and is
the system configuration currently in use. You should only have to make
changes in this key, since any changes made to CurrentControlSet are
automatically a part of one of the ControlSetxxx keys. You can find out
which of the ControlSetxxx keys that is by looking in
HKLM\System\Select. Normally Current is set to 1, meaning
ControlSet001. I can't imagine that a new image build would ever have
anything other than 1 here.

The other values in the HKLM\System\Select key are:
Default, which is the configuration that will be used on the next boot
unless you select Last Known Good Configuration.
Failed, which is the configuration that WAS Default when a user chose
Last Known Good Configuration during boot (if any).
LastKnownGood, which is a copy of the configuration that last
successfully booted the system (as I understand it, that means that it
made it to the login screen). So, if Default is 1, and the system boots
to the Login screen, ControlSet001 gets copied to another ControlSetxxx
(typically ControlSet002 unless there has been boot during which the
Last Known Good was chosen and a Failed configuration was created).

FYI, and HTH.

Dave
 
K

KM

Just to add a little bit more info here.

You should not have to worry about the RESOURCEMAP key. The parent key's (HARDWARE) content is volatile, i.e. dynamic and computed
and recreated each time the system starts up. The RESOURCEMAP subkey maps device drivers and hardware resources allocated to these
drivers (including PnP and manager data).

[HKLM\SYSTEM\CurrentControlSet] can hold driver and service info so you have to make sure that info is not lost when you
componentize the driver. Only caveat here is that most of the CCS keys will be created by CD importer (PnP and Service data
resources) and not needed to be duplicated with registry entries.

--
=========
Regards,
KM

Gabriel K. said:
Hi all,

I'm componentizing multiple programs and drivers in Component Designer.
Following the tutorials I have used InCtrl to monitor the major changes made
for installation of the programs. There seems to be hundreds up registry
data per program. Also they seem to be under a few key registry paths.
Which of the following is it recommended to add:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
HKEY_LOCAL_MACHINE\HARDWARE\RESOURCEMAP
[also some installer and uninstaller paths]

I read on a site that the ControlSet is for Boot Up or Last Good
Configuration sort of stuff. If this is the case, then if we can get this
component working, then what would be the need of this data? I guess my
question is do some programs/drivers need this info in order to run properly?
Anyways Thanks in advance.

I don't know about the HKLM\Hardware\ResourceMap key as I haven't had to research it (yet), but here's my understanding of the
HKLM\System\ControlSetxxx and CurrentControlSet:

The control sets contain system configuration, such as which device drivers to load, services to start, etc. Chances are, if the
programs / drivers you are installing modify values in these keys, you need it for the system to operate properly.

CurrentControlSet is a pointer to one of the ControlSetxxx keys, and is the system configuration currently in use. You should
only have to make changes in this key, since any changes made to CurrentControlSet are automatically a part of one of the
ControlSetxxx keys. You can find out which of the ControlSetxxx keys that is by looking in HKLM\System\Select. Normally Current
is set to 1, meaning ControlSet001. I can't imagine that a new image build would ever have anything other than 1 here.

The other values in the HKLM\System\Select key are:
Default, which is the configuration that will be used on the next boot unless you select Last Known Good Configuration.
Failed, which is the configuration that WAS Default when a user chose Last Known Good Configuration during boot (if any).
LastKnownGood, which is a copy of the configuration that last successfully booted the system (as I understand it, that means that
it made it to the login screen). So, if Default is 1, and the system boots to the Login screen, ControlSet001 gets copied to
another ControlSetxxx (typically ControlSet002 unless there has been boot during which the Last Known Good was chosen and a Failed
configuration was created).

FYI, and HTH.

Dave
 
G

Gabriel K.

Ok these answers help clear stuff up. I've got most of the drivers and
programs working now. 1 of the drivers I componentized had a .inf file. So
it was easy as pie to import the inf file and then import into the database.
I wish they were all that simple :p

Thanks again.

KM said:
Just to add a little bit more info here.

You should not have to worry about the RESOURCEMAP key. The parent key's (HARDWARE) content is volatile, i.e. dynamic and computed
and recreated each time the system starts up. The RESOURCEMAP subkey maps device drivers and hardware resources allocated to these
drivers (including PnP and manager data).

[HKLM\SYSTEM\CurrentControlSet] can hold driver and service info so you have to make sure that info is not lost when you
componentize the driver. Only caveat here is that most of the CCS keys will be created by CD importer (PnP and Service data
resources) and not needed to be duplicated with registry entries.

--
=========
Regards,
KM

Gabriel K. said:
Hi all,

I'm componentizing multiple programs and drivers in Component Designer.
Following the tutorials I have used InCtrl to monitor the major changes made
for installation of the programs. There seems to be hundreds up registry
data per program. Also they seem to be under a few key registry paths.
Which of the following is it recommended to add:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
HKEY_LOCAL_MACHINE\HARDWARE\RESOURCEMAP
[also some installer and uninstaller paths]

I read on a site that the ControlSet is for Boot Up or Last Good
Configuration sort of stuff. If this is the case, then if we can get this
component working, then what would be the need of this data? I guess my
question is do some programs/drivers need this info in order to run properly?
Anyways Thanks in advance.

I don't know about the HKLM\Hardware\ResourceMap key as I haven't had to research it (yet), but here's my understanding of the
HKLM\System\ControlSetxxx and CurrentControlSet:

The control sets contain system configuration, such as which device drivers to load, services to start, etc. Chances are, if the
programs / drivers you are installing modify values in these keys, you need it for the system to operate properly.

CurrentControlSet is a pointer to one of the ControlSetxxx keys, and is the system configuration currently in use. You should
only have to make changes in this key, since any changes made to CurrentControlSet are automatically a part of one of the
ControlSetxxx keys. You can find out which of the ControlSetxxx keys that is by looking in HKLM\System\Select. Normally Current
is set to 1, meaning ControlSet001. I can't imagine that a new image build would ever have anything other than 1 here.

The other values in the HKLM\System\Select key are:
Default, which is the configuration that will be used on the next boot unless you select Last Known Good Configuration.
Failed, which is the configuration that WAS Default when a user chose Last Known Good Configuration during boot (if any).
LastKnownGood, which is a copy of the configuration that last successfully booted the system (as I understand it, that means that
it made it to the login screen). So, if Default is 1, and the system boots to the Login screen, ControlSet001 gets copied to
another ControlSetxxx (typically ControlSet002 unless there has been boot during which the Last Known Good was chosen and a Failed
configuration was created).

FYI, and HTH.

Dave
 
G

Gabriel K.

Oh and I forgot I had one more question:

In the InCtrl report, some of the Reg_Dword data was display in the form:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\C44ntdrv\Parameters
"ContiguousMemory"
Type: REG_DWORD
Data: 80, 01, 00, 00


Now in the Registry Data entry in Component Designer, I figured I should
just enter the DWORD data in the form of:

0x80010000

The problem I get is that apperently 0x7fffffff is the highest number you
can enter. So I'm not sure what to do.

KM said:
Just to add a little bit more info here.

You should not have to worry about the RESOURCEMAP key. The parent key's (HARDWARE) content is volatile, i.e. dynamic and computed
and recreated each time the system starts up. The RESOURCEMAP subkey maps device drivers and hardware resources allocated to these
drivers (including PnP and manager data).

[HKLM\SYSTEM\CurrentControlSet] can hold driver and service info so you have to make sure that info is not lost when you
componentize the driver. Only caveat here is that most of the CCS keys will be created by CD importer (PnP and Service data
resources) and not needed to be duplicated with registry entries.

--
=========
Regards,
KM

Gabriel K. said:
Hi all,

I'm componentizing multiple programs and drivers in Component Designer.
Following the tutorials I have used InCtrl to monitor the major changes made
for installation of the programs. There seems to be hundreds up registry
data per program. Also they seem to be under a few key registry paths.
Which of the following is it recommended to add:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
HKEY_LOCAL_MACHINE\HARDWARE\RESOURCEMAP
[also some installer and uninstaller paths]

I read on a site that the ControlSet is for Boot Up or Last Good
Configuration sort of stuff. If this is the case, then if we can get this
component working, then what would be the need of this data? I guess my
question is do some programs/drivers need this info in order to run properly?
Anyways Thanks in advance.

I don't know about the HKLM\Hardware\ResourceMap key as I haven't had to research it (yet), but here's my understanding of the
HKLM\System\ControlSetxxx and CurrentControlSet:

The control sets contain system configuration, such as which device drivers to load, services to start, etc. Chances are, if the
programs / drivers you are installing modify values in these keys, you need it for the system to operate properly.

CurrentControlSet is a pointer to one of the ControlSetxxx keys, and is the system configuration currently in use. You should
only have to make changes in this key, since any changes made to CurrentControlSet are automatically a part of one of the
ControlSetxxx keys. You can find out which of the ControlSetxxx keys that is by looking in HKLM\System\Select. Normally Current
is set to 1, meaning ControlSet001. I can't imagine that a new image build would ever have anything other than 1 here.

The other values in the HKLM\System\Select key are:
Default, which is the configuration that will be used on the next boot unless you select Last Known Good Configuration.
Failed, which is the configuration that WAS Default when a user chose Last Known Good Configuration during boot (if any).
LastKnownGood, which is a copy of the configuration that last successfully booted the system (as I understand it, that means that
it made it to the login screen). So, if Default is 1, and the system boots to the Login screen, ControlSet001 gets copied to
another ControlSetxxx (typically ControlSet002 unless there has been boot during which the Last Known Good was chosen and a Failed
configuration was created).

FYI, and HTH.

Dave
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top