0

作为安装过程的一部分,我需要启用 Application Server 角色。我需要这样做才能获得应用程序所需的分布式事务功能。通过从 C# 应用程序执行 dism.exe,我可以在 Windows 2012 Server 上轻松完成此操作。这是执行的命令。

dism /Online /Enable-Feature /FeatureName:Application-Server /FeatureName:AS-NET-Framework /FeatureName:AS-Ent-Services /FeatureName:AS-Dist-Transaction /FeatureName:AS-Incoming-Trans /FeatureName:AS-Outgoing-Trans

但是当我尝试在 Windows 2008 R2 Server 或 Windows 7 上执行此操作时,它失败,表明 DISM 无法识别这些功能。如果我在这些机器上运行命令来列出功能(Get-Features),它们确实不可用。即使我使用角色管理器手动启用应用程序服务器角色并列出 DISM 中可用的功能,它们也没有列出,或者以不同名称表示应用程序服务器角色的任何内容。

如何使用 C# 以编程方式在 Windows 2008 R2 服务器和 Windows 7 上启用应用程序服务器角色?该解决方案不必使用 DISM。我正在寻找任何选择。

4

1 回答 1

2

因此事实证明,即使服务器管理器在 Windows 2008 R2 上已贬值,您仍然可以使用它来启用角色。这是我用来启用它的命令:

ServerManagerCmd -install Application-Server AS-Ent-Services AS-Dist-Transaction AS-Incoming-Trans AS-Outgoing-Trans

您将收到以下警告,但它有效。

Servermanagercmd.exe 已弃用,并且不保证在未来的 Windows 版本中受支持。我们建议您使用可用于服务器管理器的 Windows PowerShell cmdlet。

那么如何在 Window 7 上启用它呢?你不能因为它是一个客户端操作系统并且这些角色不存在。但最终安装此角色的原因是为了安装和配置分布式事务。结果在 Windows 7 上分发事务协调器已经可用,您只需要配置它。

于 2015-03-17T15:26:05.203 回答