1、何时进行手工卸载和安装
一般情况下应该让客户端自动控件,这样当服务器控件版本更新时,客户端可以获得自动升级方面的好处。但是,如果因为客户机配置有问题,或者有其它拦截工具拦截的原因无法自动安装控件,您可以采取本文描述的方法进行手工卸载和安装。具体请参考本文相关文档。
2、手工卸载NTKO OFFICE文档控件的步骤:
1)执行如下步骤之前最好重新启动计算机。如果不重新启动,请确保关闭所有浏览器以及可能使用控件的开发工具,比如Visual Studio.Net.如果任务管理器中存在iexplorer.exe进程,则终止它。这样做可以保证系统中不存在使用控件的进程,以避免卸载/删除失败。
2)删除c:windows(winnt)downloaded program files目录下的 NTKO OFFICE文档控件(未授权演示版)。
3)将officecontrol.cab中的officecontrol.ocx解开,拷贝到比如:c:officecontrol.ocx 4)从命令行运行: regsvr32 /u c:officecontrol.ocx 就可以彻底卸载控件。
3、手工安装NTKO OFFICE文档控件的步骤:
1) 将officecontrol.cab中的officecontrol.ocx解开,拷贝到比如:c:officecontrol.ocx 2)从命令行运行: regsvr32 c:officecontrol.ocx
网页中引用NTKO OFFICE文档控件的<object>标记各个部分的含义
对于HTML代码中引用控件的如下代码:
<object id="TANGER_OCX" classid="clsid:C9BC4DFF-4248-4a3c-8A49-63A7D317F404" codebase="/path/to/OfficeControl.cab#version=4,0,0,5" width="100%" height="100%"> <object>标记中各个部分的含义如下:
1) id="TANGER_OCX"标识控件的JavaScript编程标识,通过document.all("TANGER_OCX")即可得到对控件对象的引用。
2)clsid:C9BC4DFF-4248-4a3c-8A49-63A7D317F404标识NTKO OFFICE文档控件的唯一标识。浏览器通过这个clsid来判断访问网页的客户机是否已经安装控件。
3)在codebase="/path/to/OfficeControl.cab#version=4,0,0,5" 中,前面的
/path/to/OfficeControl.cab部分,标识控件自动安装文件在服务器上相对当前网页的URL位置,而#version=4,0,0,5部分标识该网页需要的控件版本号。
为了能够让控件自动安装,以上各个部分必须正确,尤其是clsid,codebase=之后的URL部分,以及#version=部分。
<div style="display:none" id="excelcontent">
<object id='TANGER_OCX_OBJ' classid='clsid:C9BC4DFF-4248-4a3c-8A49-63A7D317F404' codebase='../../Common/OfficeControl.ocx' width='100%'>
<param name='BorderStyle' value='1'/>
<param name='Statusbar' value='true'/>
<param name='TitleBar' value='false'/>
<param name='ToolBars' value='false'/>
<param name='Menubar' value='true'/>
<param name='IsUseUTF8URL' value='-1'/>
<param name='IsUseUTF8Data' value='-1'/>
<param name="ProductCaption" value="a"/>
<param name="ProductKey" value="C9BC4DFF-4248-4a3c-8A49-63A7D317F404"/>
<param name="MakerCaption" value="b"/>
<param name="MakerKey" value="C9BC4DFF-4248-4a3c-8A49-63A7D317F404"/>
<param name='WebUserName' value='c'/>
<param name='Caption' value='欢迎使用!'/>
</object>
</div>
Ext.getDom("excelcontent").style.display = "block";
this.browsofficwin.show();
var nid = id;
Ext.MessageBox.wait("数据加载中......", "系统提示");
Ext.Ajax.request({
url: "/Com/ReadOne",
params: { id: nid },
method: "post",
scope: this,
success: function (o) {
var result = Ext.decode(o.responseText);
Ext.MessageBox.hide();
var TANGER_OCX_OBJ = document.getElementById("TANGER_OCX_OBJ");
var p = "/Upload/Cache/shangpu.doc";
TANGER_OCX_OBJ.OpenFromURL(p);
},
failure: function (o) {
//Ext.Msg.alert("提示信息", "信息提取失败!");
return;
}