There are three methods that should be able to help: MDT, Image Capture and an experimental run scanner instance.
MDT - Application Install
This is my preferred method as it allows to modularize your install image so that you can make it agile and replaceable.
E.G.
If a new version of Windows is released, you will have to set up a completely new install image.
With a MDT App install, all you have to do is update the install image itself.
You can also update the application without having to update the install image.
Here is how to do an app install:
Step 1:
Go to the applications folder of the deployment share.

Step 2:
Add a new application.
Step 3:
Select the deployment that you want to use, e.g. network app, app in deployment share, etc.
In this example, we will use app source integrated into the deployment share.

Step 4:
Fill out the info for your app that you want to integrate.
It is highly recommended to fill this out as it will allow you to do advanced filtering down the road in your task sequences if you wish to implement that.
Step 5:
Specify where your source files that you want to integrate.

Step 6:
Validate the name of the folder in the deployment share that you want to create.
Step 7:
Overview the setting you specified and when you are ready, press the next button.

Step 8:
After the application has been added to your deployment share, it is time to integrate it into your task sequence.
Go to your task sequence and add a new Install Application
task.
Point it to your application that you integrated into the deployment share.

And that is it! You have just put an application into your deployment share and kept your reference image agile.
You can update the app without having to capture a new reference image.
The cool part of MDT is that you can mix modular apps and custom image captures and they work hand in hand. So, you might integrate Office into the reference image and have the excel add-ins installed via MDT.
Image Capture
You can integrate the app directly into the WIM
/ESD
image by applying the WIM
/ESD
image to a reference machine, installing the app, sysprep
ing, and image capturing the machine into a new WIM
/ESD
file.
That will integrate the app natively into the image. I don't generally recommend this as this make it more difficult to manipulate the deployment process as it essentially freezes the app in place and forces you to use that base image if you lose the app installer stuff. I have seen this happen too many times.
Runscanner - Not tested
Note: I have not tested this!
WinBuilder
has a RunScanner
module that you can use to trick non aware application to execute in a different context.
You could potentially mount the WIM
/ESD
file, and use RunScanner
to execute the app in the context of the mounted WIM
/ESD
file.
After the install has completed, you should be able to un-mount the image and commit it.
Remember, this is untested as I don't normally use RunScanner. Use at your own risk!

Tl;Dr
Unfortunately adding apps directly to a WIM
/ESD
image is not natively supported.
If the application is portable you can just plop the exe
into the appropriate folder and put a shortcut on the all users desktop, then commit the image.
Image capture and MDT
applications are meant to solve the app as part of deployment issue officially.
You can also just deploy apps after deploying with SCCM
/Group policy
.