nonew / appstract

Automatically exported from code.google.com/p/appstract

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Development of a third registry provider

GoogleCodeExporter opened this issue · comments

A third kind of registry provider should be introduced, next to the 
virtual and transparent registry implementations.

This new provider must ease the manageability of the virtual registry,
by providing the following features:
- Block the retrieval of a handle for requests that match an underlying 
dynamic list of registry keys and values.
- Make specific keys transparent or not-transparent, overriding the 
default AccessMechanism
- Must have priority over the other registry implementations.
- Keep track of a hit count and perform a specified action when reached 
(eg removal of the block-list)
- Underlying lists must be completely dynamic
- ...


By introducing such a provider, the following could be fixed and/or 
improved:
- Fix support for managed targets
When starting a managed target a blacklist could be created with the keys 
and values needed by .NET to dynamically invoke a method. A maximum hit 
count can ensure the removal of these entries when the method invocation 
has completed.
- Provide means to manage the virtual registry
For example, currently installers are in some cases able to detect they 
have been installed already. System administrators could trick targetted 
installers by specifying a list of keys and values for which the error 
code FileNotFound must always be returned.

Original issue reported on code.google.com by simon_al...@hotmail.com on 1 Apr 2010 at 3:20

In its first implementation the scope of this issue will be narrowed to 
introducing a 
registry key black list with hit count and full priority.
Letting users decide whether or not specific keys need to be transparent or not-
transparent currently seems to be completely useless. Therefore it's not 
justified to 
commit the major changes needed in the virtualization engine.

Original comment by simon_al...@hotmail.com on 4 Apr 2010 at 4:03

  • Changed state: Started
The described issues can't be fixed by using a third registry provider.

In stead an extra type of AccessMechanism should be added: 
AccessMechanism.Virtual
This value would specify that only the virtual registry must be used, and that 
the 
host's registry must never be accessed.
An example use case could be HKEY_LOCAL_MACHINE, which always uses 
TransparentRead, 
while in some cases HKEY_LOCAL_MACHINE\SOFTWARE\ should be completely virtual 
(at 
least while packaging an application)

In a later stage an Engine Rule Framework should be introduced. This rule 
framework 
should basically provide the ability to let the user configure specific 
AccessMechanism values for specific keys, key trees, or key values.

Original comment by simon_al...@hotmail.com on 30 Apr 2010 at 10:35

  • Changed state: WontFix
AccessMechanism.Virtual -> Issue 17
Engine Rules Framework  -> Issue 16

Original comment by simon_al...@hotmail.com on 9 May 2010 at 10:48