VMware Communities
stevenz20111014
Contributor
Contributor

Create custom patches for Virtual Machines

Hello All,

We distribute a VM containing a demo of our software. The VM weighs in at 26gig and we distribute it via FTP. The problem I'm having is that if we need to make a configuration change to fix an error or add a feature, our partners have to redownload the 26 gig VM (which is only 10gig after InstallShield). Is there anyway to release our own home grown patches for this VM? I'm not talking about Windows updates or anything its more of a general way of having our partners download a much smaller Diff file that they can then apply to the Virtual Machine they have already downloaded.

Thanks for any input you may have.

Steven.

0 Kudos
6 Replies
WoodyZ
Immortal
Immortal

Well I see you originally asked this question on Sep 16, 2011 9:25 AM and I hate to say this but I didn't reply then because you said "...so please be gentle" and I normally just will not respond when users say things like that.  Anyway you asked the same question again, albeit worded differently, on May 7, 2012 3:18 PM and in both case no replies from anyone.  So now your repeating the post from Sep 16, 2011 9:25 AM sans the "...so please be gentle" part and I guess the third time is the charm, so to speak.

I want to say that generally speaking the answer is no, in other words VMware Player/Workstation does not offer that sort of functionally per se, however technically it's doable although certainly not officially supported and how plausible is another story altogether depending on all factors involved.

Before I make any suggestions or recommendations I'd like to know how the VM was prepared for transport, in other words what explicitly and specifically was done to the VM to make its footprint smaller before packaging it for transport/installation.  Additionally what OS is installed in the Guest and what is the software package that's being demoed?

0 Kudos
stevenz20111014
Contributor
Contributor

Thank you for the response WoodyZ.

The VM was prepared for transport by creating an msi that simply copies the VM files to a directory.  Creating the msi compresses the VM using the MSZIP algorithm and forces a click-through EULA.

The OS that is installed is Windows 7 Enterprise 64-bit.

The software being demoed is OnBase.  A Hyland Software Enterprise Content Management solution.  http://www.hyland.com/

0 Kudos
WoodyZ
Immortal
Immortal

The VM was prepared for transport by creating an msi that simply copies the VM files to a directory.  Creating the msi compresses the VM using the MSZIP algorithm and forces a click-through EULA.

Wow, so absolutely no preparation is being done to the Virtual Machine to create and initial footprint of the smallest size before packaging!?  That's not good, not good at all!  Of course I don't know what all has been installed and going to the web site was of little use as it offers no technical information like system requirements and I couldn't even watch the demo unless I first give information that frankly shouldn't have to be given when I'm the one trying to see if using Hyland's ECM System is something I'd want to pursue.

Anyway even though the files that comprise the Virtual Machine are being compressed nonetheless when one installs an OS, updates it and installs various software packages there can be several gigabyte or more that can be cleaned up and the virtual hard disk compacted before the packaging process thus reducing the overall size of the installer package being downloaded.

The OS that is installed is Windows 7 Enterprise 64-bit.

The software being demoed is OnBase.  A Hyland Software Enterprise Content Management solution.  http://www.hyland.com/

Since I have concerns over whether or not you have proper licensing to redistribute Microsoft Windows in that manner and do not have enough information about the overall build out I'm reluctant at this point to say anything more then why can't the software developers of OnBase develop, write and package standalone patches like so many other software developers do to update the program.  The fact that it's running in a Virtual Machine should effectively be no different then running on a Physical Machine.  Of course if what you're talking about involves changes, tweaks and or modifications to the OS and other 3rd party software in the Demo too then I can see why a Delta type solution might me more preferential.

0 Kudos
stevenz20111014
Contributor
Contributor

I forgot to mention some of the other steps that are taken before the msi process.

Windows Disk cleanup is performed including the "Clean up system files" option

Hibernation is disabled

C:\MSOCache is deleted

System Restore is disabled and all restore points are deleted

Windows Backup is disabled

CCleaner is run

The shrinking process is performed on the disks

Did you have something else in mind?  

We do have license agreements in place to distribute Microsoft Windows for the purpose of demonstrating our software.  The differential approach is preferrable because it is not just the version of OnBase that changes between versions of the demo.  Many aspects of the VM are changed:

OnBase version (which is comprised of about a dozen different msi files since the software is modular)

IIS Configuration

Windows/Adobe/Java Updates etc.

OS configuration changes.

Thank you for your feedback.

0 Kudos
WoodyZ
Immortal
Immortal

Steven Zeltner wrote:

I forgot to mention some of the other steps that are taken before the msi process.

Windows Disk cleanup is performed including the "Clean up system files" option

Hibernation is disabled

C:\MSOCache is deleted

System Restore is disabled and all restore points are deleted

Windows Backup is disabled

CCleaner is run

The shrinking process is performed on the disks

Did you have something else in mind? 

Okay that's good and what I would do also! Smiley Wink

We do have license agreements in place to distribute Microsoft Windows for the purpose of demonstrating our software.  The differential approach is preferrable because it is not just the version of OnBase that changes between versions of the demo.  Many aspects of the VM are changed:

OnBase version (which is comprised of about a dozen different msi files since the software is modular)

IIS Configuration

Windows/Adobe/Java Updates etc.

OS configuration changes.

Okay the problem is you're dealing with a complex build of software so applying internal patches can be cumbersome and messy so providing a complete Virtual Machine ensures a working demo product.   Now as I previously said, "I want to say that generally speaking the answer is no, in other words VMware Player/Workstation does not offer that sort of functionally per se, however technically it's doable although certainly not officially supported and how plausible is another story altogether depending on all factors involved.", so one way of going about it could be to use Linked Clones.  While the concept and practice of Linked Clones is supported nonetheless it's not officially supported to do what is being suggested here although it certainly is something to evaluate and see how plausible it is and whether or not it's worth what would need to be done to implement in your particular Use Case Scenario.

Simply put, you could use the existing build as your base build and then create a Linked Clone to make modifications.  You would then package the Linked Clone which should be relatively small in comparison to the Base Build although over time I can see having to issue a new base build and clones again, etc.  The tricky part is getting the User to understand that the Update will only work with the original base build and you'll have to employ error checking to make sure the Linked Clone is being used with the Original Unmodified Base Disk in order for everything to work seamlessly.

Anyway is food for thought and hopefully more then you had to think about before you posed the question.

stevenz20111014
Contributor
Contributor

Thank you for the input WoodyZ.  I will look into the Linked Clone concept.

0 Kudos