C# 当程序集位于“C:\Windows\System32”内时,我得到“找不到运行此应用程序的运行时版本”

C# 当程序集位于“C:\Windows\System32”内时,我得到“找不到运行此应用程序的运行时版本”,c#,.net,screensaver,C#,.net,Screensaver,我目前正在使用C和VS2010的快速版本编写一个屏幕保护程序。我已经创建了一个很好的小屏幕保护程序,并将生成的程序集重命名为具有*.scr扩展名 当我把它放在桌面上,双击它或从上下文菜单中选择“配置”时,它运行正常并显示正确的表单/屏幕保护程序。但是,当我通过将其放入C:\Windows\System32文件夹进行安装时,我尝试双击它,并出现以下错误: 找不到运行此应用程序的运行时版本 另外,它不能从屏幕保护程序控制面板工作。它列在下拉列表中,但不起作用 知道发生了什么吗?问题是屏幕保护程序是为

我目前正在使用C和VS2010的快速版本编写一个屏幕保护程序。我已经创建了一个很好的小屏幕保护程序,并将生成的程序集重命名为具有*.scr扩展名

当我把它放在桌面上,双击它或从上下文菜单中选择“配置”时,它运行正常并显示正确的表单/屏幕保护程序。但是,当我通过将其放入C:\Windows\System32文件夹进行安装时,我尝试双击它,并出现以下错误:

找不到运行此应用程序的运行时版本

另外,它不能从屏幕保护程序控制面板工作。它列在下拉列表中,但不起作用


知道发生了什么吗?

问题是屏幕保护程序是为32位cpu编译的。64位操作系统上的%WINDIR%\System32文件夹中只允许64位EXE。事实上,我使用的是64位Windows7


放置32位屏幕保护程序的正确位置是在%WINDIR%\SysWOW64中,或者在Visual Studio中使用“AnyCPU”选项进行编译,然后您可以安装到%WINDIR%\System32中。

不要将程序集复制到此专用Windows目录中。它在64位操作系统上被重定向。可能就是这样!你说的重定向是什么意思?如果没有安装到'system32'目录中,我将如何安装屏幕保护程序?