2011-04-07 96 views
1

我正在尝试将多个Visual Fox Pro 9.0应用程序从Win 2003迁移到Win 2008 R2 64位服务器。Win 2008 R2 64位VFP计划任务问题

用户登录与任务计划运行的用户相同。

当应用程序手动运行(浏览到文件夹&双击),它会成功运行。

当应用程序通过任务计划程序运行时,它似乎运行,但应用程序永远不会在任务计划程序中结束,也不会在任务管理器的进程选项卡中结束。

AHIA, LarryR ...

+0

如果EXE从批处理文件运行,它会成功完成。 – larryr 2011-04-07 20:44:55

回答

1

如果你写的应用程序,我会放一些简单的日志记录在你的代码各个地方文件,以便至少你能看到它被卡住。 STRTOFILE()函数可能是最简单的方法。 PS从2003年到2008年的迁移的相关性是什么?你说它在2003年运行良好,现在不在2008年?

+0

它在2003年像梦一样运行,然后服务器升级到2008年,所有地狱都破灭了。目前,网络管理员通过批处理文件运行VFP应用程序,这个工作。我目前正在C#中重新编写被VFP退役的MS,我没有选择余地。 – larryr 2011-07-08 16:35:06

+1

应用程序是否有用户界面并显示?你有没有尝试强制它从任务调度器手动运行或者只是在一个计时器? – Caltor 2011-07-15 11:17:46

2

如果您的VFP应用程序在2008 R2服务器上运行,并且您的客户端运行的是Vista或Windows 7,那么您可能遇到SMB2和Oplock问题。这个问题将表现在奇怪的挂起,文件损坏和消息,如“试图锁定”。我们发现有必要将客户降级到Windows XP以解决问题。 (对于以VFP 6或更旧版本编写的任何旧版应用程序)。如果SMB2在客户端和服务器上都被禁用,VFP 9应用程序在Vista和Win 7上运行良好。 (两者都会自动恢复到SMB1)。请SSE下面的Microsoft文章:

http://support.microsoft.com/kb/296264 http://social.msdn.microsoft.com/Forums/en/visualfoxprogeneral/thread/6c62418d-08f8-495a-bbd4-f93151ec1f05

禁用SMB2是相对无痛的过程,尽管您需要在运行旧应用程序的每个工作站和服务器上执行此操作。

2

如果我们的VFP 8.0应用程序在手动执行 时运行正常,但在Windows Server 2008 R2下按计划任务进行设置时挂起时没有错误,则会出现此相同问题。在这里(http://social.technet.microsoft.com/Forums/en-US/winservermanager/thread/d47d116e-10b9-44f0-9a30-7406c86c2fbe)从这里获得了Brian的解决方案的基础知识,并且此修补程序适用于我们:

设置计划任务以调用批处理文件,然后调用该应用程序。然后检查下列步骤操作:

  1. 确保任务设置为“配置Windows Vista或Windows 2008”任务属性(在 “常规”标签下)
  2. 制作的第一页上确保任务设置为“开始” 包含批处理文件的文件夹:打开任务属性,在“操作”选项卡上单击 ,单击操作,然后单击底部的“编辑”按钮 。在“编辑操作”窗口中,有一个 “开始(可选)”的字段,您可以将该字段设置为批处理文件的路径。
  3. 确保正在运行的任务为具有明确的 “完全访问”权限,所有这些事情一笔账:.bat文件本身, 包含.bat文件的文件夹和目标文件/文件夹 那受到.bat脚本的影响。继承权限没有 似乎适用于我。
  4. 确保运行的帐户任务 是本地“Administrators”组为这台机器中的一员
  5. 确保任务设置为“运行是否登录与否”
  6. 任务应该当您在任务上右键单击并选择“运行”时,成功运行预期的输出。如果这样做,那么它 将在您注销时成功运行。

我们在Windows 2003下使用相同的Visual FoxPro应用程序时没有问题,所以在Windows 2008 R2中安全/计划更改的结果如此明确。