Video Screencast Help
Symantec Appoints Michael A. Brown CEO. Learn more.

Data Layer Priority

Created: 22 Dec 2012 | 5 comments

Unfortunately there is little documentation on layer priority. The existing documentation in the user guide is about HKCR priority and we are left to assume, that "normal priority" as svscmd calls it, is somehow similar. Moreover I always wondered: does HKCR priority apply to the registry in general or only to the HKCR root key? And if the latter be true, what about the keys that are merged in to the HKCR root key such as HKLM\Software\Classes and HKCU\Software\Classes? Do they have HKCR priority or are there potential inconsistencies created by SWV?

 

Anyway, here's my actual problem, which does not involve any registry entries but only files, to which I ask your help as to why I don't get the expected result, and how I should solve it.

I have a layer for WampServer http://www.wampserver.com/en/ (Apache2, MySQL, PHP) and several data layers, each to hold a web project including configurations of PHP, MYSQL and Apache. It is obvious, that I first need to activate one data layer only, then activate the wamp layer, so the services should be able to read their configuration from the files in the data layer, which should override the ones in the wamp layer. So, when I change httpd.conf, the web server's configuration is stored to the data layer, however, when I restart apache, it does not read the file from the data layer, but from it's own layer.

As I understand/assume, owner layer priority should be 55.5, data layer priority is 45.5 (as  SVS PROPERTIES confirms). So, why does apache service read the "wrong" configuration, and how do I need to set up my layers to get expected behaviour?

Comments 5 CommentsJump to latest comment

EdT's picture

Ignoring virtualisation for the moment, HKCR is a merge of HKLM/Software/Classes and HKCU/Software/Classes. Where there is a conflict between HKLM and HKCU, the value in HKCU gets priority. This is true for all current windows NT operating systems.

Priority of a virtualised application is determined by the relative priority to the base operating system priority.

I cannot recall exactly what the operating system priority value is set to, but it was a higher figure than the two you have quoted.  I need to find my old notes from ManageFusion on how the relative priorities work.

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

EdT's picture

https://www-secure.symantec.com/connect/forums/bas... - a rather old thread discussing layer priorities. I will have a search to see if there is any new information in the knowledge base.

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

EdT's picture

http://www.symantec.com/business/support/index?pag...

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

svallmen's picture

Thank you, EdT, for your comments.

HKCR is a merge of HKLM/Software/Classes and HKCU/Software/Classes. Where there is a conflict between HKLM and HKCU, the value in HKCU gets priority.

Exactly. As far as I know, this merging does not occur on access, but HKCR is built in memory on logon. So if HKCR priority is different from priorities in HKCU and HKLM, The value in HKCR might reflect a different layer than the corresponding values in HKCU/HKLM und thus create an inconsistency between HKCR on one hand and HKCU/HKLM on the other.

 

Priority of a virtualised application is determined by the relative priority to the base operating system priority.

I cannot understand this statement. To me it looks like a contadiction in itself. Furthermore, there is no such thing as an operating system priority. There is BASE priority and BASE OWNER priority. 

 

https://www-secure.symantec.com/connect/forums/base-owner-priority-question

The info provided there is interesting, but does not really answer any aspect of my issue. It appears that the deviation from the documented behaviour has been fixed on the behaviour side rather than the documentation side. It's about application vs. base layer, though, and has nothing to do with data layers.

 

http://www.symantec.com/business/support/index?page=content&id=HOWTO50187&actp=search&viewlocale=en_US&searchid=1357255719006

That appears to be the same info that is present in the user guide. It is about HKCR priority and thus does not even mention data layers.

svallmen's picture

I have been experimenting some more, since the configuration of the controlling applet in my WampServer layer appears to work correctly. Also the MySQL databases can be written correctly and even be querried again.

To me it looks as if the open mode matters as to which layer is accessed (That's just a guess):

read only -> application layer

write or modify -> data layer

 

I executed cmd.exe from the WampServer layer (SVSCMD EXEC) and tried the following:

dir             lists the file in the data layer

type          types the file in the application layer

edit           edits the file in the data layer

notepad   edits the file in the application layer

 

I cannot find any sensible logic in this, so I am pretty sure now, this is in fact a bug.

So the question remains: What can I do to make my setup operable, appart from removing any configuration files from my WampServer layer and copying them into each and every data layer I use with the WampServer layer (and thus leaving my WampServer layer inoperable without a specially crafted data layer activated beforehand?