BDD 2007 – Tips and Tricks – Sorting Applications


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.

bddsort-with source code.zip

Comments (24)

  1. Anonymous says:

    By default the MDT Applications list is ordered by the way they were entered. Last one in equals last

  2. Anonymous says:

    Sorting Applications in BDD 2007

  3. Anonymous says:

    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

  4. Anonymous says:

    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?

  5. Anonymous says:

    Sorting Applications in BDD 2007

  6. Anonymous says:

    Great doc

  7. Anonymous says:

    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

  8. Anonymous says:

    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.

  9. Anonymous says:

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

    Thanks,

    Ben

  10. Anonymous says:

    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

  11. Anonymous says:

    Hi Phil,

    You can do this per application using the "Hide this application in the deployment wizard" check box in the application properties.

    Unfortunately this is for all builds and task sequences, not particular ones.

    Thanks,

    Ben

  12. Anonymous says:

    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

  13. Anonymous says:

    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

  14. Anonymous says:

    Hi Ben

    Is there any way you can hide certin applications from a particular Builds/Task Sequence? I thought you could do this in BDD 2007 but can’t seem to work it out in MS Deployment 4.

    thanks

    Phil

  15. Ken Lampel says:

    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?

  16. John-Smith says:

    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

  17. Lou says:

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

  18. Paul Kirby says:

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

  19. Lou Sabatini says:

    Thank you so much Ben!

  20. Alex says:

    Any chance of sharing this renewed EXE?

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

  21. Paul Kirby says:

    That code you posted for the dependency tracking works great – however it only works when an application has a single dependency.  Is there a way to modify it to track multiple dependencies?  Unfortunately C# and XML aren’t my forte.

  22. lsabatini says:

    Sorry, I did not test it with an application that has more than one dependency.  Most of our apps don’t have more than 1 dependency.  I will work on it for you and try to get it to do multiple dependencies for each application.

    Here is the new .exe to save a single dependency for each application that has one.

    <a href="http://empirecitytech.com/downloads/bddsortDep.zip">Bddsort.exe</a&gt;

  23. Dan Van Drunen - House of Commons, Canada says:

    In respose to Ken post asking if there was a way to have applications pre-checked off in the applications wizard.

    I have found that if you use the databse functionality, and create a Role with applications added to that Role.

    Make sure the role is being applied to the system you are deploying, and you will see that all of the applications added to that role will be checked off.

    This works with multiple roles aswell.

    Hope this is what you were looking for.

    Dan

  24. Jacob Hodges says:

    I’ve created an application similar to this but lets you specify your own order. More details are at http://blog.project84.net/2007/11/05/SortingApplicationsInBDD2007.aspx