Search code examples
windowsappfabricwindows-server-2012

How can I get Microsoft's AppFabric 1.1 installed on Windows Server 2012 OS?


I have been attempting to install AppFabric 1.1 on a machine with Windows Server 2012 OS using this download WindowsServerAppFabricSetup_x64.exe from here:

While attempting this I've ran into all kinds of issues. These are the steps I've taken so far, and each step has seemed to get me closer, but I'm still not there yet.

  1. Make sure the Windows Update service is up and running before attempting the install.

  2. Ensure that there is not a problem with the PSModule Environment variable. I've seen a few posts related to this issue, and the easiest solution (but maybe not the best) that I've found is to delete the environment variable altogether. For a reference look at Lucas Massena's post on July 13 2012 found here -> social.msdn.microsoft.com/Forums/en-US/velocity/thread/561f3ad4-14ef-4d26-b79a-bef8e1376d64/

  3. Create a config folder inside "C:\Windows\SysWOW64\inetsrv\" . This seemed like a bizarre work around, but seemed to fix one of the issues I was running into. - Seemed to fix this --> Error: c:\Windows\SysWOW64\inetsrv\config: The system cannot find the file specified.

Reference to post.

Now I'm running into this error:

EXEPATH=c:\Program Files\AppFabric 1.1 for Windows Server\ase40gc.exe PARAMS=/i administration 

 [RunInstaller]
Output: Attempt 1 of 3: SuppressErrors=False
Output: [Initialize]
Output: Info: Initializing for update to administration.config...
Output: Installer **ERROR: 0x80040154 Class not registered**
Output: (Waiting 5 seconds)
Output: Attempt 2 of 3: SuppressErrors=False
Output: [Initialize]
Output: Info: Initializing for update to administration.config...
Output: Installer **ERROR: 0x80040154 Class not registered**
Output: (Waiting 10 seconds)
Output: Attempt 3 of 3: SuppressErrors=False
Output: [Initialize]
Output: Info: Initializing for update to administration.config...
Output: Installer ERROR: 0x80040154 Class not registered
Output: **ERROR: _com_error: 0x80040154**
Output: Exit code: 0x80040154 Class not registered

Does anyone know what this executable "c:\Program Files\AppFabric 1.1 for Windows Server\ ase40gc.exe" is doing that is causing this "Class not registered" error? And if so, what steps I can take to fix it??

Please help!

Thanks


Solution

  • I discovered that I needed to enable some .NET Framework features. Once I did this, the AppFabric install successfully completed.

    To enable the needed .NET Framework features you can run these commands from PowerShell:

    Import-Module ServerManager
    Add-WindowsFeature -Name AS-NET-Framework
    Add-WindowsFeature -Name WAS-NET-Environment
    

    Since I am installing AppFabric as a prerequisite for another install I wrote this C# script to run the powershell commands on server 2012 (so users won't have to):

    using System;
    using System.Diagnostics;
    
    namespace ServerManagerFeatures
    {
        class Program
        {
            private static ProcessStartInfo startInfo = new ProcessStartInfo();
            private static Process process = new Process();
    
            public static void Main(string[] args)
            {
    
                try
                {
                    startInfo.FileName = "powershell.exe";
                    startInfo.Arguments = "Import-Module ServerManager;"
                    startInfo.Arguments += "echo 'Enabling .NET Framework 4.5';  Add-WindowsFeature AS-NET-Framework;";
                    startInfo.Arguments += "echo 'Installing .NET Framework 3.5 Environment. This may take several minutes. Please be patient.'; Add-WindowsFeature WAS-NET-Environment; ";
                    startInfo.UseShellExecute = true;
    
                    process.StartInfo = startInfo;
                    process.Start();
                    process.PriorityBoostEnabled = true;
                    process.WaitForExit();
                }
                catch (Exception e)
                {
                    MessageBox.Show("Error:" + e.Message + " Make sure you have powershell installed and the executable path is stored in the PATH environment variable.");
                }
         }
    }