chengjian
asked on
ActiveX Form Auto-download problem
Dear friends:
I think when the ActiveXForm I've deploy be updated "the version number increas", the client should be noted to downloaded the latest version when they visit the html page.
But it only be downloaded once and never update.
I filled the web deploy option dialog carefully and include the version info in my project, I also check the auto-increase version checkbox, and also tried to edti the version numally, but it also does not work.
What should I do?
I promiss another 200
I think when the ActiveXForm I've deploy be updated "the version number increas", the client should be noted to downloaded the latest version when they visit the html page.
But it only be downloaded once and never update.
I filled the web deploy option dialog carefully and include the version info in my project, I also check the auto-increase version checkbox, and also tried to edti the version numally, but it also does not work.
What should I do?
I promiss another 200
listening..
Hi
you should be able to use the versioning to make client load newer one.
do you change the version number in the html page that loads the activex so you have tag like:
in mycontrol.htm :
<OBJECT
classid="clsid:29D37F03-F0 2F-11D0-AC B2-0080C73 16F20"
codebase="http://www.xyz.com/MyControl.ocx#version=1,0,1,0"
width=350
height=250
align=center
hspace=0
vspace=0
</OBJECT
The #version part of the tag is optional—if missing, it means "any version will do."
On the web server, there will be a file called MyControl.htm (many servers are case sensitive) , which has been stamped with a version tag (presumably 1.0.1.0), and which can create an ActiveX control with the specified ClassID. The first thing Internet Explorer does is to determine if the specified ClassID is already installed on the client machine. If it is, IE will check to see if the installed version matches the requested version. If the local version matches the version requested in the HTML, IE will simply use the local copy to create the control
If the version number requested by the HTML page is newer than the one currently installed, or the ClassID is not yet installed, IE knows it must download and install the codebase before it can create the control.
you should be able to use the versioning to make client load newer one.
do you change the version number in the html page that loads the activex so you have tag like:
in mycontrol.htm :
<OBJECT
classid="clsid:29D37F03-F0
codebase="http://www.xyz.com/MyControl.ocx#version=1,0,1,0"
width=350
height=250
align=center
hspace=0
vspace=0
</OBJECT
The #version part of the tag is optional—if missing, it means "any version will do."
On the web server, there will be a file called MyControl.htm (many servers are case sensitive) , which has been stamped with a version tag (presumably 1.0.1.0), and which can create an ActiveX control with the specified ClassID. The first thing Internet Explorer does is to determine if the specified ClassID is already installed on the client machine. If it is, IE will check to see if the installed version matches the requested version. If the local version matches the version requested in the HTML, IE will simply use the local copy to create the control
If the version number requested by the HTML page is newer than the one currently installed, or the ClassID is not yet installed, IE knows it must download and install the codebase before it can create the control.
ASKER
Dear rwilson :
I really do not want to change the GUID and I know where the ActiveX Control be downloaded located, and I also know I can Right-Click the Control and choose "update" to update it. but it's out of my need. thanx anyway. I'm so sorry to reject your answer.
Dear inthe:
Have you tried that? I've never notice about the HTML file and I only use delphi's web deploy wizard to generate the sample HTML file, I'll try later, thanx a lot.
I really do not want to change the GUID and I know where the ActiveX Control be downloaded located, and I also know I can Right-Click the Control and choose "update" to update it. but it's out of my need. thanx anyway. I'm so sorry to reject your answer.
Dear inthe:
Have you tried that? I've never notice about the HTML file and I only use delphi's web deploy wizard to generate the sample HTML file, I'll try later, thanx a lot.
changing the version code in the html is the only way explorer knows it a new version of the control..
check if delphi is writing version info to sample html file then recompile and chck if html version info has changed.
i dont have delphi here at moment but there should be a version option to imcrement the version number when a new compile is done..
check if delphi is writing version info to sample html file then recompile and chck if html version info has changed.
i dont have delphi here at moment but there should be a version option to imcrement the version number when a new compile is done..
ASKER
dear inthe:
I'm so busy so I haven't tried your answer, sorry, I make a socket program to detect and downlaod the ActiveX control from http server.
feel free to put it as an answer and if you have both time and delphi, please try for me, greatly thanx.
I'm so busy so I haven't tried your answer, sorry, I make a socket program to detect and downlaod the ActiveX control from http server.
feel free to put it as an answer and if you have both time and delphi, please try for me, greatly thanx.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I'm faint 'cause sometimes it works
but sometimes not.
but anyway.
but sometimes not.
but anyway.
The only really reliable way I have seen to force the activeX control to be downloaded again is to change the GUID of the control.
Cheers,
Raymond.