【问题标题】:Running a scanning app on a 64-bit machine via ClickOnce通过 ClickOnce 在 64 位计算机上运行扫描应用程序
【发布时间】:2010-07-20 06:20:48
【问题描述】:

好的,这是我的设置。

我有一个 c# 应用程序可以在所有 32 位 Windows XP-Vista-7 机器上完美运行。我已经有一个威瑞信 PFX 来支持 ClickOnce 部署,并且正在使用 Atalasoft DotTwain 8.0 作为 3rd 方扫描仪助手。

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

我尝试在特定的 x64 平台上重新发布该作品,但仍然失败。

关于我在这里做错了什么有什么想法吗?非常感谢~!

【问题讨论】:

  • 任何崩溃日志详细信息(检查事件日志)?你确定是因为平台?

标签: c# clickonce windows-7-x64 twain


【解决方案1】:

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

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

因此,您需要一个未经过“ngen-ed”的 DotTwain 版本,CPU 引用也为“Any”,或者发布一个单独的 64 位版本,其中您的所有引用都绝对没有设置到 'x86'(你想要 'any' 或 'x64')。

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

希望有帮助!

【讨论】:

  • 嗨,kieren,我完全按照你的建议去做。谢谢,一旦我成功了,我会更新你!
猜你喜欢
  • 1970-01-01
  • 2010-11-01
  • 1970-01-01
  • 2014-11-02
  • 1970-01-01
  • 2012-07-04
  • 1970-01-01
  • 1970-01-01
  • 2010-10-01
相关资源
最近更新 更多