WMI CreateProcess - 生成的 exe 停止运行
我正在使用 WMI 的 CreateProcess() 在远程计算机上运行安装引导程序进程 (setup.exe)。 setup.exe 很高兴能够运行 .msi 软件包,但由于某种原因,它无法运行用于重新分发 MS VS 2008 SP1 C++ 运行时的 vcredist.exe 软件包。
我看到的是,redist 包能够将自身解压到 C:\ 驱动器根目录中的临时文件夹中,例如 C:\a26f91763649ecad76a09d 或类似的文件夹,但之后该过程会挂起。
我不知道该怎么做才能进一步调试 - 我怀疑隐藏的 Windows Station 中有一个模式对话框等待关闭,但我看不到文本是什么。 Process Explorer 也没有产生太多效果。
有人有什么建议吗?该问题在 Windows 2000 和 Windows 2008 中同样存在。我们过去使用基于 DCOM 的方法远程启动 setup.exe,但这并没有出现该问题。
任何人都可以阐明可能发生的情况,或者如何进一步诊断。
非常感谢,
斯蒂芬
I'm using WMI's CreateProcess() to run an installation bootstrapper process (setup.exe) on a remote machine. The setup.exe is happily able to run .msi packages but for some reason it is not able to run the vcredist.exe packages that are used to redistribute the MS VS 2008 SP1 C++ Runtimes.
What I'm seeing is that the redist package is able to extract itself into a temp folder in the root of the C:\ drive, e.g. C:\a26f91763649ecad76a09d or some such, but after that the process hangs around.
I don't know what to do to debug further - I suspect that there is a modal dialog in the hidden windows station awaiting dismissal, but I can't see what the text is. Process Explorer isn't yielding much either.
Anyone got any suggestion? The problem applies equally in Windows 2000 as in Windows 2008. We used to use a DCOM-based method to launch setup.exe remotely and this did not exhibit the problem.
Can anyone shed any light on what might be going on, or how to diagnose further.
Many thanks,
Stephen
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
用户错误!我对模式对话框的怀疑是正确的。似乎使用相对路径调用 setup.exe 文件会导致命令行参数在传递给嵌套 exe 时被剥离,因此它们以完整 UI 模式运行!使用完全限定路径调用解决了问题。
User error! My suspicion about the modal dialog was correct. It seems that invoking the setup.exe files with a relative path somehow caused the command line arguments to get stripped when passed to the nested exe, so they ran in full UI mode! Invoking with a fully-qualified path resolved the problem.