好了,所以这是一个新的机器在我们的办公室的窗户8.1的全新安装。我们安装了Office专业增强版2013就可以了,一切看起来红润。不过,我得到以下错误:
我研究的一切说,有一个在注册表中的旧面貌值。 9.3,9.4等。但是这台电脑从未有过什么,但展望2013年它和每一个注册表值,我能找到的是9.5。
我正在开发一个应用程序时,我们送客户端的更新是预写我们发送一个标准的电子邮件。在C#中的相关代码如下所示:
string Body = Head + FileList + details + EmailPart + Signature;
Outlook.Application OLapp = new Outlook.Application();
MailItem eMail = OLapp.CreateItem(Outlook.OlItemType.olMailItem); //this is the line that causes the error.
eMail.Subject = "subject";
eMail.To = "";
eMail.HTMLBody = Body; //text created above
eMail.Importance = OlImportance.olImportanceNormal;
eMail.Display();
这工作每台机器上的办公室,除了这64位W8框。我不知所措,我已经修复并重新安装了专业增强版2013包无济于事。 COM对象应在istall注册,有没有办法,我发现手动注册。我试着在VS针对X86无济于事。我一直在敲打在这个问题上了几个星期,所以我很为难。有没有人解决了这个问题,即它不是一个值:9.3 / 9.4的注册表问题?
也许有一个办法做到这一点不使用,而不是一个DLL使用COM?任何事情来得到该用户离地面将是有益的。谢谢。
解决了!
由于采用了答案贴here我被放在正确的轨道寻找我的解决方案上。
总之,问题不在于有多个键或注册表无效密钥,它是有一个键在注册表中的一个特定位置丢失。具体地,在HKEY_CLASSES_ROOT \类型库\
在长:我的错误指出我朝着键{0006001-0000-0000-C000-000000000046}一切我能在网上找到然后朝键HKEY_CLASSES_ROOT \接口指出{0006001-0000-0000-C000-000000000046}
最常见的问题是,当你有多个版本的条目,9.5,9.4等,您必须删除无效的版本。对于我的问题,只有一个版本,9.5。
我搜索了其他{0006001-0000-0000-C000-000000000046}项,他们每个人都只有一个版本,9.5
什么上面链接的答案希望我做的是去除HKEY_CLASSES_ROOT \类型库无效版本{0006001-0000-0000-C000-000000000046}虽然一个问题...关键是不存在的。 AHA!
我创建了使用手动HKEY_CLASSES_ROOT \ {类型库00062FFF-0000-0000-C000-000000000046}(A则引用MSOUTL.OLB我的程序使用键)打造出来的缺少关键的关键。 (我不知道的方式来复制在注册表编辑器的整个密钥)
一旦我做了,我需要重新启动计算机,重新启动一次程序完美的作品。
显然,Office365错过在安装过程中这个位置。值得庆幸的是,我可以把这个近一个月之久的瘟疫,与我质疑我的代码在我身后开始了!希望这可以帮助别人,将来别人!
我的情况是这样的项:HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes下\ {类型库00062FFF-0000-0000-C000-000000000046}有Win32和Win64的子项中定义,而我只有64位Office安装,所以删除的Win32子解决了这一问题。