我使用CreateProcess(或_spawnv())从Windows VC ++ 6程序启动以下命令行(进程):
并且不会读取或找到updates.jar中的类更新(覆盖main.jar中的某些内容)。就好像无法找到或读取updates.jar库一样。
如果我从快捷方式或从命令行正确启动相同的行,则可以找到所有内容并正确执行。
如果我从命令行启动JVM,让它保持运行,然后启动可执行存根(上面),那么一切正常。 (这使得它看起来像是文件权限的问题)。
非常感谢任何见解!
- 爱德华
答案 0 :(得分:1)
尝试使用Microsoft的FileMon实用程序来弄清楚发生了什么。将包含过滤器设置为“更新”以关注问题。
http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx
答案 1 :(得分:0)
你有没有在另一台机器上试过这个?另一个OS?您使用的是哪个JVM?你尝试过不同的JVM吗?
您能为我们提供一个展示问题的最小例子吗?
答案 2 :(得分:0)
谢谢 jdigital !
我尝试过FileMon,它向我展示了我做错了什么。调用CreateProcess()的可执行文件有一个未封闭的文件句柄,来自updates.jar,试图先复制更新JAR。在生产环境中有效但在测试环境中无效的错误代码。