3036: Win-XP Home Re-Activation issue/problem

Discussion in 'Windows Virtual Machine' started by trent, Dec 2, 2006.

  1. nycruza

    nycruza Hunter

    Messages:
    224
    I do not know the technique - did once, but that was years ago.

    The BAT file can be setup like the Boot.INI file where it waits for you to make a selection or to time out to the default.

    One selection would copy the files for Boot Camp to system32, the other selection would copy the files for Parallels to system32.

    I am not sure what has changed in the load order since early Win95, but I'm betting it would work.
    The worse that can happen is you get the activation screen!

    ajm
     
  2. sjs

    sjs Junior Member

    Messages:
    16
    a solution?

    Hi guys, thanks for your work so far in finding out how to copy the WPA files and what not. I wouldn't have come up with anything if not for that.

    I try and stick to Linux and OS X especially for any shell work, and on Windows I would use zsh on cygwin if I use any shell at all, but I think I have found a solution to this. It's a hack but it sure as hell beats re-activating twice or more every day. autoexec.bat is executed before login so no worries there.

    edit: Check for updates here http://sami.samhuri.net/articles/2006/12/17/coping-with-windows-xp-activiation-on-a-mac ... I've been changing a few things and I only want to update one set of instructions so I've taken the ones here down.

    edit: Still needs some work... registering the script as a service so it runs at startup should work I think.... i'll be back with more info.
     
    Last edited: Dec 18, 2006
  3. nycruza

    nycruza Hunter

    Messages:
    224
    Did some testing with MSDOS and appears to work, will load it up as an autoexec.bat at home and see what happens!

    Worse case - Activation window :)

    Great work!

    ajm
     
  4. chack

    chack Bit poster

    Messages:
    7
    I followed the instructions sjs has posted. I'm running XP Pro. On my first test run, booting with Parallels, I still got the popup window saying that I needed to activate, but when I clicked "Yes" and it took me to the activation wizard, the wizard said "Already activated!" and Windows started normally. IT APPEARS TO WORK!

    Thanks so much for your work on this, sjs. Maybe the Parallels team can find a way to incorprate this in a more transparent manner.
     
  5. nycruza

    nycruza Hunter

    Messages:
    224
    In Parallels it appears to be checking for the network prior to the netowrk being installed, thereby returning the Boot Camp files to System32.

    It's a bit tricky. Need to loadup early but late enough in process that the network is up and recognized.

    However, the logic of the script is right on!

    What is needed is something very early in the process that distinguishes Parallel from Boot Camp.

    Something that would be loaded even in a Safe Mode without networking.

    Like which kernel was executed; ntkopvs_.exe for XP or ntkppvs_.exe for Parallels

    ajm
     
  6. sjs

    sjs Junior Member

    Messages:
    16
    okay, to verify which one it chooses on boot we can dump the string "Parallels" or "Boot Camp" in a temp file somewhere.

    IIRC you can set up a service for this script, let's call it Activation for now, and then have this Activation service depend on the network. I'm not sure when in the boot sequence XP checks if it is activated, but it must be in between booting and logging in so there's a chance that this could work.

    I'm thinking about trashing my new (legal) XP Home installation and using the old pirated copy so I can come up with something proper, but we'll have to see.

    chack: maybe you could let the macrumors guys know about this workaround, i don't want to sign up there just for one post. http://forums.macrumors.com/showthread.php?t=259268 ... the more people we have that see this the better chances we have at coming up with a solution for XP Home, and a more polished solution for everyone.
     
  7. chack

    chack Bit poster

    Messages:
    7
    No problem. I'll post over there.
     
  8. pducharme

    pducharme Bit poster

    Messages:
    7
    Hi guys, maybe I have a idea. We could use the RunOnceEx key. It will run before the Logon window. We just have to create a entry to run maybe a VBS or a CMD that will find if it's Bootcamp loaded or Parallels loaded... it will only display a little windows like the one you saw when installing IE6 ie. Or if someone from Parallels could code a Service that will do it automagically ;)
     
  9. nycruza

    nycruza Hunter

    Messages:
    224
    Why the need for complete automation?
    Why can't the files be copied during the boot loader when we select the configuration we are using?
    Sorry if this is stupid, not a programmer :)

    ajm
     
  10. DaemonCollector

    DaemonCollector Bit poster

    Messages:
    7
    To find the currently loaded hardware profile you can just check a registry key.

    HKLM/System/CurrentControlSet/Control/IDConfigDB/ then the CurrentConfig value has a number that points to a value in HKLM/System/CurrentControlSet/Control/IDConfigDB/HardwareProfiles

    In each of those has a "Friendly Name" you can see if its loaded as Parallels and run with it.
     
  11. sjs

    sjs Junior Member

    Messages:
    16
    @nycruza: I've only been using a Mac for about 14-15 months now but in that time I've already realized that the true Mac way is just make things work. This process needs to be less involved. I think I have an idea of how we can set this up to Just Work, but I'll have to try it out.

    @DaemonCollector: Thanks for the info, that's a much cleaner way to check where we're running.

    @pducharme: Running it using RunOnceEx should work, thanks! It's a hack but I don't know of any other way to get this to work on XP Home.

    IMO with setting up a service and grabbing registry values this warrants creating a small compiled app to do the work. I don't think it's even possible to access the registry from a batch file (all the better). I've wanted to learn some C# and .NET so perhaps I'll take this opportunity to do so and write a little program to replace my crummy batch file.

    No doubt all the code I write will be open-source so I'm sure someone will step up to make it work properly on XP Pro without using hacks that we need for XP Home. ... Time to dowload some free dev tools from MS I suppose.
     
  12. DaemonCollector

    DaemonCollector Bit poster

    Messages:
    7
    If you need help with the development, let me know. I am a professional C# dev. My first Mac is on its way and I'll have it just after Christmas. So I want it to be smooth once it gets here :)

    The issue with using .NET for this though is I'm not positive when the runtime is loaded. Doing this in C++ would also be trivial. And as for the BAT file, you can access keys.

    To do it from batch you just use the regedit program with some command line switches.

    REGEDIT /E C:\FILENAME.TXT "HKEY\FullRegPath\Key name"

    that will dump all the values of the key into the text file in a key=value format where they can then be read.
     
    Last edited: Dec 19, 2006
  13. nycruza

    nycruza Hunter

    Messages:
    224
    Another thought

    Why can't there be 2 users, each with their own Environmental Variables.

    User "Boot Camp" points to the original system32 folder
    User "Parallels" points to system32a folder. The contents of this folder are links to the original system32 with the exception of wpa files.

    My apologies if this is a stupid thought :)

    ajm
     
  14. DaemonCollector

    DaemonCollector Bit poster

    Messages:
    7
    Not usre different users would work. The activation issue needs to run BEFORE a user is selected. Otherwise it would require a reboot.
     
  15. DaveP

    DaveP Member

    Messages:
    20
  16. pducharme

    pducharme Bit poster

    Messages:
    7
    I created my VBS with the RunOnceEx key... The Script work well if runed manually. It perform the folowing :

    1. When started, check if Activation Folder Exist. If Not, create it with 2 subfolder (parallels and bootcamp). and then copy the WPA files to the right subfolder (detected thru the Reg. key that DeamonCollector said here.
    2. If folder exist, the Script take the Right WPA files from the Activation folder and OverWrite the WPA from Windows\system32 folder.

    The problem is that the script just don't start in the RunOunceEx key !!! He does nothing and I dont know why ! I'm working on it...

    Also, he add himself to the RunOunceEx for the next Reboot...
     
  17. nycruza

    nycruza Hunter

    Messages:
    224
    For now, I'm content with having the BAT file in my startup.
    Run SAFE with Networking, click on BAT and restart.
    Since this is not an hourly event - it is liveable :)
    but more important WORKABLE! :)
     
  18. DaemonCollector

    DaemonCollector Bit poster

    Messages:
    7
    start /wait cscript.exe //NoLogo //B path_to_it\script.vbs


    Try putting something like that in the RunOneEx key. That starts the windows scripting host and runs the VBS. I don't think its started when it runs the key. Give her a shot.
     
  19. DaemonCollector

    DaemonCollector Bit poster

    Messages:
    7
    Welp....according to the beta notes for 3094 the activation issue has been resolved. Our work here is done. I wonder if they used our method...or something a little cleaner. The world may never know :)
     
  20. chack

    chack Bit poster

    Messages:
    7
    Has anyone tried it yet? I can't seem to get the new version to download. I think the parallels servers must be clogged due to all the people updating.
     

Share This Page