I wrote this for the internal wiki at work, so it may be a bit casual in places. Hopefully it covers all the bases though.
An unattended upgrade of Windows is one way in which to migrate from Windows 2000 to XP, or XP to Vista. Using this method, existing applications are left installed, user data is left intact, and it can be scheduled to be completed outside of core hours. This is all possible through a small edit of an MSI package, and the creation of an Application object in Zenworks.
Firstly, create an unattend.txt file for the automation process. This can take the form of the following…
NTupgrade = yes
ProductID = XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Take a Windows CD. This can be a standard release version, or a custom slipstreamed version, and copy the contents of the i386 directory to a directory that is available on the network. Custom drivers may also be placed into the source tree at this point.
In the i386 directory, you will find a winnt32.msi file that is a wrapper for the complete upgrade process. Open it up in the Orca MSI editor, and go to the Transform menu and select Create new transform. Next, navigate to the CustomAction subtree. In that subtree, you will find RunSetup and RunsetupImmediate variables. They will both contain /unattend /batch /#Q. This has to be modified to contain /unattend:”[SourceDir]unattend.txt” /batch /#Q.
Once edited, go to the File menu and Save Transformed As. Pick a filename for your new MSI and place it into the same directory as the original winnt32.msi file.
Once you have your new MSI file, you can create an object in Zenworks that refers to the file. Since this file already contains your custom variables, you don’t need to specify anything else except the location of the MSI file and who it is to be associated to.
Once configured, it can be scheduled to run automatically on a users PC, or can be made available through the Zenworks Application Window for deployment at their own convenience.