AppLink is a great feature of ThinApp. The possibility to merge two or many packages together allows for a much more modular deployment model. But how do your deploy your AppLinks?
I think we (read VMware) did ourselves a big disservice when we decided to add ;OptionalAppLinks=plugins\*.exe as a default setting in the package.ini file. Many out there now think it is required to use a folder called plugins relative to the parent package in order to use AppLink. This is far from true.
Streaming deployment method
If you are using streaming deployment method it is very straightforward. Simply specify the path to the AppLink package as the OptionalAppLinks or RequiredAppLinks.
Local deployment using MSI
If you are using MSI for local deployment it is basically the same principle. If you are deploying your parent packages using MSI why not do the same for your AppLink (child packages)? In your AppLink package use the MSIInstallDirectory parameter in package.ini to specify the folder within the Program Files directory to use. In your parent package you specify this location as your AppLink path.
Package.ini from my AppLink (child) package
This makes my Java package being deployed into my Program Files directory and the Java (VMware ThinApp) folder.
Package.ini form my parent package
Windows variables are supported. In my example I’m using %ProgramFiles%, this way my settings are valid no matter where Program Files is located or named.
So once both packages are deployed you have both packages located in the Program Files directory.