请参阅http://technet.microsoft.com/en-us/library/ff715408.aspx对于FirstLogonCommand ,如何为操作系统启动驱动器指定一个CommandLine ,而不是像示例一样使用“C:”。 操作系统启动驱动器可能不是“C:”。
更新 :我正在使用C ++编写XML,将运行的程序也用C ++编写。
有趣的问题。 没有从微软的帮助(像往常一样)。
%SystemDrive%environment var通常是你在脚本中使用的,但是这不是一个真正的脚本。
坦率地说,我不知道这是否会在这个特殊的边缘情况下工作。
如果系统将XML中的任何内容直接传递给cmd.exe,它将会工作。
如果是这样的话,那么将环境variablesvar直接放到Windows-API的exec()调用中,这是值得怀疑的。
你只需要尝试一下。 由于在运行时没有视觉反馈,我build议你运行一些在已知位置写入日志文件的东西,以便确定它是否有效。
另一个解决scheme浮现在脑海中:假设在运行时,当前驱动器是您可能刚刚离开而不指定驱动器的操作系统驱动器。 只需使用驱动器顶部的完整部分,而不使用驱动器号和冒号。
例如:\ synccommands \ run1.exe
让我们知道这是怎么发生的。 如果其中一个解决scheme有效,我就有兴趣,我没有时间和设备来自我实验。
%SystemDrive%环境variables在Windows中设置为操作系统驱动器,可以replace为大多数命令。