Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert to clean version of VM with new expiration on license #157

Closed
bradical opened this issue Jun 11, 2013 · 17 comments
Closed

Revert to clean version of VM with new expiration on license #157

bradical opened this issue Jun 11, 2013 · 17 comments

Comments

@bradical
Copy link

I saw some mention of doing this in a few issues, but wasn't clear on the process.

I've been:

  • Deleting the vm from VirtualBox (including the files)
  • Re-running: curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | IEVMS_VERSIONS="7 9" bash to reinstall a particular version

Is there an easier (less network intensive way) to reset the VM to a point where the time left on my license starts over or is this as good as it gets?

@oblogic7
Copy link

I am wondering the same thing. I thought that VB snapshots were supposed to take care of this, but it isn't working.

@bradical
Copy link
Author

I believe you have to re-download the disk images each time to get the license to reset.

@oblogic7
Copy link

From the official modern.ie instructions...

It is also highly recommended that you implement a rollback strategy for any virtual machines that you
download. This could be as simple as holding onto the original archive that you downloaded, or you
could take advantage of your virtualization platform’s snapshotting capability so that you can start over with a fresh VM at any time and not have to worry about the guest operating system running out of trial
time.

Source (pdf): http://virtualization.modern.ie/vhd/virtualmachine_instructions.pdf?v=1.1

I would think that means that snapshots in VirtualBox would roll back the license too... unless VB snapshots don't work like I think they do.

@xdissent
Copy link
Owner

The clean snapshot doesn't reliably reset the expiration date. There has been much misinformation about what the actual expiration dates are as well as how to reset them, but the gist is: XP is 30 days, all others are 90 days, and win7 allows 5 rearms (90 days each). Only win7 can be "rearmed". But to make all of this a bit easier to manage, I've released iectrl: http://xdissent.github.io/iectrl

@xdissent
Copy link
Owner

Also, the setup I've been using recently (and now the ievms default as of last night) is IE6, 7 and 8 on XP, with IE 9 and 10 on Win7. That means you've only got to keep around 2 of the MS images - IE6 - WinXP and IE9 - Win7 - and the Win7 image is good for 540 days if you "rearm" after each 90 day period. Since the Win7 image is rearmable for so long, it makes reasonable sense to remove that image after installation as well, leaving you with only a single ~700mb image to keep track of for the XP vms. HTH.

@xdissent
Copy link
Owner

@oblogic7 They also say that all of the VMs are good for 90 days, will activate successfully (except XP), can be rearmed 3 times each, and that XP has a hard expiration 90 days after upload to modern.IE. Almost none of that is true in practice (it's a new project so I generally give them a pass on this fact).

From my research, the virtual machines begin their expiration countdown the moment they're first booted. Now (as of last night) all ievms virtual machines are booted immediately upon install to bring them into a consistent state (add guest additions for those that lack it, activate those that need it, install alternative IE versions, enable guest control). The clean snapshot is taken after that initialization, meaning you can't go back to a state in which the countdown hasn't started without reinstalling the image. This is a tradeoff, but the goal of ievms is to also make the images more useful in addition to facilitating installation. The goal of iectrl is to make your post-ievms-install life easier by handling the nitty-gritty details of reinstallation, etc.

@bradical
Copy link
Author

Thanks @xdissent. Can you clarify two things for me? I think I'm following the rest.

  • If I install 8, 9, 10 (curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | env IEVMS_VERSIONS="8 9 10" bash) using the script as of last night, I'm going to get 3 VMS -- XP (IE 8), Win7 (IE 9), Winy (IE 10). After I install those, what files do I need to keep in order to be able to rearm my Win7 VMs and what files can I delete? Which commands are those in iectrl
  • You're saying I am able to rearm XP VMs too?

@xdissent
Copy link
Owner

@bradical You're correct, you'll get 1 XP VM and 2 Win7 VMs. The Win7 VMs can be rearmed without any supporting installation files present. You could nuke the whole folder except your vmdk files and keep the Win7 VMs going for over a year with rearms alone. In iectrl, you can use the shrink command to remove installation files.

The XP VM is not rearmable. But I still think it's the best option for 6, 7, 8 because you reuse the smallest of the images for 3 individual VMs, and the XP VM requires far, far fewer system resources than the others. The trade off is that you have to reinstall (iectrl reinstall WinXP) every 30 days.

@xdissent
Copy link
Owner

Oh, and iectrl rearm will take care of rearming/reactivating all expired, rearmable VMs when the time comes. You can see when the VMs will expire by doing iectrl status.

@bradical
Copy link
Author

Thanks again!! What format are the names for iectrl shrink? Keep getting:

$ iectrl shrink "IE8 - WinXP"
ERROR: no matching virtual machines found
$ iectrl shrink
ERROR: no matching virtual machines found

but they're still there:

$ ls -al
-rw------- 1 bradley staff 11813715968 Jun 21 12:38 IE10 - Win7-disk1.vmdk
-rw-r--r-- 1 bradley staff    23062528 Jun 21 12:34 IE10-Windows6.1-x86-en-us.exe
-rw-r--r-- 1 bradley staff   751480893 Jun 21 12:05 IE6_WinXP.zip
-rw------- 1 bradley staff  1703084032 Jun 21 12:08 IE8 - WinXP-disk1.vmdk
-rw-r--r-- 1 bradley staff    16883056 Jun 21 12:06 IE8-WindowsXP-x86-ENU.exe
-rw------- 1 bradley staff 11406606336 Jun 21 12:28 IE9 - Win7-disk1.vmdk
-rw-r--r-- 1 bradley staff  5002084185 Jun 21 12:18 IE9_Win7.zip
-rw-r--r-- 1 bradley staff     3588096 Jun 21 12:06 ievms-control-0.1.0.iso
-rwxr-xr-x 1 bradley staff     4791504 Jan  5 09:23 lsar
-rwxr-xr-x 1 bradley staff     4762648 Jan  5 09:20 unar
-rw-r--r-- 1 bradley staff     4302696 Jun 21 12:04 unar1.5.zip

@bradical
Copy link
Author

Actually, maybe it did clean up some stuff? Can I remove all the ZIPs and other utilities too?

You said that iectrl rearm doesn't require anything except the .vmdk file. Does iectrl reinstall WinXP require the IE10-Windows6.1-x86-en-us.exe and IE6_WinXP.zip files?

@xdissent
Copy link
Owner

Oh, sorry, shrink doesn't remove the ZIP, only the OVA (which is larger and unnecessary if you have the ZIP). The idea of shrink is to reduce the amount of disk space use while maintaining reinstall-ability without redownloading. I thought I had added an option to additionally remove the zip if you really want it to, but apparently I have not done that. Removing all the exe/iso/etc files is harmless as well. Perhaps iectrl shrink should try to remove those as well.

@bradical
Copy link
Author

I see. So shrink maintains the ability to reinstall the images without having to go to the internet at all?

Does that include reinstalling and renewing the license of the XP image? I was under the impression that that was somehow tied to the disk image which would need to be re-downloaded every 30 days.

Thanks again for the clarification and the great tools!

@xdissent
Copy link
Owner

Well you'll still need an internet connection for various things (which I'm trying to eliminate soon!) but that's the idea. You definitely won't have to re-download the images at least. I too thought the XP image was supposed to have a hard-coded expiration date but it does not after all. It's 30 days from first boot.

@bradical
Copy link
Author

Got it. I filed that other idea here: xdissent/iectrl#1. Thanks again! So excited to have a reliable and fairly small set of VMs for IE and a great script to manage them.

@matthewbivins
Copy link

@xdissent - is there any way for me to send you some beer/coffee money for all your hard work on this? iectrl has rocked my everlovin' world.

@Rodri9o
Copy link

Rodri9o commented Jun 17, 2015

I sent some beer money your way. Thanks man!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants