【发布时间】:2018-04-26 02:30:56
【问题描述】:
我正在编写一个 Installscript 函数来在命令提示符下运行命令,将结果从控制台重定向到文本文件,然后读取文本文件以获取信息。
// send command method
STRING szCmdPath, szCmdLine ;
szCmdPath = "C:\\WINDOWS\\system32\\cmd.exe";
szCmdLine = "/c wslconfig /l > D:\\output.txt";
LaunchAppAndWait(szCmdPath, szCmdLine, WAIT);
发送命令方法没有按照我的意愿使用 szCmdLine 运行命令,它无法识别命令并产生以下错误:
'wslconfig' 未被识别为内部或外部命令, 可运行的程序或批处理文件。
但是,如果我手动启动 cmd.exe 而不是使用我的脚本,它会完美地运行该命令。我的脚本有什么问题以及如何解决这些问题?提前谢谢大家。
【问题讨论】:
-
wslconfig 不在我的 Windows 10 Pro 的默认路径中。当 InstallShield 运行时,路径变量可能会丢失为手动启动 cmd.exe 添加的任何路径。微星也有这样的怪癖,
-
好吧,我确实打开了 Windows 功能“Linux 的窗口子系统”,因此在与 cmd.exe 相同的文件夹中启用 wslconfig.exe: C:\WINDOWS\system32 我错过了什么吗?请您进一步解释 MSI 的怪癖好吗?我真的很感激。
-
我会添加到 wslconfig 的完整路径,以便您排除故障。
-
我听从了你的建议,但结果还是一样。我注意到我可以运行 wslconfig 的唯一方法是从命令提示符。直接执行wslconfig.exe什么都不做。
标签: command-prompt installshield installscript