Virtualize applications with Cameyo

Here on dotTech we have talked about virtualization technology plenty of times. However, all previous articles have discussed computer-level virtualization. In other words, they talked about virtual machines, how users can virtualize their computers, etc. What if a user wanted to use virtualization technology but on an applications-level as opposed to computer-level; where would the user turn to?

There is the mostly-defunct Altiris Software Virtualization Solution, which is still available for download for free but has been turned into Symantec Endpoint Virtualization Suite (a paid program) after Alitris Software got bought-out by Symantec Corporation (thanks Symantec). Or, there is VMware ThinApp which is clearly not intended for home-use considering you could buy a car in the money you would spend purchasing ThinApp. That then leaves us with Cameyo.

Cameyo is a fairly new program that allows users to easily virtualize at an application-level:

What do I mean “virtualize at an application-level”? To put it simply, Cameyo takes a program and condenses it down into one .EXE file. In other words, Cameyo allows users to make programs portable. (Of course a virtualized app is not the exact same as a natively portable app, but I think you get my point.)

Using Cameyo is very easy:

  • Run Cameyo (after installing it) and click on “Capture installation”. Cameyo will take a “snapshot” of your computer:

The time it takes to complete the snapshot varies on how powerful your computer is and how much hard drive space you are using. For what it is worth, it took around 2 minutes for the snapshot to complete for me.

  • After the snapshot has completed, you will need to install the application you want to virtualize:

Install the program you want to virtualize and click “Install done” when the installation has finished.

  • After installation has finished, you will need to wait while Cameyo takes another snapshot of your computer:

Like the initial snapshot, the time it takes to complete the snapshot varies on how powerful your computer is and how much hard drive space you are using. It took around 2 minutes for this post-installation snapshot to complete for me.

  • After the post-installation snapshot, you will need to set the name of the package, where to save the package, and what is the “main executable” for the program you are trying to virtualize:

Take note you must select (left-click) an .EXE listed under “Application’s main executable” before you click “OK”. For the most part there should only be one .EXE listed there, but for some programs there may be multiple .EXEs (such as Paragon Software products which has its individual components broken down into individual .EXEs). In this case, either select the .EXE of a “launcher” (if applicable), or select multiple .EXEs as you see fit. (Yes, you can select multiple .EXEs.)

  • Next, Cameyo will build the package…

…and prompt you when everything has finished:

When everything has finished, go to the location where the package was saved and run the .EXE to launch your virtualized program:

If you are looking to put this virtualized package on a portable device, such as a USB drive, simply copy the whole folder onto the device. There is no need to install Cameyo on every computer that you want to run your virtualized applications; just run the .EXE of the respective virtualized package and you are good to go.

Cameyo allows users to edit packages after they have been created, doing things like changing the name of the packages, changing the main executable, add/deleting files, and viewing registry entries. To do this, run Cameyo and either click on the package which you want to edit, or click on “Edit existing package” and load the package which you want to edit:

Be sure to save the package after you are done editing it (via the “File” menu).

As far as I can tell, while you can add/remove the files included in a package, you cannot add/remove/modify registry entries included in the package. For registry entries the only thing you can change is “Isolation” from “Merge” to “Write&Copy”; however, I honestly have no idea what this “Isolation” feature does since there is no proper documentation about Cameyo.

Here are a few important aspects to note about Cameyo:

  • Cameyo allows you to virtualize multiple programs into one package. If you plan on doing that, install all programs before hitting the “Install done” button. Also, when being asked to select the “main executable”, select the .EXEs for all the programs.

Take note if you are going to virtualize multiple programs together, realize that all the programs you virtualize will be launched at the same time whenever you run the final virtualized package. Hence, I would recommend only virtualizing one program in one package – create a new package for each program – so you aren’t forced to run all programs at the same time when you don’t want to.

  • As described above, Cameyo works by taking snapshots of your computer before and after installation and records all changes made to your computer by comparing these two snapshots. This snapshot method means four things:
    • To create a virtual package of a program, you have to actually install it on your computer so Cameyo can record it. You may uninstall the program after the package has been created.
    • If you want to virtualize a software you already have installed, you first need to uninstall it then re-install while you have Cameyo running.
    • Cameyo will capture and record all changes made to your computer, not just the installation of a software. So, for example, while testing Cameyo I took screenshots in-between the two snapshots. So, in the final package, Cameyo included these new screenshots even though the screenshots had nothing to do with the program that was installed. If you find that Cameyo has included too much “junk” (i.e. non-related files) in the virtualized package, you can always go in and edit the package to remove those files.
    • During the “installation” phase of Cameyo, be sure to take all initialization steps (such as registering the program) and install any add-ons/plugins/third-party software before you hit the “Install done” button. This ensures that the virtualized package will include everything that you want. (I highly recommend before you hit the “Install done” button to take the program through its initial first steps, i.e. run it, register it if applicable, and close it.)
  • Cameyo makes an outbound call to a server (the developer’s server I presume) right before the initial snapshot is taken when creating a new package:

I am not particularly sure why the outbound call is made and what it does during that outbound call but for what it is worth, VirusTotal found Cameyo to be clean (only 1/42 AVs found it to be infected)

  • Not all programs can be virtualized properly. You may find that some programs do not function properly after you have virtualized them when you try to run the programs via the package you created. (This is just a technical limitation with some programs.) I highly suggest you test a virtualized package after you create it to make sure the program fully works. It takes trial-and-error to find out which programs will work when they have been virtualized and which have not.
  • Cameyo is still in Beta and it is not 100% bug free (although I didn’t find anything majorly wrong with the program). When I first installed Cameyo, it would crash when I tried to use the “Package Editor”. However, I uninstalled Cameyo and reinstalled it and the “Package Editor” works just fine now. Furthermore, you may find Cameyo’s “Recent packages” list does not properly refresh after you create a new package; only after manually loading the package via “Package Editor” is the package displayed in “Recent packages”.
  • Currently Cameyo has no ability to allow virtualized applications to be set as “default launchers” for files. For example, if you virtualize Microsoft Word, you cannot set the virtualized Microsoft Word as the default opener for .DOC files. The developer has stated the ability to set virtualized applications as “default launchers” will be introduced into Cameyo in future versions.
  • Cameyo doesn’t have very good documentation nor is there very much information on who the developer of Cameyo is. There is a support forum, though.
  • Cameyo has an SDK which developers may be interested in.

That said, why would anyone want to virtualize a program? I can think of a couple of reasons…

  1. The desire to make a non-portable program portable.
  2. The desire to not lose a time-limited freebie (e.g. GOTD giveaways).

…and I am sure other dotTechies can give many more.

Last but not least, here is a short 4 minute video – created by the developer –  that demonstrates Cameyo in action. Take special note of how the developer downloads Flash and Java for Opera before clicking on the “Install done” button to ensure the virutalized package of Opera has Flash and Java:

You may download Cameyo from the following links:

Version reviewed: v1.4

Supported OS: Unknown

Download size: 1.6 MB

Cameyo homepage [direct link download page]

[via AddictiveTips]

Share this post

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

51 comments

  1. Shawn

    I hate waking up old posts but here’s something interesting I found with the new version of cameyo and the new version of Sandboxie you can block the reg keys that we’re conflicting with each other on each side and now you can use sandboxie to make your cameyo files xD

    Sandboxie by itself can’t offer nested sandboxes but with Cameyo I’m almost done doing restore points =)

  2. mule

    @Dm Ancruem:

    1. What version of Cameyo are you using? The current version is 2.0.834.

    2. What environment are you using to capture the installation? I have no trouble with XP SP3 inside VirtualBox 4.2.4, i.e. Cameyo recognizes reboots and starts again when the system is back up.

    3. What software are you trying to package?

  3. Dm Ancruem

    @Jamster Mc:

    You said that the software will continue the capture process after a required reboot and about 3-4 people including myself have experienced that it DOES NOT RESUME CAPTURE AFTER REBOOT.

    If you have gotten Cameyo to do this…please explain.

    Dm

  4. Shawn

    Very good app…

    The most important thing I like is, you can share your entire app in multiple PCs very easily..

    Like Ghosting entire drive, you can ghost an application, and also, it will not change the settings unless we intend to do so..

    But I wish to have a feature added to it.. It should act like a Virtual Sandbox and then install the app for capturing it, so that it will not effect the system at all..

    Thanks for the review..

    Regards,
    Shawn Abraham.

  5. Dnee

    Isn’t Application Level Virtualization is all about running the process (exe file) on a remote CPU(s)?
    I think the author made it quite clear that Cameyo is actually about making application portable.
    Eventually when you’ll run a packaged applications your local CPU will do the work whereas in REAL application virtualization you can run processes on thin clients.

  6. mule

    For those of you who do not want to set up a virtual machine, cameyo now offers an online packager, which will virtualize your application for you without the need to install it on your own computer. Caveat: application must have silent installer.

  7. ruudster101

    @ 38…its not compatible with windows 7…

    http://my.jetscreenshot.com/4247/20100902-kfqt-83kb

    and im not that tech-savy>> i dont dare to mess with my registry…

    @40….I’ve not try it myself sofar…but this is what i heard around the net>>>    When ur puter ask for reboot….open thaskmanager>>>process>>>kill ur   explorer.exe (there are 3 or 4 or more
    explorer.exe mostly…..kill all untill explorer is off…u see that ur taskbar is gone
    …then u go to file>>>>still in taskmanager… u choose new task and u type
    explorer.exe and hit ok….taskbar & explorer will be back…according to some people that would do the trick….without rebooting….

    Like a said i did not do this myself already….and i cannot guarantee its a
    proof thing….

    When i have the time i test it myself & i’ll be back(lol) and tell if it worked for me…

  8. AlanR

    How would Cameyo cope alongside Ashampoo Uninstaller.?
    I use AshU extensively for new installs (because it also has the ability to make re-installable copies, complete with registry entries etc., during uninstalls – of previously recorded installs) even though it can extend time to install considerably at times!! (Even though drive monitoring has been restricted to C:)
    Have not tried to copy an Ashampoo uninstalled “back-up” onto another comp. so don’t know if there would be any problems there.
    However, the ability to “ghost” installs using Cameyo and then use the virtual programs on another comp. is very appealing.
    Question is, would there be any conflicts between the aforementioned programs and any time additions when both are run simultaneously.?
    Will give it a try and hope nothing disastrous happens! (Must remember to switch on Returnil first.)

  9. ruudster101

    @#17 & 23…I installed a software that needed a reboot…I was capturing(taking a snapshot) with Cameyo but after reboot…there was no capturing at all anymore…so that was a bummer.I have windows 7 ultimate 32bit.
     
    Im a doing something wrong?Cant see what…there ‘s nothing to do wrong…

    Ashraf ???

  10. ruchir9897

    Two more things-
    It is recommended that you do repackaging only on a new VM like VMWare Player,Workstation or Virtualbox.Only then you can get clean no problem binaries.One VM only for repackaging.
    Second just before taking capture,close all programs and even your AV,firewall,AV updation,everything otherwise u will get a 10 times bigger exe file full of crap,bcoz all those prompts and checks modifies registry and writes to sensitive C Drive files etc,result will be acceptable although VMware has made an unbelievable freebie like VMware Player for us.Oracle box and MS Virtual PC or even Parallels cannot match it by any means,IMHO.

  11. ruchir9897

    @AB: That is not needed at all.All you have to do is to create an ISO and mount it on Netbook,install it as on desktop.Netbook problem is over.Gizmo is probably the best @ebony: It is not a virtualization solution to protect your PC.Returnil,Timefreeze,Sanboxie are for that thing.It is an application packager like Thinapp, Appdeploy,so that next time you can just click the Exe and use it.@Soulflare3: Maybe because it is a new app and develepor wants to check statistics and so it connects to Internet so ardently like Soluto but maybe harmless.If before a capture and till the capture a virus cre@Rick C.: ates Registry entries only then,it is the difference only and not the absolute part.If you give me 10$ and I return you 9,you lose only 1$,that is the only thing.@Soulflare3: 100 percent.you create a snapshot,install GOTD 1 day installer,open internet connection and do whatever extra till it shows it is registered.Take snapshot and the resulting Exe has everything you want including serial and can be used forever on any system.@Giovanni: It is a repackager only,if you want to commit piracy,you can easily do it anyway,install any trial on any PC and put same 1 user serial on many PCs.99.99% sharewares will accept it there also.@Mike: 100% but you have to virtualise it via Returnil or Workstation so that the resultant permanent installer or exe is there but at that point it does not cripple your system until u need it.@flommedrengen: For more than a year but it is not popular at all and I think it is beta,dont think it will do the same classic job@Rick C.: It will remember the serial,actually it is Installer+Key.@Trent:Returnil free and Cameyo will make an awesome duo.You will have no real installation and a perfect installer for future.@ha14: No,but what you are getting for free is amazing and first time,I never thought a thing like this can be free.It will of course create the same entries as a normal installer does.No sandbox option,ofcourse u can use it when Returnil is on and Reboot to get rid of dirt.@Ashraf: It is an excellent free alternative of Thinapp though no benefit of compressed MSIs,sanboxed and portable options,very slow scan comparatively but outstanding thing.BTW have you tried spoon.net where you can try softwares without downloading any installer and any sandboxing program.I like it absolutely although it will silently download installers and a good free connection is needed.
    Thanks.

  12. Thunder-man

    Mike yes, but we must only close program that make change on HD e.g. Firefox. (Chache)
    I have partition C:\ to J:\ and Cameyo has include
    D, H and Z. (Z:\ is may Ramdisk for Firefox)

    unpacked package-exe:
    (see screenshot)
    http://screendash.com/13378 D_, H_, Z_ are my include partition, because there open programs on it. (Firefox, Thunderbird and Kaspersky Security)

  13. Rick C.

    @Soulflare3: I do not know about everyone else but i myself scan everything after it downloads.  So if i may (excuse the copy and paste Ashraf). “When everything has finished, go to the location where the package was saved” right click and you should be able to use your virus scanner to check it, THEN finish packaging it. I know it is another step but better safe then sorry. Then again if your using Firefox and have Virus Total installed (a recent Ashraf review) you could use that as well.

  14. Thunder-man

    First you must close all programs, or it comes into the package. E.g. Firefox Cache or Profil Data, Kaspersky Lab.

    Cameyo scans all partition, not only C:\, that is useless, or? And we cannot exclude.

    I have Cameyo not installed, but unpacked the *. msi file and run the packager.exe

    This writes to the registry:
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections]
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache]
    [HKEY_CURRENT_USER\Software\Cameyo\Packager]
    “InstallID”=”xxx-one-ID”

    If you delete the Key, a new ID is generated, is probably a unique identifier for the update. (I think)

    With 7-Zip we can unpack a package-exe file and delete files manually.

    The registry is stored in the file VirtReg.db a paradox database. (Password protected)

    greeting
    Thunder-man

  15. Soulflare3

    This looks very interesting, but what worries me is the fact that that outbound call is made. I am using win 7, so to test I’m going to use VirtualBox and run XP, then see how much data is transferred out. In the video I noticed a lot of activity when the final package was being created
    (in XP, the two computer icons light up when there is network activity).

    Also, if you install a program while this is running and said program has a virus attached to it, won’t that be run on every machine and infect all of them when you use your new package?

  16. Mike

    And so, the idea with using this with GOTD offerings:  
     
    Am I correct that this doesn’t stop the need to install the GOTD offering the day of the offer; but that it allows you to delete the offering off your computer after running Cameyo and installing the GOTD offering, and then to run the GOTD program in the virtualized form?  And so, this would be a way to share a GOTD offer with friends after the offer date; or to run a GOTD offer after you’ve reformatted your computer, or moved to a new one/new hard drive and reinstalled programs rather than copied your earlier computer image to the new computer?
      
    And so, a new “protocol” for GOTD offers might be:  start Cameyo and the virtualization process up; install the GOTD offer (the day of the offer); finish the virtualization process; and keep the virtualization of the offer around for the future, in case you need it.  I guess the only “hassle” this would add is the time to do the virtualization process–in Ashraf’s case, around 4 minutes plus Cameyo transactional time. 
      
    Interesting!   :)
     
    Does anyone know, does running the program in virtualized form add any extra lag time to the program?  Or any other complications?

  17. Giovanni

    Hey Ashraf!!

    Let’s suppose you have purchased a license of a commercial product such us Office which can be used on a single PC…ok??

    Now, for what I can see, this freebie can turn any APP into a PORTABLE one, allowing you to run any (commercial or non) APP wherever and whenever you want even by using a different PC…is it like this??

    Well, I’m not an expert in IT law  but as far as I’m concerned modifying and/or redistributing closed-source executables can actually be considered as a clear violation of the license of a commercial program.

    What do you make of it??

  18. Jamster Mc

    @Jim Carter
     
    The software allows you to reboot your system and the program will work fine and create the .EXE like it would do if you didnt have to reboot the computer, worked fine for me.
    Jamster Mc

  19. Giovanni

    Hey Ashraf,
    let’s suppose you have an APP in ur HD infected by spyware your AV and/or Antispyware missed to detect.

    Everybody knows that the use of the PORTABLE version of a SW is usually aimed at avoiding messing up the registry of your PC….right?

    So the question is: if Cameyo turns every APP into a PORTABLE one, is this FREEBIE able to isolate the infected APP stored in ur HD in a similar way Sandboxie or Geswall usually do or does it affect the registry anyway??

    And how about the license of commercial products such us Office???

    Can this freebie be used to run a purchased licence of Office in another PC??

  20. Trent

    @Ashraf,
    Thanks again for another great heads-up program.
    My question is, would Returnil allow me to do an install of a new program while capturing it with Cameyo? Then I can just reboot when done and not have to uninstall the program I want a virtual of or go through a clean up to get rid of all the junk in the registry.
     

  21. Jim Carter

    I used a program like this once before and there was a problem that wasn’t addressed in the documentation. I didn’t see that issue mentioned in association with this app either. The software I’m installing requires a reboot of the PC (I’m assuming modifications essential to running the app take place after the reboot). The previous virtualization app I was using didn’t return after the reboot, so I didn’t get (in my opinion) an accurate snapshot.
    Any comments about this app with regard to installs that require a reboot?
     

  22. eee

    Regarding the defunct Altiris SVS, I’d like to point out that it was turned into Symantec Workspace Virtualization which is alive and free for home use and if you have a license key for the Altiris SVS Personal, it is valid with it.

  23. Rawser

    What if you want to virtualize a program you have installed and it is one of those programs that don’t clean up the registry properly when they are uninstalled ? I guess Cameyo will not be able to pick up the necessary registry values since there will be no changes to the “already-existing-from-previous-install” keys.

  24. ha14

    Thanks for the article, it looks a good soft, Is it possible to define isolation mode during setup, or the only mode currently being Merged mode: the application can read and write directly into the system.
    The second mode is known as the WriteCopy, helps prevent the application to write to sensitive areas.It is also likely that applications based on the Framework. Net or using drivers do not appreciate the method.

  25. Jamster Mc

    Sounds great, for the GOTD giveaways should we run the program before its contacted to GOTD server to make sure its still valid or wait until the actuall instalation
     
    Thanks,
    James McManus
     

  26. Ashraf
    Author/Mr. Boss

    @AB: Yeah, sounds right. Let us know if it works properly for you.

    @ebony: If you no longer want a virtual copy of a program, simply delete it – it will be gone.

    It seems like Locutus’ comment about “it doesn’t revert your system back to the snapshot” is confusing people. Let me clarify. Cameyo monitors installations and records them – it does not interact with the installations in any way. You have to install the program by yourself – so Cameyo can record it – and you need to uninstall the program by yourself (if you want to uninstall the program). Cameyo is not a “restore” program; Cameyo makes no changes whatsoever to your computer, aside from creating the virtual package.

    @IT3: You are welcome! Unfortunately I don’t know if it will properly virtualize Photoshop or not – I don’t have PS =(. Please do let us know if it works for you!

  27. IT3

    Ashraf: First, thanks for another great recommendation! Second, do you think it works (or did you test it) with Photoshop, such as the new CS5?  I am about to purchase it and man would it be great to take it with me and be able to use it on more than one system!

  28. ebony

    @Ashraf
    You are so right about the many discussions of visualizing. visualizing at the application level is something that I can make use of since I like trying new SW.
    Thank you for posting and forgive me if I  missed it but how to you discard or add the program if you decide you want to get rid of it or keep it.
    Can you clarify “it doesn’t revert your system back to the snapshot?”
     

  29. AB

    Seems like a great ideas for netbook users since netbooks don’t have optical drives.  For example, it seems possible for one to virtualize wordperfect on your desktop, copy it to a removable drive, and then copy of the virtualized wordperfect to the netbook.  Am I right on this?  Thanks.

  30. Locutus

    Another great thing about application-level virtualization is things like installing iTunes–it’s extremely bloated and installs several autorun items, so it’s the kind of nuisance that is best to be avoided, but if you have an iPod it’s also the best program to use.