none
Easier way to cherry pick applications in a specific order via the deployment wizard? RRS feed

  • Question

  • From what I can tell, the best I can do is specify applications in customsettings.ini for a TS, order them how I like, then uncheck the applications that I don't want to deploy in the wizard.  I haven't tried this yet because it seems very very tedious.  In particular, if you remove an application and re-add it to the deployment share, the GUID changes and you get caught chasing your tail.  Is there a better way to do this?  Should I consider making a custom wizard?

    To me, it would seem more logical for each application to have a property called "order" and then the appropriate number assigned.  If each application could have knowledge about whether it should deploy before or after another application, then the act of cherry picking applications would be seamless (order on the wizard page would be irrelevant). This is kind of how Dell's KACE product works; although a vastly inferior product, this was a nice feature that seems to be sorely missing in MDT.

    I fully understand that I can use dependencies and edit application install order in the TS, I'm just looking for a cleaner way to cherry pick applications in a particular order.  My company hasn't quite standardized applications yet and I'd love to be able to pick and choose b/w installing SQL 2008, SQL 2008r2, SQL 2012, SQL 2014, VS 2010, VS 2012, VS 2013, etc.  Anybody that's installed those applications knows that order is important.

    Is this more of an enhancement request?  Sorry for the trouble.


    Tuesday, January 27, 2015 9:57 PM

Answers

  • What could be done is to create an "Application Bundle" for each of the desired options and then set the "Dependencies" in that bundle.

    For example, I have a applications bundle called "Build and Capture Applications Bundle".  I add all the applications I want in there and ensure that each of those applications are set in my desired installation order.  As well, each of those applications are set to "Hide this application in Deployment Wizard".

    Now, in Deployment Wizard, I will just see the option to select the "Build and Capture Applications Bundle".  If I select that it installs all those applications in the order I designated.  As well, there is no need for me to modify the TS, since I can just edit that Applications Bundle to add, remove or re-order any of the dependencies.

    Keep in mind that this does not prevent someone from selecting multiple application bundles and then those getting installed in the incorrect order (ex. SQL 2012 Applications Bundle gets installed before the SQL 2008 Applications Bundle)

    • Proposed as answer by Hollanders, Rens Monday, February 2, 2015 3:13 PM
    • Marked as answer by resident1155 Wednesday, February 4, 2015 6:55 PM
    Saturday, January 31, 2015 3:06 PM

All replies

  • What could be done is to create an "Application Bundle" for each of the desired options and then set the "Dependencies" in that bundle.

    For example, I have a applications bundle called "Build and Capture Applications Bundle".  I add all the applications I want in there and ensure that each of those applications are set in my desired installation order.  As well, each of those applications are set to "Hide this application in Deployment Wizard".

    Now, in Deployment Wizard, I will just see the option to select the "Build and Capture Applications Bundle".  If I select that it installs all those applications in the order I designated.  As well, there is no need for me to modify the TS, since I can just edit that Applications Bundle to add, remove or re-order any of the dependencies.

    Keep in mind that this does not prevent someone from selecting multiple application bundles and then those getting installed in the incorrect order (ex. SQL 2012 Applications Bundle gets installed before the SQL 2008 Applications Bundle)

    • Proposed as answer by Hollanders, Rens Monday, February 2, 2015 3:13 PM
    • Marked as answer by resident1155 Wednesday, February 4, 2015 6:55 PM
    Saturday, January 31, 2015 3:06 PM
  • Thanks for the response Mirfster.  Thinking this through, this is probably the best solution to my problem - adding the bundle to the list of applications to choose and editing the bundle beforehand.  I still think that this is kind of a crude solution, but it does work.

    • Edited by resident1155 Wednesday, February 4, 2015 7:02 PM
    Wednesday, February 4, 2015 2:51 PM
  • On a side note, this is what I was looking to do:

    https://keithga.wordpress.com/2014/04/03/re-ordering-applications-in-mdt/ 

    #1 seems to indicate that there's no way to make application X install before application Y without using dependencies.  But there are plenty of cases where cherry picking applications is (IMO) more useful than using dependencies/bundles.  In particular, this would be useful when application requirements vary from user to user and installation order is critical.  While a bundle could be used for this purpose, having to edit the bundle every time is tedious.

    • Edited by resident1155 Wednesday, February 4, 2015 7:01 PM
    Wednesday, February 4, 2015 6:34 PM
  • If I recall correctly, the applications that are selected in the Applications Wizard are installed in the order they appear. Unless you have dependencies within the applications themselves. With some modification of the xml, you could make them appear in what order you wanted them installed. That way when they did cherry pick, it would still follow a preset order...

    I had a client that wanted Office 2007, Office 2010 and Office 2013 as selectable applications.  Within each of these, they had particular companion applications that they would want installed.  To accomplish this, I created three (3) application bundles and placed the corresponding applications in there.

    Now, due to how I named the Application Bundles (MS Office 2007 Suite, MS Office 2010 Suite and MS Office 2013 Suite), they did not appear at the top of the list in the Applications TS of the Deployment Wizard.  I edited the XML (I think it was the Applications.xml, but would have to double check) and moved those items to the top.  I also added a warning there telling them to "Choose Only One" (by placing these three bundles in a folder called "MS Office Suites (Choose Only One)".

    In our testing, if they decided to choose all three it ended up installing in the listed order MS Office 2007 would install, then MS Office 2010 would uninstall MS Office 2007 during its install, then MS Office 2013 would uninstall MS Office 2010 during its install. 

    Combined with Application Bundling, Folder Naming and manipulation of the xml you may get closer to the desired outcome, but it will become pretty administratively intensive.

    Let me know if you need me to find the exact XML I modified.

    Thursday, February 5, 2015 4:31 AM
  • Thanks for the reply.  I was thinking along the exact same lines, but Keith's blog seems to indicate that modifying the Applications.xml file would merely change the order in which the applications appear in the wizard (not the order in which they install).  That blog post seemed fairly recent, but maybe he was referring to an older version of MDT?  I will need to do some testing to determine if modifying Applications.xml has the effect that you describe.  I will report back soon.

    Before I start testing, can anyone definitively confirm/deny whether changing the application order in Applications.xml will change the install order of those applications in MDT 2013?
    Monday, February 9, 2015 6:00 PM
  • TL;DR; (Please reply to correct me if I'm missing something).

    The order that the applications are displayed in the wizard are determined by the order by which they appear in the XML files.

    When you press the "NEXT" button, the wizard will run through the list finding each entry that was checked, and will add them "In order" back to Applications00X Key Value pair, *overwriting* what was there before if anything was defined in the CS.ini.

    Please be aware that you can also use MandatoryApplications00X in your CS.ini, this list will not be overridden, and is processed by ZTIApplications.wsf *First* so if you have any hard requirements, here is a good place to put them.

    Bundles are another preferred way to install things in order as mentioned above.


    Keith Garner - Principal Consultant [owner] - http://DeploymentLive.com

    Tuesday, February 10, 2015 5:24 AM
    Moderator
  • Thanks for the reply Keith.  This is still kind of unclear to me.  Are you saying that if I move applicationB before applicationA in Applications.xml (or ApplicationGroups.xml) that applicationB will get installed first?  And more to the point, can I change the order that the applications install by modifying these XML files?

    Sorry for the redundancy, I just want to be 100% sure I have the facts straight.
    • Edited by resident1155 Wednesday, February 11, 2015 9:09 PM
    Wednesday, February 11, 2015 9:04 PM
  • In my experience that is the case. As Keith mentioned you can also include "MandatoryApplications00X in your CS.ini" which will take precedence (in accordance with the order to the "Priority" settings).

    Also, you need to consider that if you have App-B listed before App-A, but App-B has a dependency on App-C, then App-C will get installed first, followed by App-B, then App-A (if they select both App-B and App-A).

    You can accomplish what you want, it will just take a lot of creativity.  Also, when I did this in MDT 2010, for some reason the XMLs that were produced in my MEDIA did not exactly match the ordered ones in my DeploymentShare.  If I recall, I had to simply produce the "Content" folder and not the ISO.  From there I replaced the modified XMLs and created the ISO on my own.

    That was back in MDT 2010 and not sure if this is the same in MDT 2013.  I just haven't had to try it in MDT 2013 yet.  

    Thursday, February 12, 2015 1:58 AM
  • This helped a lot.  Thanks guys.
    Monday, March 16, 2015 8:45 PM