I often hear from customers wanting to deploy software, but their business is to small to leverage System Center Configuration Manager. They ask me for advice on how to deploy software. Should we use Group policy or what? I then ask them if they have tried to use Microsoft Deployment Toolkit. They often answer: But that’s only for OS deployment……Right?
As you probably guessed already you can deploy applications with MDT, it is just a matter of configuring it. I will list up the necessary steps for configure it.
First of all you need to create a task sequence. Create this with the custom template.
I gave mine the ID of Apps. Note this down or remember it.
Choose the custom task sequence as your choice of template.
Okay, so now you have created a empty task sequence with one step in it and that’s exactly what we need.
I assume that you have some applications available in you workbench. On important thing to notice is the uninstall part of each application. Here is an example of the SilverLight 4.0 application property:
If you are afraid of software being installed twice it is important to define this one. MDT has built in logic to not install software that is already present based on this uninstall key.
If you need to extract the GUID / uninstall key of the application the easiest way is to install the software manually on a computer and run regedit. Then browse down to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall or HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
This of course depends on the software and whether or not you are running X64 version of Windows or not.
Here you will find every GUID for each installed software. Just hit F3 to do a search or browse your way through the list until you find your application. Take a copy of the GUID. I have outlined the GUID and and the display name.
Okay, back to the install software part. We now have a task sequence for application install and a application with an uninstall key / GUID defined. Let us go into a client and test this.
What you need to know is that you actually can start the litetouch.wsf script with parameters and override the customsettings.ini / rules that are defined. That’s pretty neat. My command to get this the way I wanted it to be, looks like this:
(I wrapped it for readability)
So what happens if I run this command from my test computer?
I end up straight at the choice of applications. In this example I will choose Silverlight and hit next. It will then install the software, but since I already have this application installed it will just skip. Here is the output from the BDD.log:
If I did not had it already installed it would install it.
In production you would probably deploy the command as a shortcut to the users with a fancy icon. And of course I recommend Group Policy Preferences to deploy the shortcut.
So there it is. Software deployment with MDT and the end user can choose by himself. Easy as a piece of cake.
Great tip,
i followed your steps and everything goes well till the moment after I select the app I wish to install, let’s say ‘silverlight’, as soon the installation is done, the tasksequence keeps going trying to install all the other apps I didnt select.. so I have like 20 apps in that list and it’s installing all of them..
I think it’s because of my CS.ini where I have Apps001 defined.. is there a way to override that part??
I guess I will have to select the app (browse it) from the TaskSequence instead of leaving it set to ‘All Applications’.. which only should prompt and not install all of them…
Besides that, I think this saves a bit of a time compared to the way I was doing it, which was creating a Post-OS installation tasksequence..
thanks
Hi. I am not sure if I understand you correctly Angel. But If you can post Your CS.ini file I can have a look. If the software is installed before and you have defined the uninstall string it will at least skip it. What I think is Your problem here is that you have hardcoded something into Your CS.ini file.
Great tip,
i followed your steps and everything goes well till the moment after I select the app I wish to install, let’s say ‘silverlight’, as soon the installation is done, the tasksequence keeps going trying to install all the other apps I didnt select.. so I have like 20 apps in that list and it’s installing all of them..
I think it’s because of my CS.ini where I have Apps001 defined.. is there a way to override that part??
I guess I will have to select the app (browse it) from the TaskSequence instead of leaving it set to ‘All Applications’.. which only should prompt and not install all of them…
Besides that, I think this saves a bit of a time compared to the way I was doing it, which was creating a Post-OS installation tasksequence..
thanks
oops.. Im not sure why it posted the same thing now when I was trying to reply .. my bad.. not sure how to delete it..
anyways.. what I was saying is that in my CS.ini i have a line like this:
SkipApplications=YES
SkipAppsOnUpgrade=YES
Applications001={1a7b58f6-5de8-4fb0-bcc9-88653ff810f4}
so, it was diong what your post says and after it was done, it started doing this line as well.. so I had to remove this line and call it from the TaskSequence instead.. which did the trick..
thanks for tip 🙂
Excellent !!!
It works perfectly but I’m wondering if it is possible to bring a specific list of applications to install and not show the entire “applications” folder… let say I would like to show only applicationsWindows7* with a specific command line and applicationsxp* with another… do you think it is possible to do so ?
I know this thread is pretty old ! I hope you can still help me 🙂
How to access this task sequence from client system?
You just run the command as specified in the blogpost: \\mdthydmast\customerdeployment$\ScriptsLiteTouch.vbs /SkipTaskSequence:YES /TaskSequenceID:APPS /SkipDeploymentType:Yes /DeploymentType:REFRESH /SkipComputerName:YES /SkipDomainMembership:YES /UserDataLocation:AUTO /SkipUserData:YES /SkipComputerBackup:YES /ComputerBackupLocation:NONE /SkipLocaleSelection:YES /SkipApplications:NO /SkipAdminPassword:YES /SkipBitLocker:YES /SkipSummary:YES /FinishAction:Nothing
You will need to change server/deployment share and if you are using another tasksequenceID than APPS you will need to changet that to.
When I execute the command the Cursor is working a short time, but nothing happens. In the Taskamanager i can see the Windows Scripting Host, who is working, but no Window appears. Someone knows why? UNC Path is correct. The Sequence Task ID too.
I am not sure. This could be a lot of different things. Check the MDT logs on the client.
Is it possible to speed up the time it takes to get from clicking the shortcut which points to LiteTouch.vbs to the Applications screen?Currently it is taking almost 40 seconds. Part of this is because it does the gathering process.
Not that I know of at the moment.
Modifying the LiteTouch.wsf to ignore the gather process would help but not sure which part(s) to REM out.