<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>David Ruddell</title>
        <link>http://devcentral.f5.com/weblogs/druddell/Default.aspx</link>
        <description>Davids Blog</description>
        <language>en-US</language>
        <copyright>David Ruddell</copyright>
        <generator>Subtext Version 2.1.1.1</generator>
        <image>
            <title>David Ruddell</title>
            <url>http://devcentral.f5.com/weblogs/images/RSS2Image.gif</url>
            <link>http://devcentral.f5.com/weblogs/druddell/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>F5 Management Pack v2.1.0.43 Released with App Designer Support for SharePoint 2010</title>
            <link>http://devcentral.f5.com/weblogs/druddell/archive/2010/05/13/f5-management-pack-v2.1.0.43-released-with-app-designer-support-for.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/druddell/WindowsLiveWriter/F5M.43ReleasedwithAppDesignerSupportforS_C1D8/spanner-tool_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="Clip Art Graphic of a Red Guy Character " border="0" alt="Clip Art Graphic of a Red Guy Character " align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/druddell/WindowsLiveWriter/F5M.43ReleasedwithAppDesignerSupportforS_C1D8/spanner-tool_thumb.jpg" width="86" height="86" /&gt;&lt;/a&gt; In conjunction with the release of &lt;a href="http://sharepoint.microsoft.com/en-us/Pages/default.aspx" target="_blank"&gt;Microsoft SharePoint 2010&lt;/a&gt;, the F5 Management Pack team has released v2.1.0.43 of our Management Pack.  Along side this release we are introducing the F5 Application Designer for SharePoint 2010.  This new application designer is actually very similar to the SharePoint 2007 Application Designer released last month, but with the &lt;a href="http://pinpoint.microsoft.com/en-US/PartnerDetails.aspx?PartnerId=4297702754&amp;amp;ProductId=12884905232&amp;amp;CurrentTab=1" target="_blank"&gt;SharePoint 2010 Management Pack&lt;/a&gt; helping run the show, a whole new level of visibility and capabilities have become available to the user surrounding a SharePoint deployment.&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/druddell/WindowsLiveWriter/F5M.43ReleasedwithAppDesignerSupportforS_C1D8/F5.AppDesigner.SharePoint2010.Details_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="F5.AppDesigner.SharePoint2010.Details" border="0" alt="F5.AppDesigner.SharePoint2010.Details" align="right" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/druddell/WindowsLiveWriter/F5M.43ReleasedwithAppDesignerSupportforS_C1D8/F5.AppDesigner.SharePoint2010.Details_thumb.jpg" width="244" height="161" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The Application Designer for SharePoint 2010 has a lot of the same objects and features as the SharePoint 2007 designer, but with the new capabilities of the SharePoint Foundation 2010 Management Pack, we are really able to get the application specific objects we require to make the most sense out of the whole picture.  On the right is a sample diagram of a single SharePoint Server farm with the basic elements of the designer discovered: F5 LTM Virtual Server, F5 LTM Pool Member, SharePoint Server, Operating System, Website, SharePoint Web Application, and the SQL Content Database for the Website and SharePoint Web Application in the diagram.  There is also an object for Hyper-V Virtual Machine if the server discovered is running under Hyper-V and you have the Virtual Machine Manager Management Pack installed. &lt;/p&gt;  &lt;p&gt;If you have your SharePoint 2010 deployment up and running and are ready to dive into the wonderful world of F5 Application Designers, then you may find the following fairly useful.  First we have the &lt;a href="http://devcentral.f5.com/wiki/default.aspx/MgmtPack/ApplicationDesigner.html" target="_blank"&gt;Wiki documentation for all of our App Designers&lt;/a&gt;, but if you scroll down, you will find the SharePoint 2010 specific deployment guide.  Along with the documentation, I have made up a somewhat lengthy tutorial video to help show you how to get things working, as well as walk you through downloading, installing, and modifying the scripts necessary to successfully run our SharePoint designer.  That video can be located here:&lt;/p&gt;  &lt;p&gt; &lt;a title="http://vimeo.com/11721129" href="http://vimeo.com/11721129"&gt;Working with the F5 Application Designer for SharePoint 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you have any additional questions or concerns, feel free to visit our &lt;a href="http://devcentral.f5.com/Community/GroupDetails/tabid/1082223/asg/54/Default.aspx" target="_blank"&gt;F5 Management Pack Group&lt;/a&gt; and post in our &lt;a href="http://devcentral.f5.com/Community/GroupDetails/tabid/1082223/asg/54/showtab/groupforums/Default.aspx" target="_blank"&gt;forums&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/druddell/aggbug/1088227.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Blog Author</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/druddell/archive/2010/05/13/f5-management-pack-v2.1.0.43-released-with-app-designer-support-for.aspx</guid>
            <pubDate>Thu, 13 May 2010 20:48:02 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/druddell/comments/1088227.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/druddell/archive/2010/05/13/f5-management-pack-v2.1.0.43-released-with-app-designer-support-for.aspx#feedback</comments>
            <slash:comments>81</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/druddell/comments/commentRss/1088227.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Building a Microsoft SharePoint Server Application with the F5 Networks Management Pack</title>
            <link>http://devcentral.f5.com/weblogs/druddell/archive/2010/04/23/building-a-microsoft-sharepoint-server-application-with-the-f5-networks.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/druddell/WindowsLiveWriter/BuildingaMicrosoftSharePointServerApplic_AD42/girder_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Clip Art Graphic of a Red Guy Character " border="0" alt="Clip Art Graphic of a Red Guy Character " align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/druddell/WindowsLiveWriter/BuildingaMicrosoftSharePointServerApplic_AD42/girder_thumb.jpg" width="150" height="150" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Shipping along side the F5 Application Designer Packs, there are two typical application extensions as well.  One of these happens to be targeted at Microsoft SharePoint Server 2007.  With this extension pack, it is easy to deploy and monitor your entire SharePoint application including the important pieces of the Big-IP configuration as well.  This Application Designer profile brings together the key components of your SharePoint deployment, including the SharePoint Server objects, SharePoint Application objects, associated websites as well as any Virtual Machines or SQL Server databases you may be using.&lt;/p&gt;  &lt;p&gt;Want more? You got it! Not only will this extension pack help you detect and monitor your SharePoint application, it will also walk you through configuring of your Big-IP from scratch.  This even includes creating all of the SharePoint specific profiles, LTM Virtual Server, Pool and Pool Members settings designed to work with your SharePoint deployment.  With minimal effort, you can have your SharePoint app up and running in no time.  The configuration that we deploy for you is based on the &lt;a href="http://www.f5.com/pdf/deployment-guides/f5-sharepoint07-dg.pdf" target="_blank"&gt;Big-IP v9.x and Microsoft Office SharePoint 2007 Deployment Guide&lt;/a&gt;.  This guide and others can be found here: &lt;a href="http://www.f5.com/solutions/resources/deployment-guides/" target="_blank"&gt;F5 Networks Deployment Guides&lt;/a&gt;.  Keep in mind that the configuration we deploy is the very basic configuration to get you up and running.  If you wish to tweak the settings to use your Web Accelerator or other Big-IP Modules, you will have to finish those steps manually through the devices Configuration Utility.  &lt;/p&gt;  &lt;p&gt;Below are three videos to demonstrate how easy it can be to discover and configure the F5 SharePoint Application Designer.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://vimeo.com/11143085" href="http://vimeo.com/11143085" target="_blank"&gt;Demonstration of the F5 Application Designer SharePoint 2007 Pack&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://vimeo.com/11143335" href="http://vimeo.com/11143335" target="_blank"&gt;Demonstration of the F5 Application Designer SharePoint 2007 Pack With No Big-IP Configuration&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://vimeo.com/11143789" href="http://vimeo.com/11143789" target="_blank"&gt;How to Setup and Configure the F5 Application Designer SharePoint 2007 Pack&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For further information, please visit our Wiki documentation from the following link:  &lt;a title="http://devcentral.f5.com/wiki/default.aspx/MgmtPack/ApplicationDesigner.html" href="http://devcentral.f5.com/wiki/default.aspx/MgmtPack/ApplicationDesigner.html"&gt;F5 Management Pack Application Designer Wiki Documentation&lt;/a&gt;&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/druddell/aggbug/1088173.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Blog Author</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/druddell/archive/2010/04/23/building-a-microsoft-sharepoint-server-application-with-the-f5-networks.aspx</guid>
            <pubDate>Fri, 23 Apr 2010 17:55:30 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/druddell/comments/1088173.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/druddell/archive/2010/04/23/building-a-microsoft-sharepoint-server-application-with-the-f5-networks.aspx#feedback</comments>
            <slash:comments>126</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/druddell/comments/commentRss/1088173.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Working with High-Availability Pairs and the F5 Networks Management Pack</title>
            <link>http://devcentral.f5.com/weblogs/druddell/archive/2010/04/16/working-with-high-availability-pairs-and-the-f5-networks-management-pack.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/druddell/WindowsLiveWriter/WorkingwithHighAvailabilityPairsandtheF5_834A/doctor_2.jpg"&gt;&lt;img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Clip Art Graphic of a Red Guy Character " border="0" alt="Clip Art Graphic of a Red Guy Character " align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/druddell/WindowsLiveWriter/WorkingwithHighAvailabilityPairsandtheF5_834A/doctor_thumb.jpg" width="150" height="148" /&gt;&lt;/a&gt;With our latest release of the &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=214" target="_blank"&gt;F5 Networks Management Pack&lt;/a&gt;, health visibility and configuration of failover conditions has never been better.  The release includes updates to the existing failover health model which not only allows you to see what your failover peer is, but also allows for synchronization of configuration between the devices and the configuration of software triggered failover.  What does this mean for you?  Well now you have the ability to configure when a device fails over strictly based on the health of the device in question.  Not only that, but with the availability of the peer address property on the device, users now have the flexibility to write their own custom scripts, alerts and failover scenarios based on the health of the failover peer as well.&lt;/p&gt;  &lt;p&gt;Health-based failover gives users the ability to choose when a device will automatically fail over to its peer based on a specifically chosen statistic and threshold.  For instance, say the hard drive on your Big-IP is filling up do to enormous log sizes.  Place a threshold value at 15 GB and when the drive space usage breaches the 15 GB mark, the device will automatically fail over to its peer.  &lt;/p&gt;  &lt;p&gt;Another new feature in this release is better config-sync handling.  By default, if device redundancy is detected, any configuration changes made on one device will set a warning flag on the peer device, letting you know that the devices may be out of sync.  You can manually reset the state of this monitor or run one of the Synchronize Configuration tasks.  Keep in mind that this only applies to changes made through Operations Manager, not changes made through the built-in Configuration Utility on the Big-IP itself.  This monitor can be turned off if you wish not to receive the warning state for out-of-sync devices.&lt;/p&gt;  &lt;p&gt;Here are some video links to demonstrate the new features:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://vimeo.com/10984371" href="http://vimeo.com/10984371" target="_blank"&gt;Demonstration of Software Triggered Failover&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://vimeo.com/10984632" href="http://vimeo.com/10984632" target="_blank"&gt;Demonstration of Object Level Sync&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Along with videos showing how to set up and configure the new features to work in your deployment:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://vimeo.com/10984470" href="http://vimeo.com/10984470" target="_blank"&gt;Configuring the F5 Management Pack for Software Triggered Failover&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://vimeo.com/10984739" href="http://vimeo.com/10984739" target="_blank"&gt;Configuring the F5 Management Pack for Object Level Sync&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Basic configuration and documentation of these features is also available on our &lt;a href="http://devcentral.f5.com/wiki/default.aspx/MgmtPack/HomePage.html" target="_blank"&gt;Management Pack Wiki&lt;/a&gt; page.&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/druddell/aggbug/1088157.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Blog Author</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/druddell/archive/2010/04/16/working-with-high-availability-pairs-and-the-f5-networks-management-pack.aspx</guid>
            <pubDate>Fri, 16 Apr 2010 20:19:37 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/druddell/comments/1088157.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/druddell/archive/2010/04/16/working-with-high-availability-pairs-and-the-f5-networks-management-pack.aspx#feedback</comments>
            <slash:comments>61</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/druddell/comments/commentRss/1088157.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Maintenance Mode Rules for the F5 Networks Management Pack</title>
            <link>http://devcentral.f5.com/weblogs/druddell/archive/2010/03/05/maintenance-mode-rules-for-the-f5-networks-management-pack.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://vimeo.com/9950832" target="_blank"&gt;&lt;/a&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/druddell/WindowsLiveWriter/MaintenanceModeRulesfortheF5NetworksMana_E29E/go_and_stop_signs_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 20px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="Clip Art Graphic of a Red Guy Character " border="0" alt="Clip Art Graphic of a Red Guy Character " align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/druddell/WindowsLiveWriter/MaintenanceModeRulesfortheF5NetworksMana_E29E/go_and_stop_signs_thumb.jpg" width="138" height="138" /&gt;&lt;/a&gt;A few releases ago we included a couple of new rules and new tasks to go with them.  These rules and tasks will help you keep your Pool Members (LTM and GTM) in sync with your applications.  These new rules are disabled by default, but we highly  recommend enabling and integrating them into your deployment and existing distributed applications.  Here is a short tutorial video on how to turn these rules on:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://vimeo.com/9950832" target="_blank"&gt;Enabling Maintenance Mode&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For reference, the rules are named&lt;strong&gt; F5.Rules.DCO.MaintenanceModeSyncLtmPoolMember&lt;/strong&gt; and &lt;strong&gt;F5.Rules.DCO.MaintenanceModeSyncGtmPoolVirtualServer&lt;/strong&gt; and can be located under the F5 Device Type in the Rules area of the Authoring section of Operations Manager.  By enabling these rules, any time an LTM Pool Member or GTM Pool Member (Virtual Server) is put into maintenance mode, it will also disable the Pool Member within the interval specified in the overrides of the rule.  This is very important if you want to perform maintenance on either the Big-IP or the web server instance and do not want traffic to be sent.  It should also be noted that once you stop maintenance mode, the Pool Members will &lt;em&gt;&lt;strong&gt;not&lt;/strong&gt;&lt;/em&gt; be re-enabled automatically.  There are some technical reasons for this, but it boils down to the fact that a Pool Member may have been disabled before maintenance mode was started and we do not want to enable it if it was taken offline for another reason.  &lt;/p&gt;  &lt;p&gt;Now with these two new rules, there are also two Tasks associated with the device.  They are named &lt;strong&gt;Sync LTM Pool Members Maintenance Mode&lt;/strong&gt; and &lt;strong&gt;Sync GTM Pool Virtual Servers Maintenance Mode&lt;/strong&gt;.  If you do not want to enable the rules to automatically disable the Pool Members, you can still manually disable any Pool Member in maintenance mode on a device by running the appropriate task.  &lt;/p&gt;  &lt;p&gt;The ultimate reason behind including these rules and tasks it to allow greater flexibility with your applications.  By enabling these rules, you can be assured that any Distributed Applications you have created that reference GTM or LTM Pool Members will behave more efficiently.  Perhaps you have an IIS Distributed App that includes the related Virtual Server.  By putting the entire application into maintenance mode, you will also ensure that traffic is not being sent to these servers, potentially causing more headache than necessary.  If you have any questions regarding this feature, feel free to visit the forums &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=53&amp;amp;afgroup=26" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/druddell/aggbug/1088068.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Blog Author</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/druddell/archive/2010/03/05/maintenance-mode-rules-for-the-f5-networks-management-pack.aspx</guid>
            <pubDate>Sat, 06 Mar 2010 00:07:46 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/druddell/comments/1088068.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/druddell/archive/2010/03/05/maintenance-mode-rules-for-the-f5-networks-management-pack.aspx#feedback</comments>
            <slash:comments>66</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/druddell/comments/commentRss/1088068.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Licensing Feature Added to the F5 Networks Management Pack</title>
            <link>http://devcentral.f5.com/weblogs/druddell/archive/2009/11/02/licensing-feature-added-to-the-f5-networks-management-pack.aspx</link>
            <description>&lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="F5 Management Pack Licensing" border="0" alt="F5 Management Pack Licensing" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/druddell/WindowsLiveWriter/LicensingFeatureAddedtotheF5NetworksMana_10D12/0033-0812-1118-1867_clip_art_graphic_of_a_red_guy_character_holding_up_a_big_key_7.jpg" width="150" height="150" /&gt; Licensing and registration has been officially added to the process for downloading and activating the F5 Networks Management Pack software package. While we realize the process may create a minor inconvenience for some people, it will go a long way in helping us support you, the loyal customer, in the future. The information we collect through the process will help give us a clearer picture of the Microsoft Systems Center (Operations Manager, Virtual Machine Manager, etc) environment in which the Management Pack is being installed. &lt;/p&gt;  &lt;p&gt;Along with this release, there is new documentation available here: &lt;a title="http://devcentral.f5.com/Wiki/default.aspx/MgmtPack/LicensingTheF5ManagementPack.html" href="http://devcentral.f5.com/Wiki/default.aspx/MgmtPack/LicensingTheF5ManagementPack.html"&gt;Licensing The F5 Management Pack&lt;/a&gt;.  Along with this documentation is a tutorial video on how to proceed through registration and activation: &lt;a title="http://vimeo.com/7419230" href="http://vimeo.com/7419230"&gt;Registration and Licensing of the F5 Networks Management Pack&lt;/a&gt; (temporary link).&lt;/p&gt;  &lt;p&gt;I highly recommend you follow the instruction on that page and download the latest version of our Management Pack.  If you have any questions, feel free to comment on this blog or &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=53&amp;amp;afgroup=26"&gt;visit our forums&lt;/a&gt;.  &lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/druddell/aggbug/6176.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Blog Author</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/druddell/archive/2009/11/02/licensing-feature-added-to-the-f5-networks-management-pack.aspx</guid>
            <pubDate>Tue, 03 Nov 2009 03:08:44 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/druddell/comments/6176.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/druddell/archive/2009/11/02/licensing-feature-added-to-the-f5-networks-management-pack.aspx#feedback</comments>
            <slash:comments>23</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/druddell/comments/commentRss/6176.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Windows Installer XML and Managed Custom Actions</title>
            <link>http://devcentral.f5.com/weblogs/druddell/archive/2009/10/12/windows-installer-xml-and-managed-custom-actions.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/druddell/WindowsLiveWriter/WindowsInstallerXMLandManagedCustomActio_C37C/0033-0812-1118-2126_clip_art_graphic_of_a_red_guy_character_holding_a_light_bulb_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="Clip Art Graphic of a Red Guy Character " border="0" alt="Clip Art Graphic of a Red Guy Character " align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/druddell/WindowsLiveWriter/WindowsInstallerXMLandManagedCustomActio_C37C/0033-0812-1118-2126_clip_art_graphic_of_a_red_guy_character_holding_a_light_bulb_thumb.jpg" width="149" height="150" /&gt;&lt;/a&gt; For those of you who have every worked with any installer technologies, you probably know how cumbersome it can be to do anything non-conventional.  A lot of the higher ticket installer packages like InstallShield or WISE offer a robust set of options, but still lack the granularity that some installations may require, aside from costing money.  There are a number of decent free options available such as Nullsoft Scriptable Install System (NCSIS), Inno Setup, and &lt;a href="http://wix.sourceforge.net/" target="_blank"&gt;Windows Installer XML (WiX)&lt;/a&gt;.  A lot of simple installations can rely on these free technologies, or even the built in Windows Installer support provided with Visual Studio.  With the F5 Networks Management Pack there are a lot of post installation steps.  This is where WiX came in to save the day.  Without having to learn a new scripting language, or abide by the constraints of the Visual Studio MSI builder, WiX gives us the flexibility to perform all needed post installation steps, while staying in the comfortable setting of XML.  WiX is also built on top of standard MSI technology, which is well documented and supported by the community, and that makes understanding exactly how everything works a lot easier.&lt;/p&gt;  &lt;p&gt;I’m not going to go into the basics of &lt;a href="http://wix.sourceforge.net/" target="_blank"&gt;WiX&lt;/a&gt; because there is already plenty of &lt;a href="http://www.tramontana.co.hu/wix/" target="_blank"&gt;good documentation&lt;/a&gt; on how to get an installer off the ground.  What really interests me ( and unfortunately has very little documentation) is the proper way to set up managed custom actions, and more so, how to cover all of your all installation scenarios and schedule custom actions in sequence with proper rollback.  José Almeida has written a &lt;a href="http://blogs.msdn.com/josealmeida/archive/2004/11/08/wix-managed-custom-actions.aspx" target="_blank"&gt;very useful blog&lt;/a&gt;, which will actually cover a lot of the same material I am going to cover, so my recommendation is to read through that first, as it is very useful and will cover a large percentage of custom action scenarios you may wish to implement.  Now actually getting a managed Custom Action working in WiX is not too hard.  In fact, it only requires a few lines of XML.  That being said, there is a right way and a wrong way, so while it’s easy, it can also be very complex.  If you plan to have a a large scale installer (20+ components), I’d recommend fragmenting your script at this point into several WiX files so that you can more easily manage your installer down the road.  One such fragment should be your custom actions and as well as the &lt;a href="http://msdn.microsoft.com/en-us/library/aa372038(VS.85).aspx" target="_blank"&gt;InstallExecuteSequence&lt;/a&gt;.  &lt;/p&gt;  &lt;h4&gt;&lt;font color="#800000"&gt;Creating the Custom Actions&lt;/font&gt;&lt;/h4&gt;  &lt;p&gt;In Jose’s blog post, he uses the installUtilLib as the binary in which to run as the Custom Action.  The reality is that you can use just about any binary.  You may want to embed the binary or perhaps use an executable that is included with the installation package itself.  For the sake of this post, I’m going to ignore a few unwritten rules and go ahead and show you how to perform a custom action using a freshly installed binary.  If you do choose to use an executable, the best way to do this is to implement it as a Quiet Execution Custom Action.  If you are going to use a Quiet CA, you MUST add the following line to your wxs file:&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;Binary&lt;/font&gt; &lt;font color="#ff0000"&gt;Id&lt;/font&gt;=”wixca” &lt;font color="#ff0000"&gt;SourceFile&lt;/font&gt;=”wixca.dll” /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;This line will add the WiX Custom Action binary library so that you can use it as an entry point for your Custom Actions because we want to run our binary quietly, otherwise we will get a cmd window popping up in the middle of install.  So for the sake of this example, we are going to say that there is a binary file being dropped by the installer called ConfigurationManager.exe.  By itself, this executable does not do anything, but with the proper command line arguments, it will actually run the custom actions.  So for one complete custom action we will have something that looks like this:&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;CustomAction&lt;/font&gt;&lt;font color="#ff0000"&gt; Id&lt;/font&gt;="CAWriteConfigurationFile.Install" &lt;font color="#ff0000"&gt;Return&lt;/font&gt;="check" &lt;font color="#ff0000"&gt;Execute&lt;/font&gt;="deferred"&lt;font color="#ff0000"&gt; BinaryKey&lt;/font&gt;="wixca" &lt;font color="#ff0000"&gt;DllEntry&lt;/font&gt;="CAQuietExec" /&amp;gt;&lt;/font&gt;     &lt;br /&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;CustomAction&lt;/font&gt; &lt;font color="#ff0000"&gt;Id&lt;/font&gt;="CAWriteConfigurationFile.Install.Command" &lt;font color="#ff0000"&gt;Property&lt;/font&gt;="CAWriteConfigurationFile.Install" &lt;font color="#ff0000"&gt;Return&lt;/font&gt;="check" &lt;font color="#ff0000"&gt;Value&lt;/font&gt;=’&lt;font color="#008000"&gt;&lt;font color="#000000"&gt;”&lt;/font&gt;[INSTALLDIR]ConfigurationManager.exe” Action=”WriteConfigFile” Type=”Install&lt;/font&gt;”’ /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;CustomAction&lt;/font&gt;&lt;font color="#ff0000"&gt; Id&lt;/font&gt;="CAWriteConfigurationFile.Install.Rollback" &lt;font color="#ff0000"&gt;Return&lt;/font&gt;="check"&lt;font color="#ff0000"&gt; Execute&lt;/font&gt;="Rollback"&lt;font color="#ff0000"&gt; BinaryKey&lt;/font&gt;="wixca"&lt;font color="#ff0000"&gt; DllEntry&lt;/font&gt;="CAQuietExec" /&amp;gt;&lt;/font&gt;     &lt;br /&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;CustomAction&lt;/font&gt; &lt;font color="#ff0000"&gt;Id&lt;/font&gt;="CAWriteConfigurationFile.Install.Rollback.Command"&lt;font color="#ff0000"&gt; Property&lt;/font&gt;="CAWriteConfigurationFile.Install" &lt;font color="#ff0000"&gt;Return&lt;/font&gt;="check" &lt;font color="#ff0000"&gt;Value&lt;/font&gt;=’”&lt;font color="#008000"&gt;[INSTALLDIR]ConfigurationManager.exe” Action=”WriteConfigFile” Type=”Install.Rollback&lt;/font&gt;”’ /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt; &lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;CustomAction&lt;/font&gt;&lt;font color="#ff0000"&gt; Id&lt;/font&gt;="CAWriteConfigurationFile.Uninstall" &lt;font color="#ff0000"&gt;Return&lt;/font&gt;="check" &lt;font color="#ff0000"&gt;Execute&lt;/font&gt;="deferred" &lt;font color="#ff0000"&gt;BinaryKey&lt;/font&gt;="wixca" &lt;font color="#ff0000"&gt;DllEntry&lt;/font&gt;="CAQuietExec" /&amp;gt;&lt;/font&gt;     &lt;br /&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;CustomAction&lt;/font&gt;&lt;font color="#ff0000"&gt; Id&lt;/font&gt;="CAWriteConfigurationFile.Uninstall.Command"&lt;font color="#ff0000"&gt; Property&lt;/font&gt;="CAWriteConfigurationFile.Uninstall"&lt;font color="#ff0000"&gt; Return&lt;/font&gt;="check" &lt;font color="#ff0000"&gt;Value&lt;/font&gt;=’”&lt;font color="#008000"&gt;[INSTALLDIR]ConfigurationManager.exe” Action=”WriteConfigFile” Type=”Uninstall&lt;/font&gt;”’ /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;CustomAction&lt;/font&gt;&lt;font color="#ff0000"&gt; Id&lt;/font&gt;="CAWriteConfigurationFile.Uninstall.Rollback" &lt;font color="#ff0000"&gt;Return&lt;/font&gt;="check" &lt;font color="#ff0000"&gt;Execute&lt;/font&gt;="Rollback" &lt;font color="#ff0000"&gt;BinaryKey&lt;/font&gt;="wixca"&lt;font color="#ff0000"&gt; DllEntry&lt;/font&gt;="CAQuietExec" /&amp;gt;&lt;/font&gt;     &lt;br /&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;CustomAction&lt;/font&gt; &lt;font color="#ff0000"&gt;Id&lt;/font&gt;="CAWriteConfigurationFile.Uninstall.Rollback.Command"&lt;font color="#ff0000"&gt; Property&lt;/font&gt;="CAWriteConfigurationFile.Uninstall.Rollback"&lt;font color="#ff0000"&gt; Return&lt;/font&gt;="check" &lt;font color="#ff0000"&gt;Value&lt;/font&gt;=’”&lt;font color="#008000"&gt;[INSTALLDIR]ConfigurationManager.exe” Action=”WriteConfigFile” Type=”Uninstall.Rollback&lt;/font&gt;”’ /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000" /&gt;    &lt;/p&gt;&lt;p&gt;These are the very basic actions you need to implement in order to make this all work properly.  Each pair above represents one piece of the whole custom action, but I will briefly dissect one pair to help give you a better understanding of what is going on. In the first line we have the Id of the Custom Action, which you should name something that makes reading it easier.  Next we have Return, which is set to check so that if the action fails, we know to rollback. Then we have Execute, which is set to deferred, which I will explain in a moment.  The last 2 pieces are the BinaryKey and DllEntry, which are explained on plenty of pages, but basically it’s telling the WiX compiler to use the WiX Custom Action library and call the function CAQuietExec, which will execute the next line’s Value property, which was also purposefully named with a .Command at the end. So in the second line, we have the actual command that CAQuietExec will run.  The Property field MUST be named the same as the Id field of the previous line.  This is important, as it tells the .Command which Custom Action to ‘link’ to.  The last piece of the second line is the Value property, which contains the actual command to run.  In this case, we are running ConfigurationManager.exe and passing it options for Action and Type, which tell it what to do.  It’s useful to handle the executable this way, as it gives us a framework in which to properly implement the Custom Action in all scenarios.  The last note to make is that the Execute property on the Rollback actions are set to Rollback.  This ensures that these commands ONLY run when Rollback has been initiated.&lt;/p&gt;   &lt;h4&gt;&lt;font color="#800000"&gt;Sequencing the Custom Actions&lt;/font&gt;&lt;/h4&gt; &lt;font color="#000000"&gt;   &lt;p&gt;Moving forward from here, the most important thing to remember is that the actual Custom Actions are not wrapped in the same type of transaction as the rest of the installer, which means it is imperative that you take care of any rollback on your own.  If you do not do this, you could leave the system in a potentially bad state.  That being said, other scenarios you might want to consider are Upgrade and Reinstall/Repair.  If your Install action is the same for upgrade and repair, you just need to adjust the conditional in the next section; however, if they are different, you will have to create a set for each one like the ones listed above.  Once you have laid out the Custom Actions you wish to run, the next piece of the puzzle is to lay out the InstallExecuteSequence.  I personally like to keep things in the proper sequence, as it is easier to read and maintain later, so we will actually start with the Uninstall Sequence. For the actions listed above, it will look something like this:&lt;/p&gt; &lt;/font&gt;  &lt;p&gt;&lt;font color="#008000"&gt;&amp;lt;!-- Uninstall Action Sequence –&amp;gt;&lt;/font&gt;     &lt;br /&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAWriteConfigurationFile.Uninstall.Rollback.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’InstallInitialize’&amp;gt;&lt;font color="#ff00ff"&gt;Installed and REMOVE="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;       &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAWriteConfigurationFile.Uninstall.Rollback" &lt;font color="#ff0000"&gt;After&lt;/font&gt;='CAWriteConfigurationFile.Uninstall.Rollback.Command'&amp;gt;&lt;font color="#ff00ff"&gt;Installed and REMOVE="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;       &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAWriteConfigurationFile.Uninstall.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;='CAWriteConfigurationFile.Uninstall.Rollback'&amp;gt;&lt;font color="#ff00ff"&gt;Installed and REMOVE="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;       &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAWriteConfigurationFile.Uninstall" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAWriteConfigurationFile.Uninstall.Command’&amp;gt;&lt;font color="#ff00ff"&gt;Installed and REMOVE="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;font color="#000000"&gt;   &lt;p&gt;In the section above, you will notice that the Rollback is scheduled before the actual command.  This is very important, as it ensures that the Rollback action gets scheduled before we run the actual command.  Otherwise, if the command fails, the Rollback action was never scheduled and any changes made by the command will not be undone.  This can leave the system in an unstable state, so it is important you make sure to put these in the correct order.  You will also notice in the first line that we are scheduling the Uninstall Sequence to basically start after InstallInitialize.  We can actually schedule these actions to run after ProcessComponents, but it must be scheduled before UnpublishComponents if you plan to use an executable dropped by the installer, as UnpublishComponents will make the binary unavailable to use for the Custom Actions.  So now that we have the Uninstall Sequence set up, we will look at the Install Sequence:&lt;/p&gt; &lt;/font&gt;  &lt;p&gt;&lt;font color="#008000"&gt;&amp;lt;!-- Install Action Sequence –&amp;gt;&lt;/font&gt;     &lt;br /&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAWriteConfigurationFile.Install.Rollback.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’PublishProduct’&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;       &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAWriteConfigurationFile.Install.Rollback" &lt;font color="#ff0000"&gt;After&lt;/font&gt;='CAWriteConfigurationFile.Install.Rollback.Command'&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;       &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAWriteConfigurationFile.Install.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;='CAWriteConfigurationFile.Install.Rollback'&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;       &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAWriteConfigurationFile.Install" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAWriteConfigurationFile.Install.Command’&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Just as in the Uninstall Sequence, we schedule the Rollback action directly before the command itself to ensure proper rollback.  You will also notice that the first part of the Install Sequence happens after PublishProduct, which ensures that the binary we wish to use is available for the Custom Action. &lt;/p&gt;  &lt;h4&gt;&lt;font color="#800000"&gt;Multiple Managed Custom Actions&lt;/font&gt;&lt;/h4&gt; &lt;font color="#000000"&gt;   &lt;p&gt;The information before this point can actually be found in pieces around the internet, but what I’m about to show you is not.  Assume for a moment that we had not one, but 3 or 4 Custom Actions we wish to run using our ConfigurationManager.exe tool.  Not only that, but they require us to run them in a particular order.  Now we have an interesting case in which to look at.  Creating the Custom Actions themselves is simple enough.  Following the pattern above will get you on the right path in a few minutes, but to ensuring proper scheduling can be tricky.  Let’s say we have 4 actions called CAUpdateVirtualMachineDatabase, CARegisterNonGacComponents, CARegisterNewVirtualizationSnapIn, and CAImportCustomDataCenterManagementPack.  Including the CAWriteConfigurationFile action, we have have five, which must run in this order: CARegisterNonGacComponents, CAWriteConfigurationFile,  CAUpdateVirtualMachineDatabase, CARegisterNewVirtualizationSnapin, and finally CAImportCustomDataCenterManagementPack, which relies on each of the previous 4 actions in some way.  The Install Action Sequence would look something like this:&lt;/p&gt; &lt;/font&gt;  &lt;p&gt;&lt;font color="#008000"&gt;&amp;lt;!-- Install Action Sequence –&amp;gt;&lt;/font&gt;     &lt;br /&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CARegisterNonGacComponents.Install.Rollback.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’PublishProduct’&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;       &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CARegisterNonGacComponents.Install.Rollback" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CARegisterNonGacComponents.Install.Rollback.Command'&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;       &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CARegisterNonGacComponents.Install.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CARegisterNonGacComponents.Install.Rollback'&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;       &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CARegisterNonGacComponents.Install" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CARegisterNonGacComponents.Install.Command’&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAWriteConfigurationFile.Install.Rollback.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CARegisterNonGacComponents.Install’&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;     &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAWriteConfigurationFile.Install.Rollback" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAWriteConfigurationFile.Install.Rollback.Command'&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;     &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAWriteConfigurationFile.Install.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAWriteConfigurationFile.Install.Rollback'&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;     &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAWriteConfigurationFile.Install" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAWriteConfigurationFile.Install.Command’&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;&lt;/font&gt;   &lt;p /&gt; &lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAUpdateVirtualMachineDatabase.Install.Rollback.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAWriteConfigurationFile.Install’&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;     &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAUpdateVirtualMachineDatabase.Install.Rollback" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAUpdateVirtualMachineDatabase.Install.Rollback.Command'&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;     &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAUpdateVirtualMachineDatabase.Install.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAUpdateVirtualMachineDatabase.Install.Rollback'&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;     &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAUpdateVirtualMachineDatabase.Install" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAUpdateVirtualMachineDatabase.Install.Command’&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;&lt;/font&gt;   &lt;p /&gt; &lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CARegisterNewVirtualizationSnapin.Install.Rollback.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAUpdateVirtualMachineDatabase.Install’&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;     &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CARegisterNewVirtualizationSnapin.Install.Rollback" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CARegisterNewVirtualizationSnapin.Install.Rollback.Command'&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;     &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CARegisterNewVirtualizationSnapin.Install.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CARegisterNewVirtualizationSnapin.Install.Rollback'&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;     &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CARegisterNewVirtualizationSnapin.Install" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CARegisterNewVirtualizationSnapin.Install.Command’&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;&lt;/font&gt;   &lt;p /&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAImportCustomDataCenterManagementPack.Install.Rollback.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CARegisterNewVirtualizationSnapin.Install’&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;       &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAImportCustomDataCenterManagementPack.Install.Rollback" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAImportCustomDataCenterManagementPack.Install.Rollback.Command'&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;       &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAImportCustomDataCenterManagementPack.Install.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAImportCustomDataCenterManagementPack.Install.Rollback'&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;       &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAImportCustomDataCenterManagementPack.Install" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAImportCustomDataCenterManagementPack.Install.Command’&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL"&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;font color="#000000"&gt;   &lt;p&gt;So after looking at the XML above, the problem might seem a little easier to handle.  There is one other small issue we need to address: What happens when one of the above acts differently upon repair or upgrade.  So let us look at the upgrade scenario, specifically the Database related custom action.  If a database is updated, typically we do not want to destroy the data, so we will want to ‘upgrade’ the database with the new fields or tables, etc.  The Custom Action blob itself will look exactly like one in the previous section.  The above blob will actually look different. We’ll call the upgrade CA CAUpgradeVMDatabase.  Here’s how I would fit it in the existing Install Action Sequence:&lt;/p&gt; &lt;/font&gt;  &lt;p /&gt; &lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAUpgradeVMDatabase.Upgrade.Rollback.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAWriteConfigurationFile.Install’&amp;gt;&lt;font color="#ff00ff"&gt;Installed and REINSTALL="ALL" and UPGRADEPATH&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;     &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAUpgradeVMDatabase.Upgrade.Rollback" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAUpgradeVMDatabase.Upgrade.Rollback.Command'&amp;gt;&lt;font color="#ff00ff"&gt;Installed and REINSTALL="ALL" and UPGRADEPATH&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;     &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAUpgradeVMDatabase.Upgrade.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAUpgradeVMDatabase.Upgrade.Rollback'&amp;gt;&lt;font color="#ff00ff"&gt;Installed and REINSTALL="ALL" and UPGRADEPATH&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;     &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAUpgradeVMDatabase.Upgrade" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAUpgradeVMDatabase.Upgrade.Command’&amp;gt;&lt;font color="#ff00ff"&gt;Installed and REINSTALL="ALL" and UPGRADEPATH&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;&lt;/font&gt;   &lt;p /&gt; &lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAUpdateVirtualMachineDatabase.Install.Rollback.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAUpgradeVMDatabase.Upgrade’&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL" and NOT UPGRADEPATH&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;     &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAUpdateVirtualMachineDatabase.Install.Rollback" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAUpdateVirtualMachineDatabase.Install.Rollback.Command'&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL" and NOT UPGRADEPATH&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;     &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAUpdateVirtualMachineDatabase.Install.Command" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAUpdateVirtualMachineDatabase.Install.Rollback'&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL" and NOT UPGRADEPATH&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;     &lt;br /&gt;&amp;lt;&lt;font color="#800000"&gt;Custom&lt;/font&gt; &lt;font color="#ff0000"&gt;Action&lt;/font&gt;="CAUpdateVirtualMachineDatabase.Install" &lt;font color="#ff0000"&gt;After&lt;/font&gt;=’CAUpdateVirtualMachineDatabase.Install.Command’&amp;gt;&lt;font color="#ff00ff"&gt;NOT Installed or REINSTALL="ALL" and NOT UPGRADEPATH&lt;/font&gt;&amp;lt;/&lt;font color="#800000"&gt;Custom&lt;/font&gt;&amp;gt;&lt;/font&gt; &lt;font color="#000000"&gt;   &lt;p&gt;Dissecting what we have above, you’ll notice that the big difference between the two is the conditions in which they run.  The Upgrade CA requires the product to be installed and the REINSTALL and UPGRADEPATH flags to be set.  We do this so that we can schedule this single CA in the middle of the installation sequence.  Not only does this make it easier to read, but if we only have the one CA that is affected by a major upgrade it doesn’t make much sense to write 4 more Custom Actions for the rest of the install Custom Actions when we can ensure it gets run in the right sequence with the rest of them.  On a side note, the UPGRADEPATH property is actually set by a piece of WiX that looks something like this:&lt;/p&gt; &lt;/font&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;font color="#800000"&gt;Upgrade&lt;/font&gt; &lt;font color="#ff0000"&gt;Id&lt;/font&gt;='XXXXXXXX-XXX-XXXX-XXXX-XXXXXXXXXXXX'&amp;gt;&amp;lt;&lt;font color="#800000"&gt;UpgradeVersion&lt;/font&gt; &lt;font color="#ff0000"&gt;OnlyDetect&lt;/font&gt;='no' &lt;font color="#ff0000"&gt;Property&lt;/font&gt;='UPGRADEPATH' &lt;font color="#ff0000"&gt;Minimum&lt;/font&gt;="5.6.1" &lt;font color="#ff0000"&gt;IncludeMinimum&lt;/font&gt;='yes' &lt;font color="#ff0000"&gt;Maximum&lt;/font&gt;='9.5.0' &lt;font color="#ff0000"&gt;IncludeMaximum&lt;/font&gt;='no' /&amp;gt;&amp;lt;/&lt;font color="#800000"&gt;Upgrade&lt;/font&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;font color="#000000"&gt;   &lt;p&gt;This will tell the Custom Action CAUpgradeVMDatabase to run when we are installing on top of a minimum version of 5.6.1. With that being said, you should have all the information you now need to build sequenced managed Custom Actions using WiX.  If there is anything I missed, feel free to leave comments or criticisms. Also keep in mind that there are a handful of individuals out there who will recommend against doing what I just showed you, but if you follow the few guidelines I set up, and don’t forget your rollback/uninstall/upgrade/repair actions, you should be able to safely run your managed Custom Actions.&lt;/p&gt; &lt;/font&gt;&lt;img src="http://devcentral.f5.com/weblogs/druddell/aggbug/6138.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Blog Author</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/druddell/archive/2009/10/12/windows-installer-xml-and-managed-custom-actions.aspx</guid>
            <pubDate>Mon, 12 Oct 2009 17:03:22 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/druddell/comments/6138.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/druddell/archive/2009/10/12/windows-installer-xml-and-managed-custom-actions.aspx#feedback</comments>
            <slash:comments>24</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/druddell/comments/commentRss/6138.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Installing the F5 Management Pack Using the Command Line</title>
            <link>http://devcentral.f5.com/weblogs/druddell/archive/2009/10/07/installing-the-f5-management-pack-using-the-command-line.aspx</link>
            <description>&lt;p&gt;To start with, the F5 Networks Management Pack has been able to run from a command prompt since it’s first release.  All of the options available through the pretty user interface are actually all available using command line switches/options.  There are also a few extra options not available through the standard GUI.  I will go a little more in depth with those options, as they will be new to most of you.  &lt;/p&gt;  &lt;p&gt;&lt;a href="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/druddell/WindowsLiveWriter/InstallingtheF5ManagementPackUsingtheCom_CE3C/F5MPCLI2SCOM_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 20px 10px 0px; display: inline; border-top: 0px; border-right: 0px" title="F5MPCLI2SCOM" border="0" alt="F5MPCLI2SCOM" align="left" src="http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/druddell/WindowsLiveWriter/InstallingtheF5ManagementPackUsingtheCom_CE3C/F5MPCLI2SCOM_thumb.jpg" width="232" height="168" /&gt;&lt;/a&gt;First of all, if you open a standard command prompt in Windows, make sure you are running as a local administrator.  In Windows 2008, the easiest way to do this is by right-clicking on the “Command Prompt” icon and finding the little blue and yellow shield that says “Run as administrator” (note: you may be prompted for credentials).  From here you will want to find and run the F5Networks.ManagementPack.Setup.exe file.  My recommendation is to just drag-n-drop the downloaded file directly into the Command Prompt window, where it should automatically drop in the correct path and filename for you.  Now you are ready to add your command line options.&lt;/p&gt;  &lt;p&gt;You can find a list of all of our supported command line options by visiting our &lt;a href="http://devcentral.f5.com/wiki/default.aspx/MgmtPack/InstallingTheF5ManagementPackFromTheCommandLine.html" target="_blank"&gt;Wiki documentation&lt;/a&gt;. The ‘new’ options you should be most interested in are the /logfile, /debuglogging, /passive and /quiet switches.  The rest of the options in the table are available through the standard user interface for the installer.  Note that if you run setup from the command prompt without the /passive or /quiet flags set, the GUI will still pop up, but now all of the fields will be populated for you to review as you step through the wizard.  The &lt;a href="http://devcentral.f5.com/wiki/default.aspx/MgmtPack/InstallingTheF5ManagementPackFromTheCommandLine.html" target="_blank"&gt;Wiki documentation&lt;/a&gt; also has a few examples for you to follow for best results.  I personally recommend using the /passive option, as it will still give you a visual cue that installation is happening and notify you when it has completed, whereas the /quiet will run asynchronously on the system with no UI or messages of any kind.  &lt;/p&gt;  &lt;p&gt;The /logfile and /debuglogging options are very useful if you are having problems with setup and wish to troubleshoot why our software package will not install properly.  We also would need these logs if we were to help you troubleshoot, so it  is a good habit to get into.  If you have any problems trying to run setup from a command prompt, feel free to drop by the &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=53&amp;amp;afgroup=26" target="_blank"&gt;F5 Management Pack Forums&lt;/a&gt; and ask for assistance.&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/druddell/aggbug/8049.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Blog Author</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/druddell/archive/2009/10/07/installing-the-f5-management-pack-using-the-command-line.aspx</guid>
            <pubDate>Wed, 07 Oct 2009 21:40:37 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/druddell/comments/8049.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/druddell/archive/2009/10/07/installing-the-f5-management-pack-using-the-command-line.aspx#feedback</comments>
            <slash:comments>8</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/druddell/comments/commentRss/8049.aspx</wfw:commentRss>
        </item>
        <item>
            <title>F5 Management Pack v1.4.1.93 Released: Globalization Support!</title>
            <link>http://devcentral.f5.com/weblogs/druddell/archive/2009/09/30/f5-management-pack-v1.4.1.93-released-globalization-support.aspx</link>
            <description>&lt;p&gt;Greetings everyone.  I would like to announce that the latest release of the F5 Networks Management Pack is now available on the &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=217"&gt;downloads page&lt;/a&gt;.  Direct links are available below:&lt;/p&gt;
&lt;p&gt;&lt;a title="Download x64 Version Now" href="http://devcentral.f5.com/LinkClick.aspx?link=http://devcentral.f5.com/downloads/MgmtPack/Setup/F5Networks.ManagementPack.Setup-1.4.1.93-x64.zip&amp;amp;tabid=73&amp;amp;mid=3221"&gt;Download F5 Networks Management Pack v1.4.1.93 x64 Version Now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title="Download x86 Version Now" href="http://devcentral.f5.com/LinkClick.aspx?link=http://devcentral.f5.com/downloads/MgmtPack/Setup/F5Networks.ManagementPack.Setup-1.4.1.93-x86.zip&amp;amp;tabid=73&amp;amp;mid=3221"&gt;Download F5 Networks Management Pack v1.4.1.93 x86 Version Now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;With this latest release of the Management Pack, we have added globalization support to our software, which allows us to support localized copies of Windows Server 2003 &amp;amp; 2008 R2, SQL Server 2005 SP2 &amp;amp; 2008, and Systems Center Operations Manager 2007 SP1 &amp;amp; R2.  While our software support installation into these localized environments, we still do not have a language pack or localized resources.  This just means that all dialogs and information will still be in English.&lt;/p&gt;
&lt;p&gt;If you have any questions or complaints, feel free to visit our support forum &lt;font face="Arial"&gt;&lt;a href="http://devcentral.f5.com/Default.aspx?tabid=53&amp;amp;view=topics&amp;amp;forumid=59"&gt;here.&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/druddell/aggbug/8036.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Blog Author</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/druddell/archive/2009/09/30/f5-management-pack-v1.4.1.93-released-globalization-support.aspx</guid>
            <pubDate>Wed, 30 Sep 2009 23:23:03 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/druddell/comments/8036.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/druddell/archive/2009/09/30/f5-management-pack-v1.4.1.93-released-globalization-support.aspx#feedback</comments>
            <slash:comments>38</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/druddell/comments/commentRss/8036.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Datacenter Orchestration Scenarios Now Available</title>
            <link>http://devcentral.f5.com/weblogs/druddell/archive/2009/08/28/data-center-orchestration-scenarios-now-available.aspx</link>
            <description>&lt;p&gt;For the past couple of months, fellow developer &lt;a href="http://devcentral.f5.com/weblogs/jhendrickson"&gt;Joel Hendrickson&lt;/a&gt; has been working on some fairly impressive data center orchestration demonstration scenarios.  These automated demos really show the true potential of the &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=214"&gt;F5 Networks Management Pack&lt;/a&gt; when combined with &lt;a href="http://www.microsoft.com/systemcenter/operationsmanager/en/us/default.aspx"&gt;Systems Center Operations Manager&lt;/a&gt; (SCOM) and &lt;a href="http://www.microsoft.com/systemcenter/virtualmachinemanager/en/us/default.aspx"&gt;Virtual Machine Manager&lt;/a&gt; (VMM).&lt;/p&gt;  &lt;p&gt;Joel has combined the technologies above into a series of scripts and recovery actions that automate the process of spinning up and down resources such as web servers, disabling and enabling pool members when put into maintenance mode inside of Ops Manager, and failing over the active member of a redundant F5 pair based on health or statistics, as opposed to network or hardware failure.&lt;/p&gt;  &lt;p&gt;Here are the scenarios:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Add / Remove Resource:&lt;/strong&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://devcentral.f5.com/wiki/default.aspx/MgmtPack/DCOAddRemoveResourcesScenario.html"&gt;Documentation&lt;/a&gt; | &lt;a href="http://vimeo.com/6211860"&gt;Add Video&lt;/a&gt; | &lt;a href="http://vimeo.com/6211932"&gt;Remove Video&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://devcentral.f5.com/wiki/default.aspx/MgmtPack/DCOAddRemoveResourcesHowTo.html"&gt;How-To&lt;/a&gt; | &lt;a href="http://vimeo.com/6215540"&gt;How-To Video&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;strong&gt;Maintenance Mode:&lt;/strong&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://devcentral.f5.com/wiki/default.aspx/MgmtPack/DCOMaintenanceModeScenario.html"&gt;Documentation&lt;/a&gt; | &lt;a href="http://vimeo.com/6211947"&gt;Video&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://devcentral.f5.com/wiki/default.aspx/MgmtPack/DCOMaintenanceModeHowTo.html"&gt;How-To&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;strong&gt;Fail-over:&lt;/strong&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://devcentral.f5.com/wiki/default.aspx/MgmtPack/DCOFailoverScenario.html"&gt;Documentation&lt;/a&gt; | &lt;a href="http://vimeo.com/6212018"&gt;Video&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a title="How To" href="http://devcentral.f5.com/wiki/default.aspx/MgmtPack/DCOFailoverHowTo.html"&gt;How To&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;Documentation on the scenarios themselves, along with videos and ‘How-To’ tutorials are now available and will continue to be expanded upon in the &lt;a href="http://devcentral.f5.com/LinkClick.aspx?link=http%3a%2f%2fdevcentral.f5.com%2fwiki%2fDefault.aspx%2fMgmtPack.HomePage&amp;amp;tabid=214&amp;amp;mid=1364"&gt;documentation section&lt;/a&gt; of the &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=214"&gt;F5 Networks Management Pack area&lt;/a&gt;.  &lt;/p&gt;&lt;img src="http://devcentral.f5.com/weblogs/druddell/aggbug/6079.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Blog Author</dc:creator>
            <guid>http://devcentral.f5.com/weblogs/druddell/archive/2009/08/28/data-center-orchestration-scenarios-now-available.aspx</guid>
            <pubDate>Fri, 28 Aug 2009 23:36:12 GMT</pubDate>
            <wfw:comment>http://devcentral.f5.com/weblogs/druddell/comments/6079.aspx</wfw:comment>
            <comments>http://devcentral.f5.com/weblogs/druddell/archive/2009/08/28/data-center-orchestration-scenarios-now-available.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://devcentral.f5.com/weblogs/druddell/comments/commentRss/6079.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>
