For your example of WebDeploy, you could add this:
"C:\\Webdeploy\\WebDeploy_amd64_en-US.msi" : {
"source" : "http://download.microsoft.com/download/1/B/3/1B3F8377-CFE1-4B40-8402-AE1FC6A0A8C3/WebDeploy_amd64_en-US.msi"
}
as a element of this section of the template
"WindowsServer": {
"Type" : "AWS::EC2::Instance",
"Metadata" : {
"AWS::CloudFormation::Init" : {
"config" : {
"files" : {
You could then add this command:
"1-installwebdeploy" : {
"command" : "msiexec.exe /i C:\\Webdeploy\\WebDeploy_amd64_en-US.msi ADDLOCAL=ALL /qn /norestart"
}
to the list of commands.