在Windows Server 2008上的ASP.NET中使用Microsoft.Ink
-
05-07-2019 - |
题
我正在开发一个ASP.NET Web应用程序。该网站生成PDF文件,其中包含手写内容(签名等)的图像。位图图像由Microsoft.Ink库的某些方法创建,用于转换MS Ink数据(在Tablet PC上生成并传输到站点)。
现在,它在我的Vista开发机器上就像魅力一样,但在生产服务器上却没有,在Windows Server 2008 64bit机器上。除了我部署的.NET程序集之外,Microsoft.Ink还有一些非托管代码。所以我在服务器上安装了Tablet PC SDK 1.7 - 但我仍然在ASP.NET中得到一些缺少的COM组件错误消息(COMException 0x80040154):
检索COM类工厂 具有CLSID的组件 {937C1A34-151D-4610-9CA6-A8CC9BDB5D83} 由于以下错误而失败: 80040154
我已经读过 Windows Server 2008 R2安装手写识别的选项。是否还有Windows Server 2008的软件包?我在Google上搜索过,但找不到解决方案。
谢谢!的
解决方案
您是否尝试过只为x86重新编译?您可能会发现其中一个组件是32位,并且与64位代码不兼容。最近,当我升级到64位Vista的新笔记本电脑时,我有类似的经历 - 用于编译的项目不再适用。事实证明,其中的Crystal Reports组件仅为32位,不适用于64位代码。我从“任何CPU”改为作为“x86”的活动解决方案平台它工作得很好。不幸的是,这意味着您的应用程序将无法充分利用服务器的64位功能,但它可以正常工作。
其他提示
我做了一堆谷歌帖子,并在另一组发现了这篇文章。我不知道它是否对你有所帮助,但在这里......
在Vista 64位环境中,如 史蒂夫古德温在他的帖子中说, WISPTIS.EXE不可用 C:\ Windows \ SysWOW64 \但它在 C:\ Windows \ System32下。所以我复制了它, 并且,它终于有效了。
这是一个很长的镜头,但是线程中还有其他注释,其中包含各种操作系统的其他想法。但是我不会立即清楚为什么我选择发布这个组中的内容,因为没有提到你的错误。这就是我到达那里的方式。
首先,我用Google搜索了您在上面发布的CLSID。我发现这会产生结果,表明与注册表值相关联的文件是WISPTIS.EXE,所以我用Google搜索并得出WISPTIS.exe是Snipping工具的事实......所以带来了更多的搜索页面我对此,这看起来很可能只是因为我已经有足够的问题与我的64位Vista在错误的地方寻找文件,这似乎是一个可能的罪魁祸首。
无论如何,这里是链接到我挖出这个答案的线程。
http://adilhindistan.blogspot.com/2007 /07/vista-snipping-tool-error.html
可能是由于MS Office。 CLSID {937C1A34-151D-4610-9CA6-A8CC9BDB5D83}是MS Office附带的INK CLSID。我遇到了同样的问题但是在安装MS Office之后我的问题已得到修复。