Burn を使用する WiX インストーラーに取り組んでいるため、.Net 要件があります。サーバー OS ではロール マネージャーを使用する必要があるため、必須バージョンの .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 機能コントロール パネルから自動的にインストールまたはアンインストールできません。
「サーバーマネージャーコマンドレット」に相当するものを既に使用していると私がどのように考えたかを見ると、実際に何を求めているのかわかりません。したがって、2 つの部分からなる質問は、1) この問題を回避する適切な方法は何ですか。2) インストール中に静かにするにはどうすればよいですか。
PS: この質問が本当に Server Fault に関するものである場合は、お知らせください。