查看文章
 
Office 嵌入对象无效 Error! Not a valid embedded object
2010-04-01 15:33

开始之前先骂一句该死的M$.

害我折腾了近一个小时,啥也没干,全耗在google和百度了。

症状:Office 2003 系列,包括word excel powerpoint等打开文档之后不显示图片,word的公式编辑器不显示,右键编辑可以看到公式,正常模式显示 "嵌入对象无效" 或 Error! Not a valid embedded object(英文版),解决方法如下,打破头你也想不到,还是老外的方法好使。ShXt.

Error! Not a valid embedded object

If you you got here because you recognise the above error message, you're probably at the stage where you are pulling your hair out. Lots of people have this problem, and very few offer solutions. I have two networks that were set up in the same way with the same software, yet the problem only manifested itself in one of them.

Symptoms

Microsoft Word and Equation Editor

When unprivileged users try to insert objects into Word documents, the object is displayed as "Error! Not a valid embedded object."

Opening a equation with Word

If they right-click and select <object type> → Open, the object's application will launch and they can successfully edit the object, but clicking on <object type> → Edit doesn't work. This problem is commonly reported as being unable to insert equations into a Word document using Equation Editor, however all embedded objects are affected by this problem.

Can view but not download files with Internet Explorer

When users download a file with IE, either by clicking on a non-viewable link or by selecting Save Target As..., they get the error, "Internet Explorer was not able to open this Internet site. The requested site is either unavailable or cannot be found." This is usually reported as a more specific problem, such as being unable to view pdf files.

Internet Explorer download error

Cause

An administrator used Internet Explorer Administration Kit (IEAK) to deploy Internet Explorer with the roaming cache disabled.

Solutions

Quick Fix 1

Logon as an Administrator and use Control Panel → Internet Options → General → Settings... → Move Folder... to move the cache directory from C:\Windows\Temporary Internet Files to C:\Documents and Settings\<administrator's username>\Local Settings. Windows will create the Temporary Internet Files folder inside the chosen directory and delete the one from C:\Windows. This fixes the problem for all users until another Administrator logs in.

Quick Fix 2

Login as user that is suffering from the problem and run this registry file: cachesettings.reg. This fixes the problem for that user only.

Permanent Fix

First, use IEAK Profile Manager to clear the Disable Roaming Cache option, upload the modified IE configuration to your server and reinstall IE on every computer. This will fix the registry settings for the .DEFAULT user only.

IEAK Profile Manager - Temporary Internet Files (Machine) - Disable Roaming Cache

Then deploy a policy that sets [HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]\Cache to %USERPROFILE%\Local Settings\Temporary Internet Files. If you uare using poledit to deploy policies, here is a suitable adm file: fixcache.adm.

If you don't have the infrastructure in place to deploy policies, then ask every user to run cachesettings.reg instead.

Details

With the roaming cache disabled, new unprivileged user accounts are be created with the following settings (inherited from the .DEFAULT user). The entries under the User Shell Folders key are fixed settings; the Shell Folders are generated by expanding the User Shell Folders entries when the user logs in.

Key HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Value Cache
Data %SystemRoot%\Temporary Internet Files
Type REG_EXPAND_SZ
Key HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
Value Cache
Data
Type REG_SZ

The Cache setting is blank because Explorer could not create the directory. In this state, everything still works since Windows uses C:\Documents and Settings\<username>\Local Settings\Temporary Internet Files by default.

If a new Administrator (or Power User) account is created, they can write to C:\Windows, so the following settings are used:

Key HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Value Cache
Data %SystemRoot%\Temporary Internet Files
Type REG_EXPAND_SZ
Key HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
Value Cache
Data C:\Windows\Temporary Internet Files
Type REG_SZ

When a normal user next logs in, their Cache directory is set to C:\Windows\Temporary Internet Files because it now exists, however, they can only read from, not write to, this location. When Word tries to create the Content.MSO folder (analogous to Content.IE5) inside this location, it fails, which breaks embedded objects.

The worst case scenario is when a Domain Administrator's account is affected by the faulty registry entries. It is Explorer, not Internet Explorer, that creates the Shell Folders directories, so a Domain Administrator can affect a machine merely by logging in to it.

The solution resets the registry settings to their proper values and to remove C:\Windows\Temporary Internet Files. The correct registry entries are as follows:

Key HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Value Cache
Data %USERPROFILE%\Local Settings\Temporary Internet Files
Type REG_EXPAND_SZ
Key HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Value Cache
Data C:\Documents and Settings\<username>\Local Settings\Temporary Internet Files
Type REG_SZ
Key HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
Value Cache
Data C:\Documents and Settings\LocalService\Local Settings\Temporary Internet Files
Type REG_SZ


Peter Benie <peterb@chiark.greenend.org.uk>
Windows


类别:默认分类||添加到搜藏 |分享到i贴吧|浏览(404)|评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
     

   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu