Changes between Initial Version and Version 1 of AppLibraries


Ignore:
Timestamp:
Jun 4, 2009, 3:53:41 PM (15 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AppLibraries

    v1 v1  
     1Applications can use dynamic libraries;
     2just include them in the [UpdateVersions#multifile multi-file application].
     3
     4A problem arises if you support multiple platforms,
     5and the libraries for the different platforms have the same name.
     6In BOINC, if files are called the same, they must be the same file.
     7
     8For example, suppose you support both Win32 and Win64,
     9and you use a DLL "vcomp90.dll" that has 32- and 64-bit versions.
     10If you install the 32-bit app first,
     11it will end up trying to link the 64-bit library, and will crash.
     12
     13The solution is to give the libraries different physical names
     14but the same logical name.
     15Do this as follows:
     16
     17 * In the 32-bit app, call the file '''vcomp90.dll=vcomp90_v1.0_32bit.dll'''. This will be copied as "vcomp90_v1.0_32bit.dll" to the download directory, and  used as "vcomp90.dll" on the client.
     18
     19 * Then, add another file called '''vcomp90.dll=vcomp90_v1.0_32bit.dll.file_ref_info''' containing just:
     20{{{
     21<copy_file/>
     22}}}
     23This will ensure the file is *copied* to '''vcomp90.dll''', instead of linked,
     24since Windows obviously won't understand BOINC soft links when trying to find
     25the DLL.