前提:xp上安装运行都没错 xp的.NET 环境是4.0 ,win8 是64位系统。自带.NET Framework 3 (3.0 3.5) 和.NET Framework 4.5
1:源程序拷贝到win8上 运行到Application.Run(form)时 出现 未处理 COMException 无效签名的错误
2:如果在xp上生成目标指定 32位.然后在win8上兼容性设置以xp方式运行 程序运行正常。只有一个问题就是程序在 搜索C盘Drivers文件夹下一个文件时 明明本地是存在的 但是程序里判断就是判断不出 (在xp上时判断运行都正常)
3:如果在xp上生成目标指定 64位或者any cpu 然后拷到win8上安装,程序在 搜索C盘Drivers文件夹下一个文件时 是能正常判断出的,程序正常打开后 点击button事件 出现未能正确加载视图的错误
通过分析最终得出如下结论:
在win8 64位上是以64位程序跑的时候,目录是C:\WINDOWS\System32\Drivers
x86编译后运行后,目录是C:\WINDOWS\SysWOW64\Drivers
为什么?因为WoW模式下的系统目录和注册表路径都不一样。