RichM Posted February 14, 2005 Share Posted February 14, 2005 According to MicrosoftTo protect the volume licensing version of Windows XP:Run the following command to encrypt your Windows Setup answer file:c:\flat\winnt32.exe /encrypt:"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx:y" /unattend:filenameThis command uses the following place holders: • xxxxx-xxxxx-xxxxx-xxxxx-xxxxx is your Volume License Product Key.• y is a value ranging from 5 to 60. This is the time in days that you want this script to be valid for.• filename is the script that you want to encrypt the Volume License Product Key in.Well 60 days isn't much of a shelf life, I reckon. We're not real keen on sending our VLK to our staging center in clear text... so absent a better suggestion from someone here, looks like we may attempt the following. Please suggest something better if you know of it!* Bootable WinPE/XP/AIO DVD comes up and runs a little exe. This exe has the key embedded in it and will: - copy the winnt.sif to the hard disk (or maybe we call it something sneaky like wxp86.dat) - run winnt32.exe /encrypt"embedded-key-xxxx-xxxx-xxxx" against this file - kick off winnt32 /unattend:winnt.sif That seems like a lot of work to hide the key, if there was no expiration (or even if it was 90 days, or 180 days or something, it would be ok). And it precludes the feasibility of normal xp-boot-cd installation, because it's not really feasible to burn a new disc for the staging center every 50 days or so...then again... perhaps I just realized the solution! maybe if I set my clock forward a year, then run the encrypt, it will work for 425 days (365+60)... or maybe it won't work for a year. Best try that while you good people mull this over! Link to comment Share on other sites More sharing options...
RichM Posted February 14, 2005 Author Share Posted February 14, 2005 mmmm no dice, setting the date ahead simply moves the valid window ahead. I suppose I could have 6 BOOT directories (like VOL1-VOL6) and have a CD that worked for a year, with different winnt.sifs in each, then you choose the XP install that fits in the 60-day date window.... Link to comment Share on other sites More sharing options...
Incroyable HULK Posted February 15, 2005 Share Posted February 15, 2005 I guess you can make it work by altering the Date values in the BIOS and changing them back when the installation is over... Link to comment Share on other sites More sharing options...
RichM Posted February 16, 2005 Author Share Posted February 16, 2005 The solution I came up with on this was pretty straight-forward, but here it is in case anyone visits later and wonders the same thing. I set the date on the computer to 2/1/05, 3/1/05, etc and then made encrypted keys for each month, 40 days long. I went through August, and I'm sure I'll update the DVD before then so that should be sufficient. Then I created PRO1-PRO6 directories (and corresponding PRO1.DAT-PRO6.DAT files). I edited the winnt.sif in each directory to add the corresponding month's key. I realize I could have made them each 60 days long and covered a year with 6 keys... but this way is just a little cleaner. 60 days doesn't cover many 2-month periods inclusively... it also seemed a bit repetitive for one entry in one file that changed, but this works.For those not familiar with "PRO1" and "PRO1.DAT", etc - please refer to either gosh's website or flyakite's website for details on booting multiple OS setups (or in this case, multiple configurations). Here is my CDShell.ini file contents if anyone's interested:boot:clsprint "\n"print l "...booting to the hard drive in 5 seconds, OR...\n\n"print c "\c0BPress Enter to boot from DVD... \n\n"getkey 5 boot 0x80if $lastKey == key[enter]; then goto menu# When no key found...goto boot# Printing the Interfacemenu:set textColor= color[white on black]set boldColor= color[cyan on black]clsprint c "\n\cXXÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ \n\n"print c "\c0B Our Installation Disk\n\n"print c "\cXXÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ \n\n"print "\c0E 1) Install Windows XP Pro SP2 \cxx(Normal Selection)\n"print "\c0E 2) Boot to Utilities \n\n"print "\cxx Q) Quit to Command Prompt \n"print " R) Reboot \n"print " ESC) Boot 1st Harddisk \n"print "\n"print " For most installations, simply press 1\n"print "\n"print " Utilities options are advanced, you should not use them without guidance.\n"print c "\n"MainKey:getkey 30 boot 0x80if $lastKey == key[1]; then goto XP_Proif $lastKey == key[2]; then goto Utilitiesif $lastKey == key[q]; then endif $lastKey == key[r]; then rebootif $lastKey == key[esc]; then boot 0x80XP_Pro:clsprint l "\n\cXXInstall Windows XP Pro Unattended \n"print l "\cXXÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ \n"print l "\cXX Select the appropriate month you are in for install \n\n"print l " This DVD is good for February - July 2005. Please contact \n"print l " our Help Desk if you need an updated install disk. \n\n"print l "\c0C Note that Windows XP will reformat the C drive - use the \n"print l "\c0C utilities option if you need to save data before you do this!! \n\n"print "\cxx 1) February \n"print " 2) March \n"print " 3) April \n"print " 4) May \n"print " 5) June \n"print " 6) July \n\n"print "\cXX Press any other key to return to the main menu... \n" XP_Pro_Key:getkey 60 goto menuif $lastKey == key[1]; then chain /PRO1.DATif $lastKey == key[2]; then chain /PRO2.DATif $lastKey == key[3]; then chain /PRO3.DATif $lastKey == key[4]; then chain /PRO4.DATif $lastKey == key[5]; then chain /PRO5.DATif $lastKey == key[6]; then chain /PRO6.DATgoto menuUtilities:clsprint l "\n\cXXInstall Windows XP Pro Unattended \n"print l "\cXXÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ \n"print l "\cXX BartPE will allow you to save data, use ghost, etc. \n"print l "\cXX This is intended for advanced usage. For normal use of this \n"print l "\cXX installation disk, use one of the Windows XP options. \n\n"print "\cxx 1) BartPE normal \n"print " 2) BartPE loaded in memory (takes longer to load) \n\n"print "\cXX Press any other key to return to the main menu... \n"Utilities_Key:getkey 30 goto menuif $lastKey == key[1]; then chain /BPE1.DATif $lastKey == key[2]; then chain /BPE2.DATgoto menugetkeygoto menuend Link to comment Share on other sites More sharing options...
prathapml Posted February 17, 2005 Share Posted February 17, 2005 Hot news...This is great to hear! Maybe I'll use it too... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now