C# 将.net应用迁移到64位Windows 7时需要注意的事项

C# 将.net应用迁移到64位Windows 7时需要注意的事项,c#,.net,windows-7,64-bit,C#,.net,Windows 7,64 Bit,我们正在将桌面迁移到64位windows 7(从32位windows XP)。我们有许多Winforms C#应用程序,正试图找出在这次升级中需要注意的问题。从开发人员的角度来看,有没有什么建议或好的资源可以用来帮助您顺利过渡?如果您的应用程序在Windows注册表的操作系统部分或Windows系统目录或程序文件目录中搜索,在64位Windows操作系统上运行32位应用程序时,可能会遇到问题 绝大多数应用程序都不会在这些核心系统区域混日子,在64位Win操作系统中运行得很好。.Net在32位和6

我们正在将桌面迁移到64位windows 7(从32位windows XP)。我们有许多Winforms C#应用程序,正试图找出在这次升级中需要注意的问题。从开发人员的角度来看,有没有什么建议或好的资源可以用来帮助您顺利过渡?

如果您的应用程序在Windows注册表的操作系统部分或Windows系统目录或程序文件目录中搜索,在64位Windows操作系统上运行32位应用程序时,可能会遇到问题


绝大多数应用程序都不会在这些核心系统区域混日子,在64位Win操作系统中运行得很好。

.Net在32位和64位操作系统上的表现或多或少是一样的,因此无需担心会出现问题

您必须注意的主要事项是操作系统本身的变化:

  • 注册表已更改,因此如果您读取或写入注册表设置,则可能必须修改该代码
  • 某些文件位置已更改。例如,64位应用程序有程序文件,32位应用程序有程序文件(x86)。其他一些系统文件夹也已移动
  • UAC可能会引起麻烦。你必须对此进行测试
  • 您的程序可能无权写入文件系统或注册表中的某些位置。在最坏的情况下,您可能需要向用户请求权限,甚至要求用户以管理员身份运行应用程序

这些就是我目前能想到的变化。在大多数情况下,您的应用程序在两个操作系统上都能正常运行。

32位应用程序在运行64位OSpossible副本@Adeel时没有问题:操作系统放置文件的位置和注册表的更改存在一些差异。此外,问题是关于Win7 64位与XP 32位,因此有一些差异值得注意。如果您尝试在32位版本的操作系统上执行此操作,也会遇到问题。Windows Vista/7中的UAC不允许你像Windows XP那样在系统文件夹中乱搞。这应该不是什么大问题,因为从一开始就没有一款表现良好的应用程序有这样做的业务。。。。西雅图地区的一些大公司在1995年左右推出了一些大型产品后,就敦促人们在这类业务上遵循一些指导。是的,但固执的开发人员在操作系统发生变化并破坏他们的脏代码之前不会听从这些建议。开发人员是受痛苦激励的。;>