我已将所有用户从Windows 7计算机移至Windows Server 2008远程桌面。他们目前使用的所有应用程序都是在vb6中开发的(新的应用程序目前正在c#.Net中开发),需要暂时使用...
这些应用似乎在Windows 7中运行正常。我无法让它们与服务器2008一起玩得很好。我确实尝试运行依赖步行器并发现它缺少“msvbvm60.dll”。跟踪到实际的VB6运行时。试图找到服务器2008 x64的VB6运行时下载,这是一个不行。所以我只是尝试将“msvbvm60.dll”文件放在c:\ windows \ system32 \和c:\ windows \ SysWOW64中。
它说SysWow64文件夹中已经有一个名为“msvbvm60.dll”的文件。所以我的问题是,为什么它不起作用?看来windows 2008已经在机器上运行了。但是依赖说“msvbvm60.dll”缺失了......:/
想法?
答案 0 :(得分:2)
解决!
问题与DEP有关!
此问题的根本原因是Windows Server 2008 R2中的更改到tsappcmp.dll模块(远程桌面服务应用程序兼容性DLL)初始化的时间,从而导致应用程序调用DLL函数在它建立DLL内功能的链接之前。
我解决它的方式非常简单!我刚从数据执行保护流程中排除了我的应用程序,它允许应用程序及其所有依赖项加载而不会及时发生错误。
用法:
rundll32 sysdm.cpl, NoExecuteAddFileOptOutList "FullPathToExecutable"
示例:
rundll32 sysdm.cpl, NoExecuteAddFileOptOutList "C:\Program Files (x86)\MyApplication\MyApplication.exe"
来源:
答案 1 :(得分:1)
这是一个疯狂的猜测,但你可以使用兼容模式运行它们吗? (右键单击>属性>兼容性)