当程序集位于“C:\Windows\System32”内部时我得到“无法找到运行此应用程序的运行时版本”
我目前正在使用 C# 和 VS2010 的 Express 版本编写一个屏幕保护程序。我创建了一个漂亮的小屏幕保护程序,并将生成的程序集重命名为具有 *.scr 扩展名。
当我将其放在桌面上并双击它(或从上下文菜单中选择配置)时,它运行良好并显示正确的表单/屏幕保护程序。但是,当我通过将其放入 C:\Windows\System32
文件夹来安装时,我尝试双击它并收到此错误:
无法找到运行此应用程序的运行时版本
此外,它无法通过屏幕保护程序控制面板运行。它列在下拉列表中,但不起作用。
知道发生了什么事吗?
I'm currently writing a screensaver using C# and the express version of VS2010. I've created a nice little screensaver and renamed the resulting assembly to have a *.scr extension.
When i place this on my desktop and double click it (or select configure from the context menu), it runs fine and displays the correct form/screensaver. However, when i install this by placing it into the C:\Windows\System32
folder, i try double clicking on it and get this error:
Unable to find a version of the runtime to run this application
Also it doesn't work from the screensaver control panel. It's listed in the drop-down but it doesn't function.
Any idea what is going on?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题是屏幕保护程序是为 32 位 cpu 编译的。 64 位操作系统上的
%WINDIR%\System32
文件夹中仅允许 64 位 exe。事实上,我使用的是Windows7 64位。放置 32 位屏幕保护程序的正确位置是
%WINDIR%\SysWOW64
或使用 Visual Studio 中的“AnyCPU”选项进行编译,然后您可以安装到%WINDIR%\System32
中全部。The problem is that the screensaver was compiled for 32bit cpu. Only 64bit exes are allowed in the
%WINDIR%\System32
folder on a 64bit OS. Which in fact, i was using Windows7 64bit.The correct place to put 32bit screensavers is in
%WINDIR%\SysWOW64
or compile using 'AnyCPU' option in Visual Studio then you can install into the%WINDIR%\System32
for all.