在 ASP.NET 中与 64 位 Windows 的 Office 互操作 [英] Office Interop with 64bit Windows in ASP.NET
问题描述
我正在尝试在运行 Windows 2003 64 位(虽然我在 32 位模式下运行 IIS)的服务器上使用 C# ASP.NET 执行 office 2003 互操作,并收到如下错误消息:
I'm trying to do office 2003 interop using C# ASP.NET on a server running Windows 2003 64 bit (I'm running IIS in 32bit mode though) and getting error messages like:
机器默认权限设置不会为具有 CLSID 的 COM 服务器应用程序授予本地激活权限{00024500-0000-0000-C000-000000000046} 到用户域用户名 SID (S-X-X-XX-XXX-XXXX-XXX-XXXXX).可以使用组件服务管理工具修改此安全权限.
The machine-default permission settings do not grant Local Activation permission for the COM Server application with CLSID {00024500-0000-0000-C000-000000000046} to the user domainusername SID (S-X-X-XX-XXX-XXXX-XXX-XXXXX). This security permission can be modified using the Component Services administrative tool.
有人知道我需要改变什么才能让它工作吗?如果你能帮忙,谢谢.
Does anybody know what I need to change to get this working? Thanks if you can help.
编辑 - 这在 32 位服务器上运行良好.
EDIT - This was working fine on a 32bit server.
EDIT 2 - 似乎没有人喜欢这个,但鉴于我们的要求,我不确定还有其他方法.如果你能想到一个,我已经打开了另一个问题 alternative-to-office-interop-for-document-generation
EDIT 2 - Nobody seems to like this but I'm not sure there's any other way given our requirements. If you can think of one, I've opened another question alternative-to-office-interop-for-document-generation
推荐答案
我找到了答案.在 regedit 中搜索问题 guid.然后,您会遇到一个包含两个值的键 - 组件的名称和组件服务中的 guid.
I've found the answer. Search for the problem guid in regedit. You'll then come across a key that contains two values - the name of the component and it's guid in component services.
这篇关于在 ASP.NET 中与 64 位 Windows 的 Office 互操作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!