我正在开发一个使用 Burn 的 WiX 安装程序,因此需要 .Net。捆绑 .Net 的必备版本在服务器操作系统上不起作用,因为它们需要使用角色管理器。它是 WiX 安装的一部分这一事实并不是非常重要,它的存在是为了以防有其他方法可以帮助我完成我的任务。我正在将下面的代码作为独立的 .Net 控制台应用程序运行/测试。在使用此方法失败以解决此问题后,我编写了以下使用 powershell 和“Enable-WindowsOptionalFeature”。
static void Main(string[] args)
{
PowerShell ps = PowerShell.Create();
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
Pipeline pipeline = runspace.CreatePipeline();
Command addDotNet = new Command("Enable-WindowsOptionalFeature");
addDotNet.Parameters.Add("-FeatureName netfx3 -Online -All");
pipeline.Commands.Add(addDotNet);
Collection<PSObject> log = pipeline.Invoke();
}
当我运行它时,会弹出这个窗口。
Windows Server 角色和功能无法通过 Windows 功能控制面板自动安装或卸载。
看到我认为我已经在使用相当于“服务器管理器 cmdlet”的方式,我不确定它实际要求的是什么。所以两部分的问题是 1)解决这个问题的正确方法是什么。2)如何在安装过程中保持安静。
PS:如果这个问题真的属于服务器故障,请告诉我。