在Windows XP下,msinfo32将不能在NSIS中运行

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

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”

为什么?

我该如何使它工作?

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

 ExecWait '"$COMMONFILES\Microsoft Shared\MSInfo\msinfo32" /report "$temp\msinfo.log"' 

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