My favorites | Sign in
Project Home Downloads
READ-ONLY: This project has been archived. For more information see this post.
Search
for
  Advanced search   Search tips   Subscriptions
Issue 7: Auto updating activex control using fractivex plugin
1 person starred this issue and may be notified of changes. Back to list
Status:  Fixed
Owner:  leeor.ah...@gmail.com
Closed:  Nov 2009


 
Reported by er.prave...@gmail.com, Jul 29, 2009
If we modify the activex control and provide a new version by modifying cab
file and specify the new codebaseURL tag , the new control is not
downloaded on its own unlike IE.

 Tried changing the code like the below :
(a) iN CControlSite::Create (...)  stored the codebaseURL passed at the
first time. Then changed the activex control and prepared a new cab.
Compared the previous URL with the new one and download if any change like :

"  // Do we need to download the control?
   if ((FAILED(hr) && szCodebase) || isNewVersion ) "

It does download the new control , but Windows throws a message saying "
System settings change and we need to reboot the system". Actually after
reboot it updates the activex control. But this reboot requirement is being
shown only in firefox and not in IE , and is certainly not desirable.

-Praveen


Sep 16, 2009
#1 Booker.B...@gmail.com
I have attached an updated version of ControlSite.cpp that should resolve this issue.
The changes are all contained in CControlSite::Create function. In short it checks
the registered version of the file on the system and then compares that value to the
hash passed in the codebase value. If the value on the system is less then hash it
does not call CoCreateInstance as to not lock any files when it calls
CoGetClassObjectFromURL. It also uses CLSID_NULL in CoGetClassObjectFromURL which
should also help prevent the system change message. Of course if your control is
currently locked by another process (another open browser window/application with the
control loaded) you will be prompted for reboot just like would happen in Internet
Explorer. Hopefully this resolves the issue in a adequate manner and you can include
the file in the project.

-Brent Booker
ControlSite.cpp
41.6 KB   View   Download
Sep 17, 2009
#2 Booker.B...@gmail.com
I also forgot to mention since the code in the previous post uses GetFileVersionInfo
you will need to adjust the project properties to link against version.lib.

-Brent Booker
Nov 3, 2009
Project Member #3 leeor.ah...@gmail.com
(No comment was entered for this change.)
Status: Started
Owner: leeor.aharon
Labels: Usability
Nov 3, 2009
Project Member #4 leeor.ah...@gmail.com
(No comment was entered for this change.)
Status: Fixed
Nov 3, 2009
Project Member #5 leeor.ah...@gmail.com
Merged Brent's changes to the trunk.

Powered by Google Project Hosting