在 Windows XP SP3 中完成的应用程序无法在 Windows 7 中运行
我在 Windows XP SP3 中使用 VS 2008 SP1 完成了一个 WPF 应用程序。我将 exe 和 dll 复制到我的 Windows 7 RC build 7100 计算机上。但exe无法运行。当我双击 exe 时,会出现一条消息,例如“应用程序停止工作”。 Windows 正在收集信息”。为什么会出现这种情况?
我重写 App.xaml.cs 中的 OnStartup 函数来创建应用程序的单个实例。我还对 kernel32.dll、powrprof.dll、advapi32.dll 和 user32.dll 使用 DllImports。我使用 WPFToolkit 中的日期控件
I have done a WPF appliction using VS 2008 SP1 in Windows XP SP3. I copy the exe and dlls to my Windows 7 RC build 7100 machine. But the exe is not working. When I doubleclick on the exe, a message comes like 'Application stop working. windows is gathering the information'. Why this happends?
I am overriding the OnStartup function in App.xaml.cs to create single instance of application. and also I am using DllImports for kernel32.dll, powrprof.dll, advapi32.dll and user32.dll. I use a Date control from the WPFToolkit
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否尝试过通过右键单击 exe 并转到“兼容性”选项卡并尝试不同的设置来在向后兼容模式下运行?
另外,您是否在不止一台 Windows 7 机器上进行了测试,以实际确认其是由于操作系统差异而不是由于可能的框架安装问题?
Have you tried to run in Backwards Compatibility Mode, by Right clicking the exe and going to the Compatiblity tab and trying different settings?
Also, did you test in more than one Windows 7 machine, to actually confirm its due to the Operating System difference and not due to a possible Framework installation problem?
鉴于您正在导入 kernel32.dll、powerprof.dll、advapi32.dll 和 user32.dll,我的第一个猜测是您遇到了 DLL-Hell 问题。这些 DLL 没有像 .NET 程序集那样的并发版本控制。确保您正在导入的签名在您使用的 Windows 7 版本中未被破坏。
Given that you are importing kernel32.dll, powerprof.dll, advapi32.dll, and user32.dll, my first guess is that you are running into a DLL-Hell problem. There is no concurrent versioning of those DLL's like there is with .NET assemblies. Make sure that the signatures you are importing have not been broken in the version of Windows 7 you are using.