EldoS | Feel safer!

Software components for data protection, secure storage and transfer

Installer Helper Dll

Also by EldoS: CallbackDisk
Create virtual disks backed by memory or custom location, expose disk images as disks and more.
#18874
Posted: 01/31/2012 14:53:13
by Sid Schipper (Standard support level)
Joined: 03/14/2008
Posts: 285

When you compile a program that uses CBFS there are libraries and include files for both 32 bit and 64 bit programs. I have been compiling my system always using the 32 bit include files and libraries. I tried using my program on a 64 bit Windows 7 operating system and it seemed to work OK sometimes but then today I got a BSOD. I thought you could run 32 bit programs on Windows 64 bit operating systems and they would just run as 32 bit programs? There is only one cbfs.cab file to install the Windows Kernel Driver and helper dlls, are those 32 bit or 64 bit? Anyway, my guess is that I have to recompile everything differently depending on the operating system I am targeting, is that correct?
#18875
Posted: 01/31/2012 15:18:17
by Sid Schipper (Standard support level)
Joined: 03/14/2008
Posts: 285

OK, I looked at this a little bit further and in the cbfs.cab file there are three different versions of the Kernel Driver and the helper dlls. There is also three versions of the cbfsinst.dll. My program installs the Kernel Driver and helper dlls by calling the installer program from within, so now I am thinking that somehow your code knows whether it is 32 bit or 64 bit and installs the right version using that knowledge. If that is the csae then I am now certain that I have to recompile everything and have two different versions of my system depending on whether I am installing on a 32 bit or 64 bit system. (I'm not that concerned with IA64 as I doubt I'll ever be on that kind of system, my program almost always runs on either 32 bit or X64 bit systems).
#18876
Posted: 01/31/2012 15:21:02
by Sid Schipper (Standard support level)
Joined: 03/14/2008
Posts: 285

Also, if I use the static runtime CBFS.lib file do I even need the cbfsinst.dll? I'm pretty sure that my system works fine on systems where CBFS is not even installed, so my guess is that I don't need that dll if I am linking statically, but I'd like you to confirm that for me.
#18878
Posted: 01/31/2012 23:43:15
by Eugene Mayevski (EldoS Corp.)

1. Installer knows which set of files to install.
2. You can have 32-bit application running on 64-bit system - it's only drivers that must be 64-bit on 64-bit system.
3. CBFS.lib has nothing to do with installer DLL. The installer DLL provides installation and deinstallation functions which are usually called by installation scripts. This is needed so that the main application doesn't have to install drivers (which operation requires administrative rights). If you call CallbackFileSystem::Install() method, you don't need an installer DLL.


Sincerely yours
Eugene Mayevski
#18879
Posted: 02/01/2012 00:13:41
by Volodymyr Zinin (EldoS Corp.)

In addition to the information just mentioned. On 64-bit systems both versions (32- and 64-bit) of helper DLLs are installed. It's necessary because there are WOW64 programs there and they require 32-bit DLLs.
#18895
Posted: 02/01/2012 09:51:37
by Sid Schipper (Standard support level)
Joined: 03/14/2008
Posts: 285

Thank you for the information. So, this puts me back to square one on the BSOD that I received yesterday. Also, I have noticed poor performance by our system on the Windows 7 64 bit system. The next step for me is to analyze the dump file from the BSOD and see if that tells me anything. After that I will try to recreate the problem using your sample code and if I can do that I will send you the dump file for you to analyze.
#18899
Posted: 02/01/2012 11:52:17
by Sid Schipper (Standard support level)
Joined: 03/14/2008
Posts: 285

OK, I used the dumpchk program to look at the dump file that I got from the BSOD and it basically told me nothing since I do not have the symbol files for cbfs. I am attaching that output from the dumpchk command, but the dump file itself is too large to attach. If you'd like to see that also let me know how I can get it to you (maybe ftp or something like that). Meanwhile, I will try to re-create the problem using one of your sample programs, that way we eliminate the issue of my application possibly doing something it shouldn't.


[ Download ]
#18900
Posted: 02/01/2012 12:16:56
by Eugene Mayevski (EldoS Corp.)

Moved to HelpDesk


Sincerely yours
Eugene Mayevski
Also by EldoS: MsgConnect
Cross-platform protocol-independent communication framework for building peer-to-peer and client-server applications and middleware components.

Reply

Statistics

Topic viewed 1504 times

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




|

Back to top

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

Got it!