转换
%systemroot%\system32\dism.exe /Online /Add-Package /PackagePath:%systemdrive%\temp\IE-Win7.CAB /quiet /norestart
我试过了,但它没有用。
runProgram("dism.exe", "\"" + workingDir + "/Online /Add-Package \\IE-Win7.CAB\" /quiet /norestart /log:\"" + LogFolder + "\\IE-Win7.CAB.evtx\"");
以下是我正在使用的示例程序,该行也会记录它。
runProgram("wusa.exe", "\"" + workingDir + "\\Windows6.1-KB2882822-x86.msu\" /quiet /norestart /log:\"" + LogFolder + "\\Windows6.1-KB2882822-x86.evtx\"");
背景
程序基本上调用要安装的.msu文件并记录事件。
答案 0 :(得分:0)
var sys_root = Environment.ExpandEnvironmentVariables("systemroot");
var dism_path = $"{sys_root}\system32\dism.exe";
var sys_drive = Environment.ExpandEnvironmentVariables("systemdrive");
var args = $"/Online /Add-Package /PackagePath:\"{sys_drive}\temp\IE-Win7.CAB\" /quiet /norestart"
var proc = Process.Start(dism_path, args);
这会扩展您在原始调用中使用的环境变量,使用C#6插值语法将它们插入到可以传递给Process.Start(string,string)的两个字符串中,以执行该行。当然,不想自己亲自测试一下。