2

以下 NSIS 行由于某种原因拒绝在 Windows XP 下运行(立即返回):

  ExecWait ' "$PROGRAMFILES\Common Files\Microsoft Shared\MSInfo\msinfo32" /report "$DESKTOP\msinfo.log" '

如果我在命令行中运行 msinfo32,它会正常运行:

C:\Documents and Settings\Admin> "%PROGRAMFILES%\Common Files\Microsoft Shared\MSInfo\msinfo32" /report "%APPDATA%\..\Desktop\msinfo.log"

为什么?

我如何让它发挥作用?

4

2 回答 2

2

删除单引号后的空格并为 msinfo 添加 .exe。为我工作。

于 2011-01-04T19:16:21.317 回答
1
ExecWait '"$COMMONFILES\Microsoft Shared\MSInfo\msinfo32" /report "$temp\msinfo.log"'

就像 sha 说的,删除空格,你应该使用 $COMMONFILES[32/64] 常量,而不是 $PROGRAMFILES

于 2011-01-04T19:25:14.407 回答