Installing a OpsMgr Server Component to drive other than C: - can't?

Here is a question that I see come up from time to time that I thought deserved some focus.  Let's say you are looking to scale out your management group and install an additional management server, install a new gateway server, or maybe install the console locally (an exception of this scenario is the OpsMgr Reporting Server & Data Warehouse database).  You could be in a pinch becuase you don't have any new hardware to dedicate for this requirement, dealing with a DR scenario, etc.  While running through setup you notice that in the UI you cannot select a different installation location, the browse button is nowhere to be found, and it is likely defaulting to C:\Program Files\System Center Operations Manager 2007.  But you want to install it to a different volume, like E: or whatever. 

So then you scratch your head and think, "well I understand MSI packages and their command-line settings.  Let me pass the INSTALLDIR property and see if that works."  So you try and it still fails.  Why is this you wonder?

Most often times than not, it is due to the fact that the OpsMgr agent is already installed and has been for some time, in order to proactively monitor the system (following recommended practices for any server that is considered "live" or "production").  All the components of Operations Manager such as the console, management server and so forth have a dependency on the common components for the Agent Health Service (as defined in the MSI database).  In order to work around this, you would need to first:

  1. Uninstall the agent from the system
  2. Install the Operations Manager component
  3. Reinstall the agent if not a management server. 

So just consider this when going through this exercise and ensure you document this in if you intend on taking an existing server monitored by OpsMgr to fill a role.