Thanks, folks. I do appreciate the feedback! @crahak, great point about the logs. I had already checked and that's how I knew for sure what was failing. @Camarade_Tux, yes the event log is also a great tool. Unfortunately, in this case, there was less in the event log than in the installers' logs. I'm merely trying to install .Net 1.1 on an existing server that was built using an nLited image. .Net 2.0 isn't needed at this time. I was following the theory that nLite RC8 did something that kept the setup routine from succeeding. (Remember that this is Windows Server 2003 R2 Standard x64. .Net 1.1 is not included in the OS on 64-bit versions.) Yeah, I know nLite 1.0 and later are out, but I'm using RC8 because I'm trying to find and fix something that was broken in a build that I originally created with RC8. I didn't want to change too much before I knew for sure the cause, you know? I'm sorry I lost the faith Nuhi. I should've known better. It's not an nLite issue...well not entirely. Through the process of elimination, I finally figured out the issue was DEP! I can't remember for sure now, but I think nLite stuck the offending line in my winnt.sif at some point. Not knowing any different, I had left it in. Symptom .Net Framework 1.1 setup failed while registering components. Here's the important parts of the log. Registering System.EnterpriseServices.dll Executing: ERROR: Process returned non-0 value! CMDLINE: "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\RegSvcs.exe" /bootstrapi Executing: Failed Issue Windows was started with the switch /noexecute=alwayson in boot.ini, which turns on Data Execution Prevention (DEP) for all processes. (See http://support.microsoft.com/kb/875352 for more information.) Resolution I knew this issue was related to our custom unattend/sysprep image which was built with an nLited CD. I started by removing items in winnt.sif and rebuilding a test box until the issue disappeared. Then I gradually eliminated/added back items to determine the root cause. This section is in winnt.sif. [SetupData] OSLoadOptionsVar = "/noexecute=alwayson" Removing the above section from winnt.sif resolved the issue when installing a customized OS. But on the existing server (where my current issue is), the ability to turn off DEP was disabled. (See the screenshot.) I had to create a new entry in boot.ini and re-boot to force DEP to its default state. (See http://support.microsoft.com/kb/875352 for more information.) The system was re-booted normally (with the switch) after the .Net 1.1 updates were applied. Thanks gang for your support! nLite rocks, Nuhi!