Outlook未注册 [英] Outlook Com not registered

查看:461
本文介绍了Outlook未注册的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好,这是在我们办公室的新机器上安装新的Windows 8.1。我们在其上安装了Office Professional Plus 2013,一切看起来都很美。但是,我收到以下错误:





我研究的一切都表明,注册表中有一个旧的outlook值。 9.3,9.4等等。然而,这台电脑从未有过Outlook 2013,而且每个注册表值都是9.5。



写入我们发送客户端更新时发送的标准电子邮件。在C#中,相关代码如下所示:

  string Body = Head + FileList + details + EmailPart + Signature; 

Outlook.Application OLapp = new Outlook.Application();
MailItem eMail = OLapp.CreateItem(Outlook.OlItemType.olMailItem); //这是导致错误的行。
eMail.Subject =subject;
eMail.To =;
eMail.HTMLBody = Body; // text created above
eMail.Importance = OlImportance.olImportanceNormal;

eMail.Display();

这适用于办公室中的每个机器,除了这个64位W8盒子。我很失落,我已经修复并重新安装了Professional Plus 2013软件包,无济于事。 com对象应该在istall注册,我没有办法找到手动注册。我已经尝试在VS中定位X86无效。我已经在这个问题上敲了几个星期了,所以我被困了。有没有人解决了这个问题,它不是一个值:9.3 / 9.4注册表问题?



也许有一种方法可以这样做,不使用COM,而是使用dll的?任何让这个用户离开地面的东西都将是有帮助的。谢谢。

解决方案

解决方案



这里我被放在正确的轨道上找到我的解决方案。



简而言之,问题不在于注册表中有多个密钥或无效密钥,它是注册表中特定位置中缺少密钥的。具体在HKEY_CLASSES_ROOT\TypeLib\



长:
我的错误指向我一个键{0006001-0000-0000-C000- 000000000046}我可以在网上找到的所有内容指向HKEY_CLASSES_ROOT\Interface {0006001-0000-0000-C000-000000000046}键$ / $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $多个版本的条目,9.5,9.4等。你必须删除无效的版本。对于我的问题,只有一个版本,9.5。



我搜索了其他{0006001-0000-0000-C000-000000000046}条目,其中每个都只有一个版本,9.5



以上链接的答案想让我做的是删除HKEY_CLASSES_ROOT\TypeLib中的无效版本{0006001-0000-0000-C000-000000000046}一个问题虽然...密钥不存在。 AHA!



我使用HKEY_CLASSES_ROOT\TypeLib {00062FFF-0000-0000-C000-000000000046}手动创建了密钥(引用了我的程序使用的MSOUTL.OLB的密钥)建立缺失的密钥。 (我不知道在regedit中复制整个密钥的方法)



一旦我完成了,我需要重新启动计算机,一旦重新启动程序完美无瑕。



显然Office365在安装过程中错过了这个位置。幸运的是,我可以把这个近一个多月的瘟疫,开始与我质疑我的代码!希望这将有助于别人在未来!


Ok so this is a fresh install of windows 8.1 on a new machine in our office. We installed Office Professional Plus 2013 on it and everything looks rosy. However, I get the following error:

Everything I've researched says that there's a old outlook value in the registry. 9.3, 9.4 etc. However this computer has never had anything but Outlook 2013 on it and every registry value I can find is 9.5.

I am developing an app that pre-writes a standard email we send when we send clients an update. in C# the relevant code looks like this:

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();

This works on every machine in the office except this 64bit W8 box. I'm at a loss, I've repaired and reinstalled the Professional Plus 2013 package to no avail. The com object should register on istall, there's no way I've found to register it manually. I've tried targeting X86 in VS to no avail. I've been hammering on this issue for a couple of weeks now so I'm stumped. Has anyone resolved this issue where it wasn't a Value: 9.3/9.4 Registry issue?

Maybe there's a way to do this that doesn't use COM instead using a dll? Anything to get this user off the ground would be helpful. Thank you.

解决方案

SOLVED!

Thanks to an answer posted here I was put on the right track for finding my solution.

In short the issue is not that there are multiple keys or invalid keys in the registry, it is that there is a key missing in a specific location in the registry. Specifically in HKEY_CLASSES_ROOT\TypeLib\

In long: My error pointed me towards a key {0006001-0000-0000-C000-000000000046} Everything I could find online then pointed towards the key HKEY_CLASSES_ROOT\Interface{0006001-0000-0000-C000-000000000046}

The most common issue is when you have multiple version entries, 9.5,9.4 etc. You have to remove the versions that are invalid. For my issue there was only one version, 9.5.

I searched for other {0006001-0000-0000-C000-000000000046} entries and every one of them only had one version, 9.5

What the answer linked above wanted me to do was to remove invalid versions in HKEY_CLASSES_ROOT\TypeLib{0006001-0000-0000-C000-000000000046} One problem though... the key did not exist. AHA!

I created the key manually using HKEY_CLASSES_ROOT\TypeLib{00062FFF-0000-0000-C000-000000000046} (A key that referenced the MSOUTL.OLB that my program uses) to build out the missing key. (I don't know of a way to copy an entire key in regedit)

Once I had done that I needed to restart the computer, once restarted the program works flawlessly.

Apparently Office365 misses this location during the install. Thankfully I can put this nearly month long plague that started with me questioning my code behind me! Hope this helps someone else in the future!

这篇关于Outlook未注册的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆