EldoS | Feel safer!

Software components for data protection, secure storage and transfer

installing through cbfsinst.dll

Posted: 01/27/2009 20:08:03
by Vijay Mani (Standard support level)
Joined: 03/09/2008
Posts: 29

We are seeing some issues when installing the driver only through installer dll.
So basically, in our nsis based installer we call

System::Call 'cbfsinst::InstallDriverA(t, t, t, *i) i("$INSTDIR\cbfs.sys", "$INSTDIR\cbfs64.sys", ${CBFSProdId}, .r5) .r6'

A subsequent call to cbfsinst::GetDriverStatusA(t, *i, *l, *l) i (${CBFSProdId}, .r1, .r2, .r3) .r4' does indicate that the file is installed correctly.

Now, on a clean machine, on first install, this operation succeeds. Reboot is not required.

However, when double checking this install along our mount code path by calling
CallbackFileSystem::GetDriverStatus(v_strProgID, &fInstalled, &cVersionHigh, &cVersionLow, &status); we find that hte driver is not really installed.

I've ensured that the prodID is the same guid when called from both the c++ code and also from the installer.

Any ideas?
Posted: 01/29/2009 03:09:18
by Volodymyr Zinin (Team)

Moved to helpdesk for checking by the developer.
Posted: 03/06/2009 01:43:48
by Vyacheslav Kazarinov (Standard support level)
Joined: 02/16/2009
Posts: 3

Hi Vijay,

check that ${CBFSProdId} and v_strProgID are equal GUIDs.

I had the same problem as you describe unless they became equal.

BTW: my code is
StrCpy $1 "713CC6CE-B3E2-4fd9-838D-E28F558F6866"
System::Call 'cbfsinst::InstallDriverA(t "$INSTDIR\32\cbfs.sys", t "$INSTDIR\64\cbfs.sys", t r1, *i r2) i.r0 ? u'

WBR, Vyacheslav



Topic viewed 4055 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!