Deployment Solution

 View Only
  • 1.  Image Versioning

    Posted Apr 16, 2009 02:23 PM
    I am a newbie to Altiris Deployment Solution and was curious if anyone has any thoughts about image versioning.  In my company, we are developing a universal image to be used on multiple hardware types.  As the image changes, I think it would be imperative to brand the image with a version number so we can easily tell what version is on a computer.  I thought of changing the file: %systemroot%'system32\OEMINFO.INI for each version, but I was curious what others may be doing.
    Thanks,
    Craig
    Be humble - remember that amateurs built the Ark, but professionals built the Titanic!


  • 2.  RE: Image Versioning

    Posted Apr 16, 2009 02:36 PM
    For the most part we don't do any version branding.  Previously, I put an update.txt file on the root of the c: drive that had all the windows updates installed on it, the date of that file might be considered as a version, but we have recently decided not to use that file anymore because it is basically useless.  If you use the same job to do all your imaging, then you can just note when you update the image and you can look at the DS and see which computers were built after the image was implemented. 
    It is not a bad idea to brand the image though, because then if there starts to be problems with computers built with a specific image it should be easy to identify which computers were built with which image.  You could even us the NS to inventory the file to have a report that has which computers were built with which image.  The more I think about it, the more I think it is a good idea to version the image. 
    If I decide to brand the images though, I think I would just hide a file with the name as the date somewhere and tell the NS to inventory that file.  Most likely hide it in Windows\system32 or a home made folder in the Windows folder to keep it hidden.


  • 3.  RE: Image Versioning

    Posted Apr 16, 2009 03:29 PM
    I think I remember someone would add in a registry settings in the HKLM for software and then they were able to use that same string to uninstall, gather reports on deployment usage etc.  You could always use something like that and that way NS or DS can tell you how many computers in the field have version X versus Y.


  • 4.  RE: Image Versioning

    Posted Apr 17, 2009 09:31 AM
    I've done it this way also.  If you have NS, you can set up a custom inventory to pull in the version number from the registry.


  • 5.  RE: Image Versioning

    Posted Apr 20, 2009 05:34 PM
    How are you doing that with NS - I would like to see that?


  • 6.  RE: Image Versioning

    Posted Apr 20, 2009 06:21 PM
    Use the OEMDuplicatorString in sysprep. Then you can use a custom inventory like this:

    <?xml version="1.0" encoding="windows-1252"?>
    <InventoryClasses>

    <InventoryClass name="AeX CI Image Info" manufacturer='Altiris' description='Imaging Information' platform='Win32' version='1.0' mifClass='ALTIRIS|AEX_IMAGEINFO|1.0'>
    <xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
    <s:Schema id="RowsetSchema">
    <s:ElementType name="row" content="eltOnly" rs:updatable="true">
    <s:AttributeType name="c0" rs:name="CloneTag" rs:number="1" rs:nullable="true" mifAttrId="1">
    <s:datatype dt:type="string" dt:maxLength="255"/>
    </s:AttributeType>
    <s:AttributeType name="c1" rs:name="CmdLine" rs:number="2" rs:nullable="true" mifAttrId="2">
    <s:datatype dt:type="string" dt:maxLength="255"/>
    </s:AttributeType>
    <s:AttributeType name="c2" rs:name="OEMDuplicatorString" rs:number="3" rs:nullable="true" mifAttrId="3">
    <s:datatype dt:type="string" dt:maxLength="255"/>
    </s:AttributeType>
    <s:AttributeType name="c3" rs:name="OsLoaderPath" rs:number="4" rs:nullable="true" mifAttrId="4">
    <s:datatype dt:type="string" dt:maxLength="255"/>
    </s:AttributeType>
    <s:AttributeType name="c4" rs:name="SetupType" rs:number="5" rs:nullable="true" mifAttrId="5">
    <s:datatype dt:type="string" dt:maxLength="255"/>
    </s:AttributeType>
    <s:AttributeType name="c5" rs:name="SystemPartition" rs:number="6" rs:nullable="true" mifAttrId="6">
    <s:datatype dt:type="string" dt:maxLength="255"/>
    </s:AttributeType>
    </s:ElementType>
    </s:Schema>
    <rs:data>
    <%set Key="HKEY_LOCAL_MACHINE\System\Setup"%>
    <z:row
    c0="<%writexml "reg:%Key%\CloneTag"%>"
    c1="<%writexml "reg:%Key%\CmdLine"%>"
    c2="<%writexml "reg:%Key%\OEMDuplicatorString"%>"
    c3="<%writexml "reg:%Key%\OsLoaderPath"%>"
    c4="<%writexml "reg:%Key%\SetupType"%>"
    c5="<%writexml "reg:%Key%\SystemPartition"%>"
    />
    </rs:data>
    </xml>
    </InventoryClass>
    </InventoryClasses>


    Your report would be something as simple as:

    SELECT ii.[OEMDuplicatorString], count(*) AS 'Total #'
    FROM Inv_AeX_CI_Image_Info ii
    GROUP BY ii.[OEMDuplicatorString]
    ORDER BY count(*) DESC