ocx控件升级后,不能下载,IE仍使用旧版本的OCX控件 ( 积分: 100 )

  • 主题发起人 主题发起人 恩帝
  • 开始时间 开始时间

恩帝

Unregistered / Unconfirmed
GUEST, unregistred user!
ocx控件升级后,不下载,IE仍使用旧版本的OCX控件
发现这个问题后,到C:/WINDOWS/Downloaded Program Files/把对应的ocx给删除后,便可以下载新版本的OCX。这是为什么?请高手赐教!
 
ocx控件升级后,不下载,IE仍使用旧版本的OCX控件
发现这个问题后,到C:/WINDOWS/Downloaded Program Files/把对应的ocx给删除后,便可以下载新版本的OCX。这是为什么?请高手赐教!
 
我以前遇到过,是这样解决的:
打开iis,选中调用该ocx的html文件,&quot
http头'==>启动内容失效=>选"立即过期",应该可以解决你的问题。
 
不能这样解决。如果这样,每次用户打开OCX的时候都需要重新下载。而我需要的是有升级的时候才需下载。
问题是,每次我做更新的时候都把版本+1,但是都不能下载新的版本。
 
你说的问题我遇到过,目前的办法只有手工删除,但我有一个朋友解决了这个问题,就是生成的控件必须到微软的网站上取得ie的认证就能直接升级了,但免费的就能用一次,这个是需要付费的,具体的操作方法我也没问太多,总之对个人而言意义不是太大
 
ocx 最头痛的问题就是你说的!
不过也有瞒天大法:即做一个xshell.ocx 只负责升级的狗狗!一经发布,用不升级,然后让它来升级!我是完美解决了!
有空来
www.51merit.com
做客
procedure TFrmDDXShell.btnExecuteClick(Sender: TObject);
var
tStream: TFileStream;
saveFile: string;
begin
timer1.Enabled := true;
if MisHttpUrl = '' then MisHttpUrl := 'http://127.0.0.1/web/';
memo1.Lines.Add(MisHttpUrl);
saveFile := GetWinDir() + 'config.ini';
if DownFile(MisHttpUrl + 'config.ini', saveFile) then
GetVer(saveFile)
else
showmessage( 'config.ini' + 'ÍøÂçÅäÖôíÎó...');
// showmessage(MisHttpUrl + 'config.ini' + 'ÍøÂçÅäÖôíÎó...');


if GetOCXVer(ywGUID) < ywver then
begin
saveFile := GetWinDir() + mytime_guid() + ywfile;
MEMO1.Lines.Add(MisHttpUrl + ywfile + '&amp;Oacute;&amp;ETH;&amp;ETH;&amp;Acirc;°&amp;aelig;±&amp;frac34;,&amp;Otilde;&amp;yacute;&amp;Ocirc;&amp;Uacute;&amp;Iuml;&amp;Acirc;&amp;Ocirc;&amp;Oslash;,&amp;Ccedil;&amp;euml;&amp;Eacute;&amp;Ocirc;&amp;micro;&amp;Egrave;...');

if DownFile(MisHttpUrl + ywfile, saveFile) then
begin
MEMO1.Lines.Add(YWFILE + '&amp;Iuml;&amp;Acirc;&amp;Ocirc;&amp;Oslash;&amp;sup3;&amp;Eacute;&amp;sup1;&amp;brvbar;...');

// winexec(pchar('regsvr32.exe /s ' + saveFile), sw_hide);
OLERegister(saveFile);
MEMO1.Lines.Add(YWFILE + '×&amp;cent;&amp;sup2;á&amp;sup3;&amp;Eacute;&amp;sup1;&amp;brvbar;...');
end
else
MEMO1.Lines.Add(YWFILE + '&amp;cedil;ü&amp;ETH;&amp;Acirc;&amp;Ecirc;§°&amp;Uuml;,&amp;Ccedil;&amp;euml;&amp;Eacute;&amp;Ocirc;&amp;ordm;ó&amp;Ocirc;&amp;Ugrave;&amp;Ecirc;&amp;Ocirc;...');
end
else
MEMO1.Lines.Add(YWFILE + '&amp;Ograve;&amp;Ntilde;&amp;frac34;&amp;shy;&amp;Ecirc;&amp;Ccedil;&amp;ETH;&amp;Acirc;°&amp;aelig;±&amp;frac34;...');


tmpvgver := GETOCXVER('{465BBD45-50E1-11D7-8803-00E09876BB62}');

if tmpvgver < vgver then
begin
saveFile := GetWinDir() + mytime_guid() + vgfile;
MEMO1.Lines.Add(vgFILE + '&amp;Oacute;&amp;ETH;&amp;ETH;&amp;Acirc;°&amp;aelig;±&amp;frac34;,&amp;Otilde;&amp;yacute;&amp;Ocirc;&amp;Uacute;&amp;Iuml;&amp;Acirc;&amp;Ocirc;&amp;Oslash;,&amp;Ccedil;&amp;euml;&amp;Eacute;&amp;Ocirc;&amp;micro;&amp;Egrave;...');
if DownFile(MisHttpUrl + vgfile, saveFile) then
begin
MEMO1.Lines.Add(vgFILE + '&amp;Iuml;&amp;Acirc;&amp;Ocirc;&amp;Oslash;&amp;sup3;&amp;Eacute;&amp;sup1;&amp;brvbar;...');
// winexec(pchar('regsvr32.exe /s ' + saveFile), sw_hide);
OLERegister(saveFile);
MEMO1.Lines.Add(vgFILE + '×&amp;cent;&amp;sup2;á&amp;sup3;&amp;Eacute;&amp;sup1;&amp;brvbar;...');
end
else
MEMO1.Lines.Add(vgFILE + '&amp;cedil;ü&amp;ETH;&amp;Acirc;&amp;Ecirc;§°&amp;Uuml;,&amp;Ccedil;&amp;euml;&amp;Eacute;&amp;Ocirc;&amp;ordm;ó&amp;Ocirc;&amp;Ugrave;&amp;Ecirc;&amp;Ocirc;...');
end
else
MEMO1.Lines.Add(vgFILE + '&amp;Ograve;&amp;Ntilde;&amp;frac34;&amp;shy;&amp;Ecirc;&amp;Ccedil;&amp;ETH;&amp;Acirc;°&amp;aelig;±&amp;frac34;...');

Set_isover(1);
BTNEXECUTE.Caption:='AAAAA';

self.OnClick(SENDER);


end;
 
to 白地瓜:
不会存在这个问题的,?我的系统在30多个点上,
系统只根据你的html文件里指示的版本信息决定是否升级的,而不是根据你的html文件本身。
 
试过好多次了,终于发现一个规律,就是必须把IE给关闭才,重新登录后才可以重新下载新版本的OCX,如果是没关闭或只是注销都是使用旧版本的OCX,估计OCX的信息还仍旧保存在IE的某给内存环境变量中。所以只有关闭IE才可以。。。。
 
刷新一下也行的,不用关闭IE,但是刷新,升级完成后可能要你重新启动电脑。
 
不是程序的问题, 是ie的问题!
 
ActiveX怎么样才能让IE自动下载安装呢。楼主帮帮忙。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部