Saturday, August 28, 2010

Making Microsoft Office 2003 Portable

I had discovered that many Windows XP applications came in portable form, or could be made portable, and I had decided that portability had some advantages for me.  In the process of transitioning toward greater use of portable apps, I came across the question of whether Microsoft Office 2003 could be made portable.  This post describes my investigation into that question.

Normally, I would just install Office from the CD, and by default it would do its installation thing on drive C.  Alternatively, I had found that I could download copies of Office 2003 that people had converted into portable format.  These presumably pirated versions seemed to carry the risks of being unstable or nonworking, and also of infecting my computer with viruses when I downloaded or ran them.

The more intriguing possibility was to use an application virtualization tool designed to create my own portable version of Microsoft Office (or of other installed software, for that matter).  Among the many virtualization tools listed in Wikipedia, I wanted WinXP-compatible freeware.  This amounted to a search for information on Cameyo, FilePacker, and JauntePE.  In a relatively brief inquiry, depending heavily on the slickness of the developer's webpage, I got the impression that Cameyo (although still in beta) was the best-developed of the three, so I started with that.

I found descriptions of Cameyo's virtualization process at DotTech and Addictive Tips; I also found at least some potential for support in Cameyo's own thinly developed forums.  The basic idea was that, when I ran Cameyo, it took a pre-installation snapshot of my entire system.  Then it wanted me to install the program that I wanted to package (i.e., Office 2003).  Then it would run a post-installation snapshot, and give me the package.

The DotTech article seemed to say that installing the whole Office 2003 suite at once would cause a problem:  all of the programs in it would run anytime I tried to start any one of them.  So that wasn't a great prospect.  The better idea seemed to be to package just one Office 2003 program at a time.  I decided to start with Microsoft Word 2003.  For that purpose, the first question was, what should be included in a complete installation of Word?  The first thing, of course, was Word itself, along with the relevant updates downloaded from Microsoft.  So that's where I started, with Cameyo running.  (I was doing these tests in clones of a clean new virtual machine (VM) running in VMware Workstation 7.1 on Ubuntu 10.04.)

When I installed Word, I chose the advanced/custom installation option, and indicated that I wanted to install everything under Microsoft Office Word (but nothing under any other program), along with the default Office Shared Features and Office Tools.  When the installation finished, I had the option of removing setup files from drive C.  I decided to keep them, even though space on a USB drive would be relatively limited, because I certainly wouldn't want to have to go hunting for a setup CD when I was off somewhere, relying upon my USB drive.  I was relieved that none of the updates required a reboot; then again, I noticed that Cameyo's dialog box said, "If installation requires reboot, simply reboot" -- so apparently it would just keep right on recording on reboot.

After that, the next step in the Word installation process, for me, was to install the converter pack from the Office 2003 Resource Kit.  I used the AutoCorrect.dot macro to restore my large collection of word corrections and abbreviations.  I also used the Office 2003 Save My Settings Wizard to restore various configuration adjustments that I had made and saved from a previous Office 2003 installation.  For some reason, it did not restore all of those adjustments.  For instance, in Word's Tools > Options > File Locations, I had to reset the preferred locations for files.  To automate this for future reference, I took Regshot pictures of drive C before and after making those changes, and saved the difference as .reg files for possible use in some future installation.

At that point, I clicked the "Install done" button on Cameyo.  It spent quite a while taking a post-installation snapshot, as I had heard it would -- a half-hour, I would say, though I didn't time it.  When Cameyo was done, it just sort of disappeared.  I wasn't sure where it had saved the finished product.  The only two options in the Start menu were Capture Software Installation and Package Editor.  I had already done the former.  When I tried the latter, it gave me an blank window with File as the only menu pick.  I tried File > Open.  It defaulted to its own program folder, and there was nothing there related to the Office 2003 portable executable file that I was hoping to find.  Nothing in My Documents, nothing on the Desktop.  When I restarted Cameyo, it showed nothing under "Recent Packages."   It didn't seem like others were having this problem, so I posted a question on it in the Cameyo forum.

While I was waiting for a reply, I did what I probably should have done in the first place:  I uninstalled Word 2003 and prepared to reinstall it, again with Cameyo watching, but this time I didn't plan to continue on with the time-consuming process of installing updates.  Instead, I planned to do a quick installation of Word 2003 by itself, just to try it out.  But now Cameyo wasn't wanting to cooperate.  It crashed three times in a row while trying to do its pre-installation scan.  That may have been related to a problem with the operating system.  I was doing this stuff in VMware virtual machines (VMs), and this particular one became unstable.

So I tried again in a new VM.  It was a clone of a newly created WinXP installation, with virtually no prior program installation or uninstallation, so I didn't expect any more operating system issues.  I installed Cameyo in this new VM, set it up to capture, and proceeded to install Word.  This time, it ended differently.  After its ending snapshot, it gave me a dialog labeled "Main Executable."  This dialog asked me to provide the name of the application, to say where I wanted to save it, and to identify its main executable, i.e., the program that I wanted to run "when the package is opened."  Under that last question, it gave me about ten choices.  First on the list, and the correct answer, was WINWORD.EXE.  Other possibilities included OIS.EXE (Microsoft Office Picture Manager) and MSPSCAN.EXE (Microsoft Office Document Scanning).  I wasn't sure what it took for an .exe to make it onto that list.  Maybe these were programs that had run during the setup process.  I noticed that PROFLWIZ.EXE (the Save My Settings Wizard) was also on the list.

After I filled in those blanks and selected WINWORD.EXE, I got an indication that Cameyo's Packager was building the package, and then it said, "Success.  Package successfully saved in" the directory that I had named.  I went to that directory and took a look.  There, I saw a file named MicrosoftOfficeProfe.WINWORD.virtual.exe.  Its size was 6,361KB (i.e., 6.2MB).  That seemed pretty slim.  I wondered whether it did somehow contain references to other Word installation files on that computer.  I also noticed that this completed job was not listed in Cameyo's list of Recent Packages.  I renamed the file to be Portable Microsoft Word 2003, and tried running it right where it was.  I got a dialog:

Fatal
Cannot find RESOURCE_COREZIP

So, OK.  Not a good sign.  I did a search for that file and concluded that it was telling the truth:  I couldn't find RESOURCE_COREZIP either.  I wondered if renaming had caused the problem, so I changed its name back to the longer original form and tried again.  But no, I still got the same Fatal message.  So was I perhaps supposed to include most if not all of those other programs (e.g., MSPSCAN.EXE) in the final package after all?

So far, I wasn't too impressed with Cameyo, and I was also starting to have some questions about how (or whether) this packaging concept would work, for a program that needed to be changed from time to time, as was the case with Word.  I mean, would I be able to adjust its settings, and would any changes that I made be preserved?  Suppose, for example, that I wanted to add another AutoCorrect item to my list.  Suppose I was doing a lot of work for the International Delegation of Information and Operations Training System, and I hated typing all those words:  I just wanted to designate a shortcut (IDIOTS) and let that expand into the full name.  I'd type IDIOTS, hit the spacebar, and, boom, AutoCorrect would do its magic and give me that whole long name instead.  Could I add that to the packaged Word, or not?

Ideally, I would have tested that in Word itself.  But since I wasn't getting too far on that front, I tried Cameyo again, this time using a simpler program as a proxy.  So I used Cameyo while installing IrfanView 4.0 and its plugins.  Cameyo's packager crashed while trying to do its initial snapshot, so I tried again.  When installation finished, I went into IrfanView's Options menu and took a look at some of the default settings.  Then I went to Cameyo's packager and clicked "Install done."  It took its post-installation snapshot and gave me the "Main Executable" dialog again.  This time, though, it didn't name any main executables at all, and it also wouldn't let me type in the path to where the newly installed IrfanView executable was.  So I named a folder where I wanted it to save the main executable and clicked OK, and again it reported Success.  But there wasn't anything to run in the target folder, so I think Failure would have been the more appropriate report.

So I was done with Cameyo.  I noticed that JauntePE had gotten a number of mentions on PortableApps.com, whereas FilePacker had not, and anyway I had started out with the impression that JauntePE was considered a leading if imperfect entrant in this field.  So now I tried JauntePE.  I downloaded both the alpha executable and an apparently accompanying set of runtimes and unpackaged them both on a clean new VM.  Then I ran JauntePE.exe.  It admitted it was an incomplete program.  I clicked on its "house" icon, which I took to be the home or starting point.  That seemed to be where I was already -- nothing happened -- so I tried the next icon, showing "tools."  Nothing happened.  Third icon:  the tooltip said this was the JPE Quickie option, which the home screen had said was where I should start.  I ran JPE Quickie.  In its first screen, it gave me the option of naming an installer or an application already installed, and also the option to "leave intact any Quickie portable data [or discovery data, whatever that was] from previous runs" -- suggesting that, with JauntePE, perhaps I could indeed start up from where I had left off, after making subsequent adjustments to my Word 2003 installation.  I took a look at Quickie's Settings tab, but wasn't really clear on what most of them were about, so I just left them as they were.

So I clicked "Run Portably" and then "Run Normally" to run Quickie with the IrfanView setup executable.  It did its thing and gave me an error message:  "Unhandled Error."  I clicked OK from that.  Then it showed me the IrfanView installation screen; but after a moment, that crashed.  This was unexpected:  IrfanView had always installed for me without any problems.  I canceled out of that and tried "Run Portably" again.  Now I got a message indicating that JauntePE could not access a certain discovery mode output file.  It said, "If you have corrected the problem, click OK, otherwise Cancel."  I hadn't corrected anything, so I clicked Cancel.  Despite the error, which was apparently not serious, JauntePE proceeded to try to install IrfanView again.  It gave me the same Unhandled Error message, and again the IrfanView installer crashed.

Well.  JauntePE was alpha software, after all.  If it was having this much trouble with IrfanView, I hated to think what it might be like to try to portabilize Office 2003 with it.  I skipped on to FilePacker.  Unlike JauntePE, FilePacker was not a portable app.  It installed to drive C.  I ran it.  It was simple.  It created a 7MB executable.  I ran that.  It opened up the IrfanView installation dialog.  So basically (as the writeups had already more or less explained) the concept of FilePacker was just that it would combine, into one package, all of the executables you designated; and when you ran that one package, it would run those executables, or at least one of them.  It wouldn't actually give you a ready-to-use portable application.

So far, JauntePE had come closest to offering (although not providing) what I wanted:  a portabilizer that would also seemingly allow me to include subsequent updates, changes in program settings, and other adjustments, without having to go back through the whole setup process from the beginning.  Ideally, it would also be slickly packaged, so that I wouldn't have to do a lot of research to figure out, by trial and error, how I should have answered this or that question during the setup process.

Apparently I was going to have to pay for a program that would do that.  Looking again at Wikipedia's article on portable application creators, I decided against the category of programs that would require something to be installed on the host machine, in favor of those that created true portable (i.e., standalone) apps.  This meant that I was opting against U3, PackageFactory, and MojoPac,.  For instance, the developer's webpage said, "MojoPac requires the host PC be logged in with administrative privileges or have MojoPac Usher installed."  I also wasn't looking for the creation of an entire virtual environment from my USB drive, which was what both MojoPac and Ceedo Personal offered.  A review by nc10 said that, unfortunately, in MojoPac, any software with a copy protection scheme tied to a particular computer (including specifically Microsoft Office) would fail to operate on other computers.  Also, I didn't want to be dependent on Microsoft, so that eliminated Microsoft Application Virtualization, and I didn't want to pay hundreds or thousands of dollars, which meant I wouldn't be using BoxedApp Packer, Spoon Studio, LANDesk Application Virtualization, InstallFree Bridge, or VMware Thinapp.

It seemed, at this point, that the market for heavy-duty portabilizers was still immature.  Even if I was willing to pay up to $100, I was going to have to wait, probably for a couple of years, to find a selection of high-quality programs that would crunch something like Word 2003 into a single package that I could just carry around and run on any Windows computer, and could also update without having to go back through the whole setup process.  I did decide to try Ceedo Personal, by the way.  The story of that investigation is in a separate post.  In a word, it only reinforced this sense of market immaturity.

To sum up, there seemed to be some ways in which Office 2003 could become portable.  That development might require nothing more than the emergence of a better version of, or competitor to, the programs cited above.  While I did not think that the market for such programs would mature within the next year, I could hope that at least one affordable, robust application of this nature would emerge within months.  At present, however, it appeared that I could not make a portable version of Microsoft Office 2003.

5 comments:

Anonymous

Thanks for the review! Very helpful to see your experience before I go don the road. Well, maybe it is not a road but an un-beaten path. I've ued ThinApp a few times with success, but I don't have thousands of dollars to buy it. I hope these projects find their way.

fellow

Anonymous

Thank you for detailing your efforts - great review! I've had pretty much the same experiences with the packages, though I wasn't running a VM - so the VM was probably not necessarily a problem. Keeping my fingers crossed so I can use my apps elsewhere without having to take my laptop. For now I've settled for a number of apps that don't use the registry, Open Office portable foremost among them.

mule

Cameyo has progressed since you tried it. People have successfully virtualized different apps from Office 2000, 2003, and 2007. The current Cameyo doesn't work with Office 2010, but it's getting there.

Word 2003 portable

thanks for informations, good products!

raywood

Another post indicates that, six years later, Cameyo still seemed unable to package Office 2003.