通过ClickOnce在64位计算机上运行扫描应用程序

好的,这是我的设置。

我的ac#app在所有32位Windows XP-Vista-7机器上运行完美。 我已经有一个verisign PFX来支持ClickOnce部署,并使用Atalasoft DotTwain 8.0作为第三方扫描程序帮助程序。

当我发布我的应用程序时,我选择“任何CPU”作为平台目标。 当我尝试在Windows 7 64位Home Premium上运行时,我的应用程序在安装后崩溃。

我尝试在特定的x64平台上重新发布这项工作,但仍然失败了。

关于我在这里做错了什么的想法? 非常感谢〜!

选择’x86’,我敢打赌它会起作用;

您很可能在项目中有一个’x86’(32位)引用,例如DotTwain。 “任何CPU”意味着.NET框架将其作为“x64”运行,因为您已经告诉它一切正常。 然后它尝试加载一个引用,找到它的32位并给出’BadImageFormatException’(通常)。

所以,你需要一个不是’ngen-ed’的DotTwain版本,也有’Any’的CPU引用,或者发布一个单独的64位版本,其中你的所有引用都不能设置为’x86 ‘(你想要’任何’或’x64’)。

(一直遇到这个问题;有几个应用程序在32位,64位运行,并使用DotTwain和其他Atalasoft组件)

希望有所帮助!