Link to home
Start Free TrialLog in
Avatar of Daniel Haddad
Daniel Haddad

asked on

Modify XML file to call on external xmlfile for arrayofstring

Can someone please assist with re-writing a xml file as working with xml files is not one of my strong points.

I am using the OSDFrontEnd from scconfigmgr.com and as part of the OSDFront end that gets put into the the winpe boot disk.  It is basically a friendly front end of the sccm task sequence. Within the config file for the OSDFront end,  there is a option that allows you to set mandatory applications.  The problem is when you configure these settings and inject it into the winpee bootdisk it effectively gets locked and cannot be modified without re-creating or reconfiguring the boot disk itself. I wanted to find a way to export this section to a external xml file.  That way the main config in regards to where to look for the mandatory apps gets locked within the boot disk however the actual settings for mandatory apps can be stored on a web server and modified on the fly if needed.  

 The section of the config file relating to mandatoryapps is as below.

      <setting name="AppsMandatory" serializeAs="Xml">
                <value>
                    <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                        <string>Adobe Acrobat Reader 2017 DC</string>
                        <string>Java 8 Update 144 (32-Bit)</string>
                        <string>Java 8 Update 144 (64-Bit)</string>
                        <string>CutePDF</string>
                        <string>Symantec.Cloud SmartConnect</string>
                        <string>Office365 Base Installation</string>
                        <string>SAP GUI for Windows 740_Compact</string>
                    </ArrayOfString>
                </value>
            </setting>

I wanted to have the actual applications list stored in a file called mandatoryApps.xml that will sit on a web server and modify the current code to something like below.

<setting name="AppsMandatory" serializeAs="Xml">
       <value>http://webserver.fqdn.com/ConfigMgrWebService/MandatoryApps.xml</value>
</setting>


I would assume that the mandatoryapps.xml would include something like the following

                    <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                        <string>Adobe Acrobat Reader 2017 DC</string>
                        <string>Java 8 Update 144 (32-Bit)</string>
                        <string>Java 8 Update 144 (64-Bit)</string>
                        <string>CutePDF</string>
                        <string>Symantec.Cloud SmartConnect 2.2.0.0</string>
                        <string>Office365 Base Installation</string>
                        <string>SAP GUI for Windows 740_Compact</string>
                    </ArrayOfString>

I am trying to google this however i am not finding much in the way of how to make the appropriate changes.  I am still searching and trying different solutions however a little nudge in the right direction would be greatly appreciated.

Thanks in advance
ASKER CERTIFIED SOLUTION
Avatar of ste5an
ste5an
Flag of Germany image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Daniel Haddad
Daniel Haddad

ASKER

Thanks ste5an, for your quick response.  Thanks ill look into the options you mentioned
I assume by bootstrapper will mean i need to work out how to change the code in the OSD application.  Would it be possible to use XSLT in the place of the current XML code without having to change the consuming application code?
Well, "bootstrap" is anything which runs before you process the create the necessary file. In many cases this can be a script (cmd, VBScript or PowerShell) to run the XML fiddling and start then your application.
Thanks, insight into what was possible and what was not meant i needed to identify a different method of completing this objective