While requesting an unattend file as described in the documentation calling the install_os function, parse_prepare() will look into the specific operating system table in order to check if a key was disabled or not, and it will discard the option set in os_main_computerconfig_detail table. This implies two things:
1. No customization of unattend.xml keys can be made for specific computer.
2. "Do not use this key" options in the web UI of a specific computer OS is in vain.
I modified the code from parser_main.php at line 52:
$keycheck=db_selectMULTI('os_main_config',array('os_main_id'=>$osid,'key_id'=>$k['id']),"=",array('id','setvalue','usekey'));
to:
$keycheck=db_selectMULTI('os_main_computerconfig_detail',array('cf_id'=>$osinfo['id'],'key_id'=>$k['id']),"=",array('id','setvalue','usekey'));
This won't include the keys you have set "Do not use this key" in the computer OS config. Please advice if this change can be made without colateral issues as for now I can't read the complete code.
Best Regards,
Sebastian Treu
Hi Sebastian,
thank you for reporting. I have correct this in line 78. There was an logical error, because:
$keycheck2['entries'][0]['usekey'] isnt set at this place any more, in line 69 it will be reassigned to:
$keycheck2=$keycheck2['entries'][0];
so the line 78 has to be: if ($keycheck2['usekey']!=1)
To explain the code some more:
The main parser will first check if the settings are available from the main os configuration in the module unattended (this is when you pre configure an os), after that it will (keycheck2) take a look if there is a setting in the computer configuration and will use this.
So the key will be taken 1) from the template 2) from the main os cfg 3) from the computer configuration.
This correction is available in REV 1993 and will be available in the next update.
Cheers