Jump to content

fletcherjames

Member
  • Posts

    19
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    United States

Posts posted by fletcherjames

  1. I may have spoken too quickly, because when I started to implement this, I came up with what seems like a paradox.

    We're looking to clone a SysPrepped machine, and then assign a different name to each copy. How can you modify unattend.xml while the machine is sealed (except by mounting the disk in another machine)? Or, if you can put the unattend.xml on a different machine (is that possible, or is it internalized during the SysPrep stage?) then you would need to access it at the earliest stage of setup, at which point the machine doesn't belong to a network, and probably can't access a mapped drive or share.

    Were you doing something different from what I need to do, or do you have a clever way to deal with this situation?

  2. Excellent! I was thinking about doing something like that myself. You've saved me the trouble of worrying about which sequence to use, and experimenting to find out if it will work.

    I've written similar applets in the past, which used a templated version of an XML file (i.e. with tags like %%MyVar1%% representing items to be modified), prompted for data items, and applied the substitutions to create a customized XML file.

    In my case, I've used VBA in a Word document to program this -- that's nice, because you can store the data in a table in the Word document, and you have built-in program code and default values in a single application file. If I were an Excel (or Access) programmer, I'd obviously do it the app of my choice.

  3. I've run into a problem (earlier topic) with an error message regarding a product key failure. I tried doing an Unattended Join, and then allowing OOBE to prompt for a machine name. When I do that: a) the Join occurs under a random name; B ) OOBE only changes the LOCAL machine name, but doesn't register the change with the domain; and c) the machine is now left without a valid domain account.

    According to http://support.microsoft.com/kb/944353, this is "by design"; by which they seem mean that there's a serious flaw in the logic of the excution of the setup, which is NOT documented in the reference manual. There are only a half-dozen references to that KB on the entire web, none on this forum.

    I find this a bit hard to believe, and even harder to swallow. I find it hard to believe that I'm the only person who has ever asked undattenedd isetup to join a domain and ask the person running the setup to supply a name for the machine. Furthermore, I'd be surprised that nobody ever complained about this and that it wasn't fixed in SP1.

    I think it is much more likely that there's a different problem going on, and that the KB was due to some MS tech documenting the fact that he couldn't figure it out. The details of my unattend.xml and logs are posted under the earlier topic.

    Has ANYBODY out there gotten these two functions to work together in the same setup? If so, please let me know so that I can tell MS that they're blowing smoke at me. They're charging me for an incident and telling me that they can't solve the problem.

  4. More Info:

    1)

    I ran the MSDiag.exe, as suggested. It told me that there was NOTHING wrong with the product key (see MSDiag.txt, attached.) I then suspected that the error message might have been spurious, and tried activating it, and it was successful (i.e. even without re-entering the key.)

    2)

    I am attaching the setupact.log. I booted the SysPrep'ed machine on 12/4 at 13:28, and it ran until it showed the login prompt. I came back in this morning (10:30 on 12/5) and supplied a machine name.

    We have correlated this with our server logs and determined the following:

    * Yesterday, it created a machine account under a temporary name, and flagged the UnattendedJoin as completing successfully.

    * Today, when we gave it the machine name, it did the following (see extract from setupacct.log, below):

    * Renamed the local machine (registry etc.)

    * Started what it called "Mandatory Tasks"

    * Immediately threw an error "Failed to Install Product Key


    "

    * After a very small number of steps, exited.

    WHAT IT DID NOT DO was to go back to the Domain Controller and re-name its account there. That's why it doesn't have a proper machine account in the domain.

    TO SUMMARIZE: Even though it had successfully installed the Product Key, it issued an error message saying it hadn't; and then, it aborted the setup before completing the process of applying it's new name.

    The following is the last dozen lines or so of setupacct.log (entire log attached.)

    2008-12-05 10:39:47, Info [msoobe.exe] Starting service fdrespub
    2008-12-05 10:39:47, Info [msoobe.exe] Starting service upnphost
    2008-12-05 10:39:49, Info [msoobe.exe] Service fdrespub is not running
    2008-12-05 10:39:50, Info [msoobe.exe] Service upnphost reports as running
    2008-12-05 10:39:58, Info [msoobe.exe] Running mandatory tasks
    2008-12-05 10:40:04, Error[msoobe.exe] Failed to install product key [hr=0xc004f050]
    2008-12-05 10:40:04, Info [msoobe.exe] Configuring service netprofm for auto start
    2008-12-05 10:40:04, Info [msoobe.exe] Successfully changed configuration for service netprofm
    2008-12-05 10:40:04, Info [msoobe.exe] Successfully verified and committed UI language settings
    2008-12-05 10:40:04, Info [msoobe.exe] Starting service netprofm
    2008-12-05 10:40:05, Info [msoobe.exe] Service netprofm reports as running
    2008-12-05 10:40:07, Info [msoobe.exe] Successfully notified UI language change
    2008-12-05 10:40:07, Info [msoobe.exe] Exiting mandatory tasks... [0x0]
    2008-12-05 10:42:00, Info [msoobe.exe] Mandatory tasks previously completed
    2008-12-05 10:42:00, Info [msoobe.exe] Exiting mandatory tasks... [0x0]
    2008-12-05 10:42:00, Info [msoobe.exe] Exiting... [0x0]
    2008-12-05 10:42:00, Info [oobeldr.exe] OrchestrateUpdateImageState: Updating image state from [IMAGE_STATE_UNDEPLOYABLE] --> [IMAGE_STATE_COMPLETE]
    2008-12-05 10:42:00, Info [oobeldr.exe] OOBELdr.exe exiting with code [0x0]...
    2008-12-05 10:42:00, Info [windeploy.exe] Process exited with exit code [0x0]
    2008-12-05 10:42:00, Info [windeploy.exe] WinDeploy.exe exiting with code [0x0]

    BTW, this is a VM, so we can easily roll back & adjust the unattend, etc.

    MSDiag.txt

    setupact.txt

  5. I have set up a Vista machine, using MS's Vista Business with SP1 ISO. I am attempting to use the same unattend.xml file which worked under Vista BEFORE SP1, but it is giving me the message [msoobe.exe] Failed to Install Product Key


    . I am using the key which appears on the MSDN site.

    I know that the key is good, because I can activate the machine manually, by copy/paste from the value in unattend.xml.

    There is a second anomalous behavior: Although the log says that UnattendedJoin.exe succeeded, I cannot log into the domain (it says that the trust relationship is broken) and the Domain Controller does NOT show an account for the machine. At the same time, however, the machine's Administrators group DOES show the Domain Admins and 2 other domain groups which I added through the unattend file. So, it would almost seem as if the machine had been added to the domain, and subsequently removed (e.g. when it decided that the product key was no good.)

    COMMENTS:

    1) I read one post warning that there are some changes required between original RTM and SP1 versions. However, there was nothing stated about what adjustments might need to be made.

    2) I cannot be sure whether I actually ended up installing the Volume License edition of Vista or the Retail edition. However, if I have the wrong edition, I am puzzled as to why it would allow activation with manual entry of the key.

    3) As to the Unattended Join: It is NOT EXACTLY the case that this worked previously -- it worked when my machines were in an earlier NT domain; we now have an AD Domain based on Windows Server 2008, so it is possible that missed a required adjustment.

    My unattend.xml file follows:

    <?xml version='1.0' encoding='utf-8'?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="generalize" wasPassProcessed="true">
    <component name="Microsoft-Windows-PnpSysprep" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" processorArchitecture="x86">
    <PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
    </component>
    </settings>
    <settings pass="oobeSystem" wasPassProcessed="true">
    <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <InputLocale>en-us</InputLocale>
    <SystemLocale>en-us</SystemLocale>
    <UILanguage>en-us</UILanguage>
    <UserLocale>en-us</UserLocale>
    </component>
    <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <OOBE>
    <HideEULAPage>true</HideEULAPage>
    <ProtectYourPC>3</ProtectYourPC>
    <SkipMachineOOBE>false</SkipMachineOOBE>
    <SkipUserOOBE>false</SkipUserOOBE>
    </OOBE>
    <UserAccounts>
    <LocalAccounts>
    <LocalAccount wcm:action="add">
    <Password>*SENSITIVE*DATA*DELETED*</Password>
    <Description>WSAdmin Account</Description>
    <DisplayName>WSAdmin</DisplayName>
    <Group>Administrators</Group>
    <Name>WSAdmin</Name>
    </LocalAccount>
    </LocalAccounts>
    <DomainAccounts>
    <DomainAccountList wcm:action="add" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
    <DomainAccount wcm:action="add">
    <Name>WSAdmin</Name>
    <Group>Administrators</Group>
    </DomainAccount>
    <DomainAccount wcm:action="add">
    <Name>Domain Admins</Name>
    <Group>Administrators</Group>
    </DomainAccount>
    <DomainAccount wcm:action="add">
    <Name>Development</Name>
    <Group>Administrators</Group>
    </DomainAccount>
    <Domain>levitjames</Domain>
    </DomainAccountList>
    </DomainAccounts>
    </UserAccounts>
    </component>
    </settings>
    <settings pass="specialize" wasPassProcessed="true">
    <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Identification>
    <Credentials>
    <Domain>levitjames</Domain>
    <Password>*SENSITIVE*DATA*DELETED*</Password>
    <Username>wsadmin</Username>
    </Credentials>
    <JoinDomain>levitjames</JoinDomain>
    </Identification>
    </component>
    <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <TimeZone>Eastern Standard Time</TimeZone>
    <ProductKey>*SENSITIVE*DATA*DELETED*</ProductKey>
    <DoNotCleanTaskbar>true</DoNotCleanTaskbar>
    <CopyProfile>true</CopyProfile>
    </component>
    <component name="Networking-MPSSVC-Svc" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
    <DomainProfile_EnableFirewall>false</DomainProfile_EnableFirewall>
    <PrivateProfile_EnableFirewall>false</PrivateProfile_EnableFirewall>
    <PublicProfile_EnableFirewall>false</PublicProfile_EnableFirewall>
    </component>
    </settings>
    </unattend>

  6. I'll do that -- I was just reluctant because I already posted 2 help requests there this week, and I couldn't really provide additional information about ruudeboek's experiments, if somebody asked for details.

    BTW, when I posted my reply, I slipped up on the cut-and-paste, and mangled the first line which was supposed to be "Thanks! -- I think that's a hint, but like you, I need". It came out sounding as if I were being cranky.

  7. ruudboek:

    I think that's a hint, but I need to specify the Work location. In my environment, I'm better off to answer the extra prompt, than to hardwire the wrong answer!

    I did a Google Search on NetworkList NewNetworks, hoping to find any documentation of the setting. Unfortunately, it only came up with one entry -- you post to this thread <g>.

    Perhaps you could cross-post to microsoft.public.windows.vista.installation_setup, in hopes of finding an MVP with access to MS internal support.

  8. cc: microsoft.public.windows.vista.installation_setup

    My findings are that the combination of <CopyProfile> and <DoNotCleanTaskBar> do work, but with a very strange anomaly.

    Say the SysPrep is done by user -- say "ADM" -- (either a local admin or a network account with admin privileges" then when the image is re-booted. If a new user logs into the computer, it can be verified that all of ADM's settings, including the QuickLaunch icons on the task bar, have been copied to the Default User profile, and propagated to the new user.

    However, if ADM logs in, then MOST of the original profile settings will have been preserved (or, perhaps deleted and then re-propagated from Default User), but the Quick Launch bar has been wiped clean -- the only icons that show are for "Computer" and "Show Desktop".

    If you're setting up images for testing, as I am, and intend to use the same Username in all phases, then this means that you have a bunch of manual work to do.

    Am I doing something wrong, or is this a bug?

    BTW I would hope that it would be possible to avoid having to copy the profile under a different user account, and just arrange some code to refresh the Quick Launch bar at some point in the process. Any hints on how to accomplish that simply would be appreciated.

  9. That's a long story... it's essentially the main topic of this entire forum. It boils down to two methods:

    Option A:

    Download Microsoft's Business Desktop Deployment kit, the WAIK (Windows Automated Installation Kit) etc. Read a bunch of manuals. There's a program called Windows SIM and another called "ImageX" that are involved. You create a special image file of your system disk with ImageX, and then use Windows SIM to create an answer file. You also need to have a stock Windows Vista CD available. This system offers a GUI, lists all of your options, does syntax checks, and helps keep some sort of inventory of your various setups.

    My impression is (not having used it) that there's a steep learning curve, and then you can manage a large number of images and so forth quite well. This forum contains a guide which is much easier to understand than MS's fragmented documentation.

    Option B:

    Scan this forum for examples of Unttend.xml files (or Autounttend.xml), and grab bits and pieces. (For example, I posted one a couple of days ago in another thread regarding NetworkLocation and DontClearTaskBar -- it almost works in my application <g>). You can use XML Notepad or any other XML-aware editor (I use UltraEdit) to do the edits. The XML syntax is very rudimentary.

    IN EITHER CASE, there are a large number of fairly complex & confusing settings, which are a major topic of discussion here. You will wish to refer to:

    http://technet2.microsoft.com/WindowsVista...3.mspx?mfr=true

    This is the reference guide for all settings.

  10. More info on the DoNotCleanTaskBar setting, which is being ignored:

    1) It is available in the following passes:

    auditSystem

    generalize

    offlineServicing

    oobeSystem

    specialize

    I've got it in the specialize pass, along with CopyProfile.

    2) The documentation notes that "This setting is available only to corporations," whatever that means. I suspect that means that it's only available if you're using some sort of a Volume License Key (I am using an MDSN Volume License key).

  11. I've read through a bit of the BDD documentation (it seems like it's a great product, once you've eaten the learning curve).

    The impression I get is that Windows SIM needs both a stock Vista CD and a specific ImageX file, before it will allow you to generate an unattended setup. However, what I've got is a VMWare machine with Vista installed and customized. I also have a basic Unattend.xml file that I would like to modify.

    Is there any way to run Windows SIM where you give it the Vista product CD and an Unattend.xml file, <without> a machine image, and edit/validate the file?

  12. I am having a couple of problems setting up an Unattend.xml file for Vista Business. Specifically, there are two settings which are not taking:

    1) NetworkLocation: the specialize phase seems to run fine, (prompting only for MachineName, as desired) but as soon as I log in for the first time, I am prompted to say whether the machine is on a Work or Home network.

    2) NoCleanTaskbar: As you can see, I have invoked CopyProfile. As far as I can tell, all other profile settings from the pre-sysprep user (also WSAdmin) are being propagated fine -- Desktop layout and drive mappings, for example. However, the customization of the Quick Launch is being lost, and that toolbar only contains Computer and Show Desktop.

    Any help would be appreciated!

    NOTE 1: The machine in question is running in VMWare. I have not found any simple instructions for running Windows SIM against a VMWare image (I'll make that the topic of a separate post) so I decided to construct the Unattend.xml by hand from a combination of examples and MS documentation. Therefore, my Unattend has not been validated, although it generates no error messages during Sysprep or mini-setup.

    NOTE 2: I do have a couple of suspicions which occurred to me as I was working to post this -- one is that the SkipUserOOBE true setting might be keeping one or more settings from taking. The other is that it might have to do with the way the Windows-Shell-Setup setting are split between the oobeSystem and specialize steps.

    <?xml version='1.0' encoding='utf-8'?>

    <unattend xmlns="urn:schemas-microsoft-com:unattend">

    <settings pass="generalize" wasPassProcessed="true">

    <component name="Microsoft-Windows-PnpSysprep" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" processorArchitecture="x86">

    <PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>

    </component>

    </settings>

    <settings pass="oobeSystem" wasPassProcessed="true">

    <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <InputLocale>en-us</InputLocale>

    <SystemLocale>en-us</SystemLocale>

    <UILanguage>en-us</UILanguage>

    <UserLocale>en-us</UserLocale>

    </component>

    <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <OOBE>

    <HideEULAPage>true</HideEULAPage>

    <NetworkLocation>Work</NetworkLocation>

    <ProtectYourPC>3</ProtectYourPC>

    <SkipMachineOOBE>false</SkipMachineOOBE>

    <SkipUserOOBE>true</SkipUserOOBE>

    </OOBE>

    <UserAccounts>

    <LocalAccounts>

    <LocalAccount wcm:action="add">

    <Password>*SENSITIVE*DATA*DELETED*</Password>

    <Description>WSAdmin Account</Description>

    <DisplayName>WSAdmin</DisplayName>

    <Group>Administrators</Group>

    <Name>WSAdmin</Name>

    </LocalAccount>

    </LocalAccounts>

    </UserAccounts>

    </component>

    </settings>

    <settings pass="specialize" wasPassProcessed="true">

    <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <Identification>

    <JoinWorkgroup>Dummy</JoinWorkgroup>

    </Identification>

    </component>

    <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <CopyProfile>true</CopyProfile>

    <DoNotCleanTaskbar>true</DoNotCleanTaskbar>

    <ProductKey>*SENSITIVE*DATA*DELETED*</ProductKey>

    <TimeZone>Eastern Standard Time</TimeZone>

    </component>

    <component name="Networking-MPSSVC-Svc" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">

    <DomainProfile_EnableFirewall>false</DomainProfile_EnableFirewall>

    <PrivateProfile_EnableFirewall>false</PrivateProfile_EnableFirewall>

    <PublicProfile_EnableFirewall>false</PublicProfile_EnableFirewall>

    </component>

    </settings>

    </unattend>

×
×
  • Create New...