I am trying to use Cameyo app with software which use shared MDB database file. MDB-file is shared with all applications in same network.
So my network explained:
Computer A:
- Cameyo virtual application shared in network drive - Database file used by virtual application
Computer B
- Opens Cameyo virtual application from network drive
So when I open the application from Computer b, it ask me to choose location of database file. It opens a file explorer so I could pick up the file. Problem is that the file explorer is showing files from computer B when it is suppose to show files from computer A (As the application is inside computer A). This is behaviour in VMWare thinapp and I would like to see same behaviour in Cameyo. I could locate the database file from network drive, but then file would travel from computer A to computer B and back to computer A for no real reason.
In compact:
behavior
WmWare ThinApp
Cameyo
File Explorer pointing to
Host computer
Local computer
In VmWare ThinApp, if application opens a file explorer, it looks exactly same as if file explorer had been opened from host machine. You cannot see files inside client computer but inside the hosting computer. So is there any way to have "file explorer" in Cameyo application to behave like in Thinapp?
-- Edited by ottoville on Monday 29th of July 2013 08:44:23 AM
Please try beta version of Cameyo. With Build 1058 and above, "Strictly isolated" option was added, which means the package will see only inside itself (or whatever locations you specify).
Also, make sure you have Data storage set to where you want it. The default location is %AppData%, which means the repository will be on Computer B if launched from Computer B. You can set it so that the repository is on Computer A even if launched from Computer B if that's what you want.
Package Editor is the way to make the above customizations.
Thank you for the answer, it was very informative. I tried new beta version but I noticed that even with new version it is not possible to modify files in host computer. Because in my software all instances of the application are using shared database file, it is important that when one instance of application is modifying the file, then all another instances see modified version of the file. This means that the database file should not be packaged inside cameyo app but to be able being open as write mode from locally in host computer when cameyo application is streaming. Now file is packed separately to each instances and all modifications are only local modifications inside cameyo package.
After all, Cameyo seems not yet to be suitable for application streaming for virtualized applications, as nothing from host computer (files, environment, devices, input&output methods, internet connections) are not really streamed to client, but simply all files packed to one file?
-- Edited by ottoville on Tuesday 30th of July 2013 12:32:48 AM
1. If you want users of the package to see only the files in the repository, leave as Strictly Isolated and direct other applications to the package's sandbox.
2. Change database file folder from Strictly Isolated to Full access within package. The "downside" is that the package will be able to see outside of itself, but the user can navigate to where the database file is on Computer A from Computer B.
3. If multiple users don't need to access the same updated database simultaneously, you can leave as Strictly Isolated and create an On stop (unvirtualized) Custom event that copies the database file from the sandbox to the real filesystem. This is done with Package Editor under the Advanced tab.
1. If you want users of the package to see only the files in the repository, leave as Strictly Isolated and direct other applications to the package's sandbox.
No its not working like that. I made it strictly isolated and I see from package's size that database was included in package (database is very huge). When I open the app, it pop up's the windows file explorer and ask me to choose database file, file explorer is showing files from my local computer, not from inside package.
If you don't want the database file to be part of the package and you want the package to be able to modify the database file in its original location, please try my suggestion #2, i.e. change database file folder from Strictly Isolated to Full access with Package Editor under Files tab. Add empty folder named UNC to FileSystem, add empty folder inside UNC named Data-server-computer, and add any additional empty folders to get to the database file location, giving this final folder Full access.
You should run the package with -Remove parameter before editing it to remove the copied database file from the sandbox; the entire sandbox will be deleted. (Drag package to the command line, add a space and -Remove.) If Data storage isn't set to Under the executable's directory, use -Remove parameter from both Computers A and B.