Ben Hunter

Architect - Microsoft Enterprise Services - Redmond

BDD 2007 - Tips and Tricks - Sorting Applications

BDD 2007 - Tips and Tricks - Sorting Applications

  • Comments 24
  • Likes

Hands up everyone who has tried to add an application to the task sequence and been frustrated by the fact that you can not control the order of the applications. Instead you have too scan through a list of applications that are ordered by the time you imported the application into the Deployment Workbench. Well this has frustrated me for a while and can become a real issue when you have a large number of applications to choose from.

It turns out that it frustrated a fellow consultant (Mark Piggot) down here in New Zealand, so he got one of our development consultants (Mark Rees) to create a little utility (see attached file) that sorts the applications alphabetically. It does this by simply sorting the contents of the applications.xml file.Then as if by magic you will have much less trouble finding your application when adding it to a task sequence.

To use this utility simply run the command:

BddSort.exe -filename <path to control folder>\applications.xml

This will then create a file called applications.xml.sorted which you can rename and use to replace the original applications.xml file.

This application will change the applications.xml header to include the following information:

<?xml version="1.0" ?>

 <applications xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

This should not be an issue but if it concerns you then you can simply update the header to look like this:

<applications>

   

                                Before                                                                                  After!!!

NOTE: Please remember to backup the orginal applications.xml file before making any changes.

NOTE: No warrantee of any kind, express or implied, is included with this utility; use at your own risk.

Disclaimer: The information on this site is provided "AS IS" with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the Terms of Use.

Attachment: bddsort-with source code.zip
Comments
  • Great doc

  • Very cool "add-on" application for BDD. Tired of having an unsorted application list? Go download the application referenced here. Side-note: Now that the BDD Source Code is on MS's site, I'm almost tempted to implement this natively.

  • Anyone have a clue to bring up the applications menu with checkboxes all ready checked for a few applications that are installed each time during a lite-touch scenario?

  • Hi Ken, There is no way to make them appear with ticks pre populated. You can however specify applications that will be installed using rules.

    Thanks,

    Ben

  • You can add pre-checked applications when you deploy the OS, you just have to add lines in the rule tab of the deployment point (or in the CustomSettings.ini)

    Applications1={61a633df-353a-43e6-a1e3-8c1b582cdc45}

    Applications2={e447e4db-a06e-46a9-8e3c-3b11abd31163}

    Applications3={7b282d07-cee5-4d81-8ecd-f4db51564de4}

    etc...

    you can find the right part in the applications.xml file.

    I use this to install groups of applications (with the dependency)

    John

  • Thanks Ben! I have one more question though, actually its a request to change that bddsort.exe file. It seems to sort applications via "Name" and not "Full Name". We put the vendor as well as the application name in BDD and would like to sort by the Full Name field. Is there a way to contact the creator of this exe?

  • Ben, is there anyone to Sort by FullName instead of Name?

  • I've noticed that when you run this application, it strips all dependencies from all applications.  Is this intended?  It's kinda annoying...

  • I have just updated the attachment with the source code for this application. This will allow you to create your own versions that take into account depenencies and change it to sort by full name if you wish.

    Thanks,

    Ben

  • Thank you so much Ben!

  • Paul, I was able to Sort by FullName and keep the Dependencies. I can tell you what you have add and change if you like?

    Thanks,

    Lou

  • Would you be able to add a comment detailing how to do it, so everyone can see?

    Thanks,

    Ben

  • Not a problem.  

    **In the Applications.cs file I added a Private string where all the other private strings are:**

    "private string dependencyField;"

    **At the end of the File I added:**

       "/// <remarks/>

       [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]

       public string Dependency

       {

           get

           {

               return this.dependencyField;

           }

           set

           {

               this.dependencyField = value;

           }

       }"

    I then rebuilt bddsort with visual studio and used the new executable.

    To change the Sort to FullName, open the Program.cs file and change "Name" to "FullName"

    located in this part of the file:

    "    #region IComparer<applicationsApplication> Members

               public int Compare(applicationsApplication x, applicationsApplication y)

               {

                   return x.FullName.CompareTo(y.FullName);

               }

               #endregion"

    Rebuild the bddsort with Visual studio.  The new .exe will be in the bin/Debug folder.

    Thanks,

    Lou

  • Any chance of sharing this renewed EXE?

    I am not familiar with Visual Studio, but would like to sort the applications with Dependencies kept.

  • Sure I can... This one is sorted by FullName and keeps the Dependencies.  I will post it up when I get off work today.

    Thanks,

    Lou