Hi there!
That's simple logic.
If you take a look at the [Application] Section based on an unattended template (Emp v18) you will have to recognize the following values:
ReinstallString="%CommonSetupDir%\Setup.exe" "%App%\%SetupInfDir%\Setup.inf"
ApplicationDir=%CommonAppData%\$Matrix42Scripts$\%DeveloperName%\%ProductName%\%Version%
The user part installation is just like a reinstall. Therefor the local stored Setup.inf (%CommonAppData%\$Matrix42Scripts$\%DeveloperName%\%ProductName%\%Version%\%SetupInfDir%\Setup.inf) will be used.
In addition to that the value
SrcDir=..
,also declared in the Application section, is a relativ path based from the called Setup.inf (%CommonAppData%\$Matrix42Scripts$\%DeveloperName%\%ProductName%\%Version%\%SetupInfDir%\Setup.inf).
In this case (reinstall) the src value is equal to the app value.
If You call an installer in the user part, the called installer will have to be cached locally (in your case in the app or src directory).
Sections that should be processed during a user part also, will have to be flagged with the CLIENT option.
This is mandatory too, if you copy files into an userprofile using the internal 1: function.
I have to admit - the Empirum script language is not the most reasonable one in this case.