EldoS | Feel safer!

Software components for data protection, secure storage and transfer

CBFS Driver Compatability

Posted: 09/15/2009 10:16:52
by Tim Hayes (Standard support level)
Joined: 06/06/2007
Posts: 36

I would welcome some advice on the question of driver compatability.

Does each release of the CBFS drivers need to be paired with the user program compiled with the compatible SDK?

I am imagining that I might install an application on a client PC who already has CBFS installed. Do we need to have compatible driver versions?

Or, does a newer version of the driver as installed support older executables?

Thanks in advance.
Posted: 09/15/2009 10:34:30
by Volodymyr Zinin (Team)

We always try to support backward compatibility. I.e. old user-mode code generally works with newer driver versions. But sometimes it isn't possible to achieve, and in this case it's necessary to update both the user and the kernel parts of the code.
Posted: 09/15/2009 11:25:36
by Tim Hayes (Standard support level)
Joined: 06/06/2007
Posts: 36

Thankyou, that is helpful.

Do you, or can you publish a table of compatability on the website or better, in the Help which we can refer to?
Posted: 09/15/2009 12:04:51
by Eugene Mayevski (Team)

We don't have a published table. We keep compatibility between builds of the same version (2.1, 2.5) however, there was a breaking change in 2.5 (i.e. 2.0 or 2.1 drivers won't work with 2.5 API and vice versa), and if memory serves, also in 2.1 (of course, 2.0 did change lots of things). So you can treat different minor versions (2.0, 2.1, 2.5) to be incompatible with each other.

Of course, it's not a good idea to make breaking changes between minor versions, but we add lots of new functionality between these updates, and releasing new major version after each change would not be fair. In 3.0 there will be one more breaking change (this is for sure), but after that we will try to refrain from making breaking changes in 3.x line.

Sincerely yours
Eugene Mayevski
Posted: 09/16/2009 05:30:00
by Tim Hayes (Standard support level)
Joined: 06/06/2007
Posts: 36

Thanks Eugene.

I have a further question about installing driver upgrades.

Do I have to un-install the old driver and then re-install the new one, or can I somehow overwrite the existing driver and reboot the PC?

My application has a program that runs at start-up. Could I carry out any installation process at that time, or would a re-boot then be needed?

Posted: 09/16/2009 06:34:51
by Eugene Mayevski (Team)

It's the OS that tells us whether reboot is needed. There's a call to NT API function (Vladimir will tell you it's name if needed), which says that operation was successful, or it was postponed to after reboot. So this is beyond our control.

You don't need to uninstall the old version of the driver, however doing this won't cause any harm, and here's why:
1) if the driver is not locked, it will be uninstalled without necessity to reboot, and then you can install new version also without reboot.
2) if the old driver is locked, and you call UninstallDriver, the OS will reboot and the old driver will be removed. Then you can install new version without reboot.
3) if the old driver is locked, and you don't call UninstallDriver, the OS will tell you that it will install the new driver after reboot (i.e. InstallDriver will set Reboot to true) and one reboot will be needed.

So as you see, if the old driver is loaded, it's no matter if you uninstall it or not, - you will need to reboot once to have a new version of the driver installed.

Sincerely yours
Eugene Mayevski



Topic viewed 2262 times

Number of guests: 1, registered members: 0, in total hidden: 0


Back to top

As of July 15, 2016 EldoS business operates as a division of /n software, inc. For more information, please read the announcement.

Got it!