2

我一直在尝试使用从此处下载的 WindowsServerAppFabricSetup_x64.exe 在装有 Windows Server 2012 操作系统的机器上安装 AppFabric 1.1 :

在尝试此操作时,我遇到了各种问题。这些是我到目前为止所采取的步骤,每一步似乎都让我更接近,但我还没有到达那里。

  1. 在尝试安装之前,请确保Windows 更新服务已启动并正在运行。

  2. 确保PSModule 环境变量没有问题。我看过一些与这个问题相关的帖子,我发现的最简单的解决方案(但可能不是最好的)是完全删除环境变量。如需参考,请查看 Lucas Massena 于 2012 年 7 月 13 日在此处找到的帖子 -> social.msdn.microsoft.com/Forums/en-US/velocity/thread/561f3ad4-14ef-4d26-b79a-bef8e1376d64/

  3. 在 "C:\Windows\SysWOW64\inetsrv\"中创建一个配置文件夹。这似乎是一个奇怪的解决方法,但似乎解决了我遇到的一个问题。- 似乎解决了这个问题 --> 错误:c:\Windows\SysWOW64\inetsrv\config: 系统找不到指定的文件。

参考帖子

现在我遇到了这个错误:

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

有谁知道这个可执行文件“c:\Program Files\AppFabric 1.1 for Windows Server\ ase40gc.exe ”正在做什么导致这个“类未注册”错误?如果是这样,我可以采取哪些步骤来修复它?

请帮忙!

谢谢

4

1 回答 1

4

我发现我需要启用一些 .NET Framework 功能。完成此操作后,AppFabric 安装成功完成。

要启用所需的 .NET Framework 功能,您可以从 PowerShell 运行以下命令:

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

由于我正在安装 AppFabric 作为另一个安装的先决条件,因此我编写了这个 C# 脚本来在服务器 2012 上运行 powershell 命令(因此用户不必这样做):

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.");
            }
     }
}
于 2013-04-10T19:54:17.583 回答