Link to home
Start Free TrialLog in
Avatar of barbarian00
barbarian00

asked on

Sysprep fails to write registry, Reseal Fails

Hi All,

I am trying to reseal an XP installation for cloning using Ghost and not having any success.

What I have done so far;

- Prepared a 10gb IDE HDD Virtual Machine in VMware Workstation.

- Installed XP SP2 into this machine. Left Administrator password blank during setup, selected automatically generated computer name.

- Logged on as the administrative user "soe" created during setup. Customised desktop and folder views, removed MSN Explorer, Outlook Express, Windows Messenger, removed shortcuts from Start Menu.

- Logged on as Administrator and copied the "soe" user profile to Default User. Logged off.

- Logged on as the "soe" user, Installed apps such as Office, Adobe PDF Reader and other programs like Flash Player, Shockware player and Quicktime. Configured application prefences as required.

--- At this point I had a system image with desired settings and applications installed. As far as I understand this is part of the Microsoft documented process for imaging/cloning machines. Please correct me if I understand wrongly.

- Logged on as Administrator, extracted Deploy.cab from the XP SP2 VLK cd media to c:\sysprep

- Ran setupmgr.exe and created a sysprep.inf as per Below (VLK and company name key edited out)

- Ran Sysprep by double clicking the .exe, selected the "Use Mini-Setup" and clicked Reseal.


Almost immediately I received an error message;

[System Preparation Tool 2.0] - An error occurred while trying to update your registry. Unable to continue - OK

then

[System Preparation Tool 2.0] Reseal Machine Failed - OK

and sysprep exited.

I have been researching this error and according to MS KB this is related to Mass Storage device paths being incorrect.

However I am not using this section in my sysprep.inf at all. I specifically created the answer file via setupmgr.exe and did not manually add anything.

I have also checked the hive permissions in the registry as some other reference suggested I have found in relation to this issue. Likewise I checked the c:\sysprep directory permissions even if both were left at the original installation defaults.

I suspect there must be something fundamentally wrong with my process. However according to MS documentation, one needs to install XP, customise/configure apps before running sysprep and I thought I was doing just that.

Another thing to add is, when I run sysprep without a sysprep.inf file, it seems to complete and seal the installation. Starting sysprep.exe in gui, selecting "Use Mini-Setup" and "Reseal" results in no error and Mini-Setup runs on next boot fine.

Really stuck on this one so any suggestions would be appreciated. Admittedly I have not used sysprep before at all.

My sysprep.inf generated by setupmgr.exe is in the Code Snippet attached

Kind Regards
;SetupMgrTag
[Unattended]
    InstallFilesPath=C:\sysprep\i386
 
[GuiUnattended]
    AdminPassword="Support"
    EncryptedAdminPassword=NO
    OEMSkipRegional=1
    OEMDuplicatorstring=blahsoe
    TimeZone=255
 
[UserData]
    ProductKey=[edited-out]
    FullName="blah"
    OrgName="blah"
    ComputerName=*
 
[RegionalSettings]
    LanguageGroup=1
    SystemLocale=00000c09
    UserLocale=00000c09
    InputLocale=0c09:00000409
 
[SetupMgr]
    DistFolder=C:\sysprep\i386
    DistShare=windist
 
[Identification]
    JoinWorkgroup=WORKGROUP
 
[Networking]
    InstallDefaultComponents=Yes

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of morse57
morse57

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of barbarian00
barbarian00

ASKER

Hi Morse,

I have looked at the MS KB before and assumed that since I don't meet the condition specified it does not apply;

i.e. - I am not using the MassStorage section at all, and I am testing on the same machine therefore eliminating the need for this? MS documentation is rather ambigous in that it does not specify that this section HAS to exist in order to remedy the error. Further to that, sysprep runs when not using an answer file. Logic would lead me to think that since I am not implementing the mass storage/not building it with sysprep - bmsd either, this should not be an issue.

Are you suggesting I should let Windows build the answer file with sysprep -bmsd and then troubleshoot line by line as per the jsifaq url? Unfortunately the 3rd link (p2preactor) returned a database error (have tried more then once, perhaps their servers are a little overloaded, will try to look later)

I am a little hesitant to try this but I am grasping at straws, if I am not including a mass storage section in my sysprep.inf but some fairly simple options as in the attached example I do not believe this would have any effect. As said above, no answer file and sysprep works.

When one uses sysprep to build the mass storage section the file size grows from 1KB to 38KB, that is a lot of line by line elimination as per the 2nd url you posted.

It could take hours and the -bmsd is supposed to use the standard windows driver db, not user supplied entries, hence could it be possible that a) this entry is absolutely necessary b) that one has to verify MS utility built file line by line?

To my reasoning not including mass storage in sysprep.inf should not affect the sysprep operation on the master machine, I could be wrong but I don't see how this is relevant in view of the above. If anything I would expect a BSOD on a target system with non standard IDE controller however the process does not get even as far as sealing the master machine.

Regards,
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Is it possible that  the sysprep is unable to write to the registry because of the registry is full and needs more memory allocated.