UD IMAGE (University of Dayton Image Menus and Generating Environment) is a complete solution for creating and deploying Windows images using the ZENworks imaging engine.
Unlike other projects which try to standardize on creating a single universal image for all hardware, this solution provides a framework for automating a clean installation of Windows, all Windows Updates, drivers, Client32, ZEN agent, and applications.
The University of Dayton has been using UD IMAGE in different levels of maturity for its Student Computer Initiative for a couple of years now.
The official Novell Forge project was approved March 9, 2006.
I, Jeremy Mlazovsky, first began working at the University of Dayton's IT department as a co-op in the summer of 1997. In 1999 UD began its Student Computer Initiative. From that point on, every first-year student was required to purchase a computer through our contracted manufacturer, Tangent. That first summer I volunteered to work with one of our staff members to come up with a drive image for the three models of computer we offered that year. Less than one year later, I was hired as a full-time staff member at UD. Half of my job duties revolved around creating and maintaining drive images for the student computer initiative.
At first things were pretty low-tech. We followed a strict list of steps for installing and customizing Windows 2000 and all applications. One of use would read from the script while me and our student workers performed the actions on the computers. This was very tedious. Since we added two or three new models of computer every year, it quickly became evident that doing all of this work by hand was not going to work.
As early as 2000, I had begun playing with the free scripting language AutoIt v2 in order to make some tasks easier.
Over time I began to rely extensively on the new version of AutoIt, AutoIt v3, to automate everything I possibly could.
A couple of years ago we moved from Drive Image Pro to ZENworks for backing up and restoring drive images. One reason was we had a license for ZENworks Imaging and Powerquest changed the way they did their licensing.
One feature of ZENworks Imaging that I liked was that it allowed us to restore add-on images directly to NTFS partitions. Finally, a way to copy large groups of files to an NTFS partition even before Windows was installed! This gave us a tremendous amount of flexibility for customizing the image-building process. However, our actual implementation was still pretty basic.
I began going to Novell's Brainshare in 2003. I attended any sessions I could find that deal with ZENworks Imaging. The ENGL sessions were so informative that I have gone to them every year since. Every year I came back from Brainshare overflowing with new ideas I wanted to incorporate into our image-building process. I did whatever I could to add whatever new functionality I saw at Brainshare that I liked, until we got to where we are today.
First of all, unlike some other solutions out there, UD IMAGE does not rely on a single universal base image. In other words, we don't worry about messing with the HAL and massaging SysPrep so that it knows about all mass storage controllers and other funky stuff. It sounds like a great idea, but I had problems with it when I tried it a couple of years ago so I abandoned that approach. Besides, I feel more comfortable letting Windows handle the HAL and ACPI stuff on its own.
UD IMAGE uses the stock ZEN Imaging CD to retrieve images from the imaging server. However, I have added a couple of scripts and tools to the imaging CD. I modified the bootup process to run a customized menu based on the open source PDMenu. It is a very basic text-based menuing system. I use the menus to interact with some shell scripts for retrieving images and performing other miscellaneous tasks.
One of the options is to build an image from scratch. Once you select this option, my scripts tell the ZEN imaging engine to restore a base image containing Windows XP in a special state. In this state, upon reboot the initial phase of the Windows XP install commences (the one with the blue background, white text, and yellow progress bar). The nice thing about this approach is that at this point of the installation, Windows XP setup has absolutely no knowledge of the hardware on your computer, so there aren't any hardware conflicts, remnants from other systems, or similar issues.
After the base image is restored to the hard drive, a number of add-on images are also retrieved. These include an unattend.txt file to automate the Windows XP installation, all post-SP2 critical and recommended updates, Client32 and ZEN agent, etc. Once all of the add-on images have been retrieved, it is time to reboot.
After reboot, as I mentioned above, Windows XP setup does its thing and begins the install. Once the text mode installation is finished, the computer reboots and picks up with the graphical phase of the Windows XP installation, which will not require user input. Once the graphical phase of the installation is finished, a set of scripts automatically installs the critical and recommended Windows updates. After a reboot, it is time to install the drivers.
I handle this step in two ways. One, from the imaging CD menu I give you the option to build an image and install the drivers manually, or build an image from a list of computers. If you chose to install the drivers manually, then at this point in the setup it is up to you to install the drivers from a CD, flash drive, etc. If you chose a particular model from the imaging CD menu, then it will also download an add-on image with the drivers for that machine and the accompanying installation scripts. At this point of the install the drivers installation scripts kick in and install everything for you.
Once the drivers are installed, UD IMAGE begins the automated installation of Client32 and the ZEN Agent. Client32 is setup to automatically login to the Novell network upon reboot as a special imaging user. This user has associated to it a single imaging-building ZEN application. This app has a couple of dependent applications, which each have their own dependent applications. These upper-level dependent apps do various things, such as customize the Windows enviornment (arrange icons automatically, by name, etc), install applications like Office, delete extra shortcuts, delete temporary files, remind you to check Windows Update, etc.
When it is all finished, you run the scripted SysPrep, shut down the computer, and back it up.
Well, the most obvious difference is UD IMAGE is free and open source :) It is also, unfortunately, not quite as full-featured or as polished as the commercial products. However, I am hoping that with some help from people like you, UD IMAGE will be a viable alternative.
There are many different philosophies on how eDirectory should be organized. Our OU structure is broken down into OUs for users, servers, and zen objects. It is very likely that your OU structure will not match ours. You're just going to have to take what is posted here and modify it to fit your environment. I'll do my best to make my apps, scripts, and documentation as flexible as possible.
Patience, grasshopper! The good news is, I've been using UD IMAGE in various iterations at the University of Dayton for several years now. So the system is in-place. It is going to take me some time to port everything to my VMWare Workstation guest OS and to properly document everything. There is also a slight learning curve to figuring out all of the features here at Novell Forge. I have a large chunk of it finished so far, but keep checking back for updates!
I cannot emphasize enough how much of UD IMAGE is influenced directly, or indirectly, by the stuff I learned at Novell's annual Brainshare conference. The tips and tricks I learned in Novell sessions was invaluable. The sessions with ENGL people blew my mind! For me, I go to Brainshare every year just for these sessions - everything else is just a bonus.
ENGL also makes available for free some freeware applications which I use, including the ZisdCtrl ActiveX control for accessing the ZEN Image Safe Data.
I also want to thank Joey at KiteNet for PDMenu, which allows us to create simple menus for our techs to use when restoring drive images, so they do not have to worry about image filenames and paths.
I could not write any of the installer scripts without AutoIt. AutoIt v1 and v2 was created by Jonathan Bennett. Eventually he started over from scratch and began work on AutoIt v3. Jonathan released AutoIt v3 as an open source product. Since then a core group of volunteers maintain and evolve AutoIt. Thank you for such a tremendous product!
I learned alot about Installshield installers and nifty tricks for automating the installation of applications from the good folks at AppDeploy. Check them out!
There have been a number of times where I got stuck on something. I could always count on getting help from at least one of the two following places: Novell's ZENworks Cool Solutions site and Novell's Support Forums. I highly recommend them! I go there all of the time, even when I don't need help with something.
I also need to thank my co-ops, past (Melissa Sepos, Brian Hiebel, and Victor Martin) and present (Armon Holt, Zach Steffens) for all of the hard work they put in helping me with the apps, driver install packages, testing, etc.
Miscelleanoues details regarding the UD IMAGE project on Novell Forge.
The source code is available for download using SubVersion (SVN). There are a couple of ways to get access to the files in the SVN Repository. You can browse the SVN Repository in yur browser. For development purposes, I use Tortoise SVN because it hooks into Windows Explorer and does not require using a commandline interface. For more info, I suggest reading Novell's Wiki page on SVN access.
| Name | Position |
| Jeremy Mlazovsky | Administrator |
We do not currently use PXE on our network. Until we find a way to secure the boot menu with passwords to keep students and curious faculty/staff out, we are sticking with the imaging CD. Our imaging CD uses as its base the stock imaging CD from Novell. We just add a few files, which will be explained in greater detail below.
Our current production imaging CD is v6.5 SP1 HP3. We have run into some issues with the newer versions of the CD, so once we work them out we'll upgrade.
It looks like the issues we ran into with the original release of the ZEN 6.5 SP2/ZEN 7.0 imaging CD has been fixed in 7.00 HP2. We are now using the ZEN 7.00 HP2 CD.
We modify the basic ZEN Imaging CD with some scripts, menus, and additional binaries. It makes our lives a little easier.
I used to use WinISO to edit the bootcd.iso from Novell. But it has some quirks and it had problems with the newer ZEN Imaging CDs with the SuSe splash screen. So now I use UltraISO, which is infinitely better.
Create a new folder called \\udimage\vol1\ImagingCD. Make a new folder for the bootcd.iso you plan to modify. I used the ZENworks 7.0 Hot Patch 2 Imaging CD. I made a directory called \\udimage\vol1\ImagingCD\70HP2. Into that directory I copied the original bootcd.iso from the ZENworks 7.0 HP2 installation, and I renamed it "ZEN 7 HP2 original bootcd.iso". I then made a copy called "ZEN 7 HP2 bootcd (udimage).iso". This is the .ISO file I actually edit. I keep the original there in case I ever need to start over again.
Next I made a new directory called \\udimage\vol1\ImagingCD\70HP2\addfiles. I then made a directory called \\udimage\vol1\ImagingCD\70HP2\addfiles\bin.
The ZEN Imaging CD allows you to include a file called settings.txt which you can customize to fit your environment.
In our VMWare environment, the udimage server's IP address is 192.168.181.2. You would obviously replace this IP address with the IP address of your server. Below is my settings.txt file.
You can also download it from the SubVersion repository.
# ZENworks Imaging Settings # # This file resides on Boot Floppy 2 and controls the initialization of the # ZENworks Imaging Engine. # # You may edit this file manually or use the ZENworks Boot Disk Creation # utility (ZIMGBOOT.EXE) installed on each ZENworks server. # # The character starting this line denotes a comment. Any line beginning # with that character is ignored when initializing the Imaging Engine. # PROMPT should be set to YES if you want to be given a Linux prompt after # initialization is complete. PROMPT=NO # MANUALREBOOT should be set to YES if you want to reboot manually. MANUALREBOOT=NO #Make the Imaging Boot Disks to boot up in manual mode MANUAL=NO # PARTITIONSIZE is the size in megabytes of the ZENworks Imaging partition # that will be created when installing the ZENworks Imaging Engine. PARTITIONSIZE=15 # IPADDR should be set to the IP address you want the workstation to use. # If using DHCP, remove or comment out this line: #IPADDR=192.168.146.169 # NETMASK is this workstation's subnet mask. # If using DHCP, remove or comment out this line: # NETMASK=255.255.255.0 # GATEWAY is the router address for this workstation. # If using DHCP, remove or comment out this line: # GATEWAY=192.168.146.2 #Specify the DNS nameserver #Each nameserver should be separated by blank space DNSNAMESERVER="192.168.181.2" #Specify the DNS domain suffixes. #Each domain suffix should be separated by blank space # DNSDOMAINSUFFIX=" " # PROXYADDR is the IP address or DNS name of the ZENworks Image Server. PROXYADDR=192.168.181.2 #Specifies if additional drivers are to be copied/loaded while booting the linux kernel. #Copy the additional drivers using the add linux drivers option, and uncomment the following line. LOADADDITIONALDRIVERS=NO #LANGDISK specifies that user will be prompted for language diskettes, when booting from floppy or CD. #LANGDISK=NO #Speeds up imaging process by enabling DMA Mode hdparm -d1 -W1 /dev/hda #These things used to be in environment.s but don't seem to work with Automated Mode with new Imaging CD export IMGCMD="bash /bin/menu.s" #Determine global variables for specifying download server name, path, etc export DOWNLOADSERVER=http://192.168.181.2 export DOWNLOADDIR=menus export DOWNLOADCMD='/bin/wget -nd -P/bin' #When downloading files use the following env var export RETRIEVE="$DOWNLOADCMD $DOWNLOADSERVER/$DOWNLOADDIR" #Server name images are stored on export VOLUME=//192.168.181.2/vol1
Save your modified settings.txt as \\udimage\vol1\ImagingCD\70HP2\addfiles\settings.txt.
Open the "\\udimage\vol1\ImagingCD\70HP2\ZEN 7 HP2 bootcd (udimage).iso" file with UltraISO. Navigate to the addfiles directory in the .ISO. Drag-and-drop your \\udimage\vol1\ImagingCD\70HP2\addfiles\settings.txt file into the addfiles directory inside the .ISO file. It should look like this:
We also include a number of other tools on the imaging CD. We use the open source program called PDMenu to add text-based menus to the imaging CD. I also downloaded and compiled WGET, which is an open source tool for retrieving files via HTTP and FTP using the commandline. This is what we use to retrieve menu files from the server.
You will notice a couple of other files in that directory. You can get these files from the SubVersion repository.
clear - I copied this binary from a SLES 9 Linux install. It allows us to erase the previous contents of a terminal. gotoshell.s - Simple BASH script for opening a new BASH prompt. LoadDepartmentalMenu.s - Simple BASH script for downloading menu files stored on the server. MainMenu - The initial PDMenu menu file which appears when the imaging CD is finished booting. menu.s - The BASH script which runs when the IMGCMD command is executed by the imaging CD. The default IMGCMD command is changed in the settings.txt file. pdmenu - Binary used to display PDMenu text files wget - Binary used to retrieve menus from the server
Open the "\\udimage\vol1\ImagingCD\70HP2\ZEN 7 HP2 bootcd (udimage).iso" file with UltraISO. Navigate to the addfiles/bin directory in the .ISO. Drag-and-drop the contents of the \\udimage\vol1\ImagingCD\70HP2\addfiles\bin directory into the addfiles/bin directory inside the .ISO file. It should look like this:
Press "Save" to save the changes to "\\udimage\vol1\ImagingCD\70HP2\ZEN 7 HP2 bootcd (udimage).iso"
The UD IMAGE process revolves around what is known as a Base Image. This image is the most atomic piece of the puzzle. You build an image by restoring a base image and then layering drivers, applications, and tweaks over the base image.
The nice things is that you only need to update this base image when a new service pack comes out.
Right now we have base images for Windows XP+SP2 and Windows XP Tablet Edition 2005. Both were built using the same process, though the Tablet Edition base has a few minor tweaks.
Follow the instructions below to create a base image. Once created the first time, you will back it up and restore it as part of the image-building process.
NOTE: We have a site license with Microsoft, so we use the Windows XP install CDs which do not require Windows Activation. You may have to make some minor modifications for your environment.
According to Microsoft:
We are going to use an unattend.txt file to automate the first phase of the Windows XP install.
If you look on your Windows XP install CD, there should be a folder called <CD-Drive>:\Support\Tools. In that directory is a file called deploy.cab. Extract the contents of deploy.cab file into \\udimage\VOL1\Base\xpsp2\Deploy. I suggest reading through the unattend.txt section of ref.chm so you will understand the different settings we will be using, as well as how to customize the settings for your environment. There is also a tool called setupmgr.exe in that folder which will help you create your own unattend.txt file. However, my personal experience is that it is OK for building a simple unattend.txt file but you really need to edit it by hand to get the most out of it.
You can use the unattend.txt file in the SubVerson repository. Just make sure to change some things like your time zone, license key, etc.
Make the following directory on the server and stick it there: \\udimage\VOL1\Base\xpsp2\Unattend\student\WinXPCD\SP2
If you don't have one already, make sure to make yourself a Bart's PE CD/DVD with the NWDskPE Client32 plug-in.
IMPORTANT!! If you do not follow these instructions exactly, it is possible that the Windows XP install will not start - you will just get a blank screen. Trust me ... I just wasted a whole work day trying to figure out why in the world I could not get the install working again (I never documented the procedure when I created my original base image a year or two ago).
If you are using a brand new hard drive which has never had an operating system installed onto it before (e.g. a new VMWare virtual hard disk), then you will need to write the Master Boot Records to the hard drive or it will not boot!
Microsoft has documentation on this here. This is what it says:
To start the computer and use the Recovery Console to replace the MBR
1. Insert the Windows XP Professional Setup CD-ROM into the CD-ROM drive.
2. Restart the computer. If prompted to press a key to start the computer from the CD-ROM, press the appropriate key.
3. When the text-based part of Setup begins, follow the prompts. Press the R key to repair a Windows XP Professional installation.
4. If you are repairing a system that has more than one operating system installed, from the Recovery Console choose the Windows XP
Professional installation that you need to repair.
Note If you press ENTER without typing a number, the Recovery Console quits and restarts the computer.
The Recovery Console might also show valid installations of Windows NT 4.0. However, the results of attempting to access a
Windows NT 4.0 installation can be unpredictable.
5. When prompted, type the Administrator password. If you do not have the correct password, or if the security database for the
installation of Windows XP Professional you are attempting to access is corrupted, Recovery Console does not allow access to the
local disks and you cannot repair the MBR.
6. To replace the MBR, at the Recovery Console command prompt, type:
fixmbr
7. Verify whether you want to proceed. Depending upon the location and the cause of the corruption within the damaged MBR, this
operation can cause the data on the hard disk to become inaccessible. Press the Y key to proceed, or press the N key to cancel.
On the computer you wish to build the base image, boot from the Bart's PE CD. Once Bart's PE loads and the Client32 window appears, login to your Novell network.
Open a commnad prompt. Type in the command diskpart.exe.
Then type list disk to see what disk number our hard drive is listed as.
DISKPART> list disk Disk ### Status Size Free Dyn Gpt -------- ---------- ------- ------- --- --- Disk 0 Online 8189 MB 8189 MB
In this example, our hard drive is listed as "Disk 0". We need to select "Disk 0" so that subsequent commands affect that disk. To do this, type select disk 0.
DISKPART> select disk 0 Disk 0 is now the selected disk.
Next, we need to determine if there are any partition on the hard drive. To do this, type list partition.
DISKPART> list partition Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 Primary 8189 MB 32 KB
We are going to delete this partition and create a new one. To do that, we first need to select the partition by typing select partition 1.
DISKPART> select partition 1 Partition 1 is now the selected partition.
Next, we are going to delete this partition by typing delete partition. You should delete all partitions on the hard drive.
DISKPART> delete partition DiskPart successfully deleted the selected partition.
Now we will create a new partition by typing create partition primary.
DISKPART> create partition primary DiskPart succeeded in creating the specified partition.
Let's look at our partitions again.
DISKPART> list partition Partition ### Type Size Offset ------------- ---------------- ------- ------- * Partition 1 Primary 8189 MB 32 KB
Select the new partition by typing select partition 1.
DISKPART> select partition 1 Partition 1 is now the selected partition.
To make this partition active (and therefore bootable once the proper system files are in-place), type active.
DISKPART> active DiskPart marked the current partition as active.
We need to assign a drive letter to this new partition. Do this by typing assign.
DISKPART> assign DiskPart successfully assigned the drive letter or mount point.
If you type list volume you will see the volumes and their drive letters.
DISKPART> list volume Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- Volume 0 X UBCD4UD CDFS CD-ROM 519 MB * Volume 1 C Partition 8189 MB Healthy
Type exit to quit diskpart.
DISKPART> exit Leaving DiskPart...
When Diskpart creates partitions, it does not associate a specific file system to the partition. In order to do that, we need to use Microsoft's Format tool. At the command prompt, type format C: /FS:NTFS to format the new partition using the NTFS file system.
X:\i386\System32>format C: /FS:NTFS The type of the file system is RAW. The new file system is NTFS. WARNING, ALL DATA ON NON-REMOVABLE DISK DRIVE C: WILL BE LOST! Proceed with Format (Y/N)? y
When it has finished, it will ask you what label to give to the new volume. Let's use WinXPBase.
Volume label (ENTER for none)? WinXPBase Creating file system structures. Format complete. 8385896 KB total disk space. 8341448 KB are available.
Now we have a new NTFS-formatted partition labelled "WinXPBase", which is active, and uses the drive letter "C:".
On another computer, make a new folder called \\udimage\vol1\Base\xpsp2\i386. Insert your XP+SP2 CD and copy the contents of <CD-ROM>:\i386 into \\udimage\vol1\Base\xpsp2\i386. If you do not have a Windows XP install CD with integrated Service Pack 2, make sure to get AutoStreamer and make your own.
On your computer you are using to build the base image, boot from the Bart's PE CD/DVD with the NWDskPE Client32 plug-in. Login to your Novell tree.
Map L: to \\udimage\vol1 with the following command:
X:\i386\System32>net use L: \\udimage\vol1 The command completed successfully.
Go to L:\Base\xpsp2\i386. Copy the directory contents into C:\WinXPCD\sp2\i386
When you have finished this, you should see something like this:
Copy L:\Base\xpsp2\Unattend\student\WinXPCD\SP2\unattend.txt into C:\WinXPCD\SP2.
Copy L:\Base\xpsp2\Unattend\student\WinXPCD\SP2\unattend.bat into C:\WinXPCD\SP2.
Double-click C:\WinXPCD\SP2\unattend.bat to start the pre-install of Windows XP+SP2. A command prompt window should open up and then the Windows XP pre-install should begin. You should see something like this:

NOTE: Though the installer estimates 53 minutes or more to complete, in reality this step of the install will finish in just a couple of minutes. When this step is complete, the installation window will just disappear without any indication whether the operation was successful or not!
You should now see the following directory map structure on the hard drive:

$WIN_NT$.~BT and $WIN_NT$.~LS are special folders which hold the Windows XP installation files. Once you reboot the computer when the hard drive is setup this way, the real Windows XP installation will begin. At this point in the installation, the Windows XP installer has not probed for hardware, so there aren't any device drivers or dependencies to worry about. And this is why we use this as the base image!
Reboot the computer, making sure to boot from your ZEN Imaging CD. If you accidentally boot from the hard drive, the installation will begin. If you boot from the hard drive, just to be safe I would recommend starting over again from the steps where you format the partition and copy the install files over.
NOTE: I realize that the PDMenu menus in my screenshots don't display "box" characters properly. It has something to do with the character set (something about UTF encoding, if I rememebr correctly) introdced with the ZEN 6.52+ Imaging CD. It's probably an easy fx but I haven't looked into it.
After it detects your hardware, you SHOULD get to our main PDMenu screen.
Choose the first option ("Run ZENworks Imaging Engine in Manual mode..").
Press "F5" ("Make Image"). Select "Server", press "Next >>". Make sure to substitute the IP address and/or DNS name of your server as needed. Then press "Next >>".
You can fill in details for the Author, Computer, Image Description, and Comments fields if you want to. Then press "Next >>" to begin the backup.
That was easy!
Next, we are going to build an add-on image which will contains all critical updates and recommended updates released since Windows XP SP2.
Make the following directories:
When I first began working out how I would install Windows updates automatically, I was playing around with the idea of writing a program which would use QChain.exe to install the updates for me. Luckily, I came across an article on Slashdot entitled, How To Avoid Viruses At Windows Install Time?. One of the user comments suggested using AutoPatcher. When I went to the site, I discovered someone beat me to it and wrote the program. Works for me!
A couple of things to understand about AutoPatcher. A new version is released a few days after Microsoft Patch Tuesday every month, which includes that months' new updates. Sometimes instead of relasing a new version of AutoPatcher with ALL post-XP SP updates, they release an "update" package. The update package only includes the new updates released since the previous release of AutoPatcher. This means that if you want a full version of AutoPatcher with all updates, you need to start with the most recent full release, and then overlay the updates released since then.
As of this moment, the newest AutoPatcher release is March 2006, and it is an update release.
So, we need to download the following files into \\udimage\vol1\BuildImage\AutoPatcher\Installers:

When you see this window, uncheck everything, press "Finish".
Personally, I think some of the updates and add-ons included in AutoPatcher is unecessary, so I like to remove some of the stuff. Luckily, AutoPatcher comes with a tool called "Module Installer" which lets you add and remove modules from the base package.
Unfortunately, there is a minor bug in AutoPatcher's "Module Installer" program that we need to deal with.
You should notice in the \\udimage\vol1\BuildImage\AutoPatcher\v5.1.29 2006-03(Lite)\Misc\AutoPatcher\v5.1.29 2006-03(Lite)\modules directory are a few files and subdirectories.
In an ideal world. you should be able to execute "Module Installer" in its default directory and pick and choose what gets installed. Unfortunately, at the moment there is a bug which only allows "Module Installer" to edit the modules which are in the same directory it is running from. So, we need to copy Module Installer.exe to each of the subdirectories and run it from there to make the necessary changes.
I don't have any need for any modules in the AddOns folder,so I just delete the AddOns folder.
Execute \\udimage\vol1\BuildImage\AutoPatcher\v5.1.29 2006-03(Lite)\Misc\AutoPatcher\v5.1.29 2006-03(Lite)\modules\Components\Module Installer.exe. Select "I would like to remove modules", press "Next". Select any modules you do not want to install, and press "Uninstall Module(s)". I usually leave this one alone. When you are finished, press "Exit".
Execute \\udimage\vol1\BuildImage\AutoPatcher\v5.1.29 2006-03(Lite)\Misc\AutoPatcher\v5.1.29 2006-03(Lite)\modules\Critical\Module Installer.exe. Select "I would like to remove modules", press "Next". Select any modules you do not want to install, and press "Uninstall Module(s)". I usually leave this one alone. When you are finished, press "Exit".
Execute \\udimage\vol1\BuildImage\AutoPatcher\v5.1.29 2006-03(Lite)\Misc\AutoPatcher\v5.1.29 2006-03(Lite)\modules\NonCritical\Module Installer.exe. Select "I would like to remove modules", press "Next". Select any modules you do not want to install, and press "Uninstall Module(s)". I usually leave this one alone. When you are finished, press "Exit".
I don't have any need for any modules in the Tweaks folder and AutoPatcher sometimes complains about registry key errors, so I just delete the Tweaks folder.
Execute \\udimage\vol1\BuildImage\AutoPatcher\v5.1.29 2006-03(Lite)\Misc\AutoPatcher\v5.1.29 2006-03(Lite)\modules\Module Installer.exe. Select "I would like to remove modules". We decided not to use AddOns or Tweaks, so I will select "Windows AddOns" and "Registry Tweaks" and then click on "Uninstall Module(s)", then "Exit".
We use a simple AutoIt script to begin the installation of the AutoPatcher updates. The files from the SubVersion Repository.
Now we need to get the AutoPatcher files into a ZENworks Add-on image. For this, we use the Image Explorer. There are two ways to start Image Explorer:
Once ZENworks Image Explorer runs, drag the folder \\udimage\VOL1\BuildImage\AutoPatcher\v5.1.29 2006-03(Lite)\Misc onto "Partition 1", After a minute or two, you should see something like the following:
Save the add-on image as \\udimage\VOL1\BuildImage\AutoPatcher\AutoPatcherv5.1.29_2006-03(Lite).zmg
Coming soon!
No, I did not forget about this section. Read below for an update on why this section is incomplete for the moment.
We just started implementing NMAS on-campus, and we ran into an issue with Client32, NMAS, and SysPrep. It turns out that if you have NMAS installed and enabled and then you run SysPrep on that machine, once the Windows SIDs are changed during the SysPrep process, things get broken :)
If you login Workstation Only and then try to login to the Novell network, you will get the following internal error:
Novell has a TID concerning this, TID10094494 (Internal error 0xFFFFFA27 reported when logging into NDS with NMAS enabled). Once I figure out a good workaround, or get Novell to offer a better fix since I plan on opening a Support Incident for this, I'll complete this section.
This is the master ZEN app which kicks off all other scripts for building the drive image!
View the root branch in SubVersion.
You can use the .AXT files to create new ZENworks Application Objects in your tree. Just open it in a text editor and change the file paths to match your enviornment. You can also modify the AutoIt source code files and recompile them as you see fit. The .ini files in the source code directories can be edited in a text editor; make sure to change the paths as needed. This will make recompiling much easier. I recommend using the SciTE Editor for AutoIt.
These are the tweaks that are made before any applications are installed.
View the "Tweaks" branch in SubVersion.
You can use the .AXT files to create new ZENworks Application Objects in your tree. Just open it in a text editor and change the file paths to match your enviornment. You can also modify the AutoIt source code files and recompile them as you see fit. The .ini files in the source code directories can be edited in a text editor; make sure to change the paths as needed. This will make recompiling much easier. I recommend using the SciTE Editor for AutoIt.
These tweaks involve changing the behavior of some of the Windows services.
View the "Tweaks/Services" branch in SubVersion.
You can use the .AXT files to create new ZENworks Application Objects in your tree. Just open it in a text editor and change the file paths to match your enviornment. You can also modify the AutoIt source code files and recompile them as you see fit. The .ini files in the source code directories can be edited in a text editor; make sure to change the paths as needed. This will make recompiling much easier. I recommend using the SciTE Editor for AutoIt.
These tweaks involve changing the appearance and functionality of the Control Panel.
View the "Tweaks/Control Panel" branch in SubVersion.
You can use the .AXT files to create new ZENworks Application Objects in your tree. Just open it in a text editor and change the file paths to match your enviornment. You can also modify the AutoIt source code files and recompile them as you see fit. The .ini files in the source code directories can be edited in a text editor; make sure to change the paths as needed. This will make recompiling much easier. I recommend using the SciTE Editor for AutoIt.
These tweaks involve changing the appearance and functionality of My Computer and Explorer.
View the "Tweaks/Explorer" branch in SubVersion.
You can use the .AXT files to create new ZENworks Application Objects in your tree. Just open it in a text editor and change the file paths to match your enviornment. You can also modify the AutoIt source code files and recompile them as you see fit. The .ini files in the source code directories can be edited in a text editor; make sure to change the paths as needed. This will make recompiling much easier. I recommend using the SciTE Editor for AutoIt.
These tweaks involve changing the appearance and functionality of Internet Explorer, including favorites and the default home page.
View the "Tweaks/Internet Explorer" branch in SubVersion.
You can use the .AXT files to create new ZENworks Application Objects in your tree. Just open it in a text editor and change the file paths to match your enviornment. You can also modify the AutoIt source code files and recompile them as you see fit. The .ini files in the source code directories can be edited in a text editor; make sure to change the paths as needed. This will make recompiling much easier. I recommend using the SciTE Editor for AutoIt.
These tweaks involve miscellaneous things, including enabling Clear Type.
View the "Tweaks/Misc" branch in SubVersion.
You can use the .AXT files to create new ZENworks Application Objects in your tree. Just open it in a text editor and change the file paths to match your enviornment. You can also modify the AutoIt source code files and recompile them as you see fit. The .ini files in the source code directories can be edited in a text editor; make sure to change the paths as needed. This will make recompiling much easier. I recommend using the SciTE Editor for AutoIt.
The next phase of UD IMAGE is installing the applications such as Symantec Antivirus CE and Microsoft Office.
View the "Applications" branch in SubVersion.
You can use the .AXT files to create new ZENworks Application Objects in your tree. Just open it in a text editor and change the file paths to match your enviornment. You can also modify the AutoIt source code files and recompile them as you see fit. The .ini files in the source code directories can be edited in a text editor; make sure to change the paths as needed. This will make recompiling much easier. I recommend using the SciTE Editor for AutoIt.
Here is the dependency tree for the Applications in UD IMAGE.
The first-level application, Student_Applications, has a number of lower-level dependent applications. You will notice that most major applications are themselves dependent applications associated to apps called Current_Version.
The Current_Version app points to the current production version of that particular application. You can think of it as a symbolic link.
For example, Current_Version.Symantec_Antivirus_CE.<etc> has a dependent application called SAV_CE.v10_0_1_1_000.<etc>.
At some point when we begin to use a new version of the SAV CE client, e.g. v10.0.2.2000, I will create a new ZEN App called SAV_CE.v10_0_2_2000.<etc>. I will then edit Current_Version.Symantec_Antivirus_CE.<etc> so that SAV_CE.v10_0_1_1000.<etc> is no longer dependent on it, and then make SAV_CE.v10_0_2_2000.<etc> a dependent app. This allows us to have parallel imaging super apps with different sets of tweaks, applications, etc which are not broken as soon as we update the version of, say, SAV CE that we use.
These are the tweaks that are made after the applications are installed.
View the "Tweaks" branch in SubVersion.
You can use the .AXT files to create new ZENworks Application Objects in your tree. Just open it in a text editor and change the file paths to match your enviornment. You can also modify the AutoIt source code files and recompile them as you see fit. The .ini files in the source code directories can be edited in a text editor; make sure to change the paths as needed. This will make recompiling much easier. I recommend using the SciTE Editor for AutoIt.
These tweaks involve miscellaneous things such as changing the power settings.
View the "Tweaks/Misc" branch in SubVersion.
You can use the .AXT files to create new ZENworks Application Objects in your tree. Just open it in a text editor and change the file paths to match your enviornment. You can also modify the AutoIt source code files and recompile them as you see fit. The .ini files in the source code directories can be edited in a text editor; make sure to change the paths as needed. This will make recompiling much easier. I recommend using the SciTE Editor for AutoIt.
The next phase of UD IMAGE is cleaning up the hard drive so we can backup an image without a lot of unecessary temp files, etc.
View the Cleanup branch in SubVersion.
You can use the .AXT files to create new ZENworks Application Objects in your tree. Just open it in a text editor and change the file paths to match your enviornment. You can also modify the AutoIt source code files and recompile them as you see fit. The .ini files in the source code directories can be edited in a text editor; make sure to change the paths as needed. This will make recompiling much easier. I recommend using the SciTE Editor for AutoIt.
Here is the dependency tree for the Cleanup app in UD IMAGE.
At this point, the person setting up the machine should finish setting up the computer before it is ready to be backed up. These customizations would include going to Microsoft Update to update Windows and Office, install any additional software, etc.
Coming soon!
Coming soon!
Below are a couple of things I would like to incorporate into the image-building process. I am not promising anything, but these next couple of items are high on my wish list.
It would be nice to be able to use existing LDAP/eDirectory credentials to allow the proper people access to the imaging menus when booting from the imaging CD/PXE.
I would like to incorporate DMI and WMI some more so that the image-building process is more intelligent.
© 2009 Novell, Inc. All Rights Reserved.