I've been playing with Cameyo for the past couple of weeks and have successfully packaged many apps that I use in my systems (virtual and physical). But there is one program that eludes me.
I trying to package an old version of a development environment (labview 7.0) to run on a machine with limited rights. The machine in question has DEP enabled for all processes and UAC enabled.
The program, installed natively, runs fine as long as the main executable is added to the DEP exclusion list. I've captured the application successfully and am able to run it with DEP disabled. In order to run it with DEP enabled I have to create a DEP exclusion for the executable located in the APPID.cameyo.files\PROG\%Program Files% ... folder, not the virtual location.
I've attempted to capture the application exclusion in the registry (\MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags) during capture, but the physical address of the executable is not variablized. Thus when the packaged app deploys the exclusion is pointed at the wrong address and the application doesn't launch.
If I add the exclusion to the package, it works, but it has to be the full path in the .cameyo.files directory.
Question is, how can I make the path to the executable a variable so the registry entry points to the physical location of the executable instead of manually updating the registry entry in the package for each deployment location? I've tried to do it manually using the [#CAMEYO-VAR#], but that is taken a string and not a flag for insertion of a variable.
Is Cameyo just not looking at ...AppCompatFlags\Layers during capture and thus the entries not being variablized?
Being licensed software I don't think I could post it. The issue with the DEP entry is that the variable path would be in the key name and not the key value, and looks like that is not handled properly.
I haven't tried a script, I did try some .cmd and .bat approaches (using the environment variables in Cameyo) using the command line approach to creating a DEP exclusion, but the target system is so limited that there isn't even access to the command prompt and these don't work (as they require elevation of privileges). I ended up setting a custom location for the package files and hardcoding the DEP exclusion into the package virtual registry.