[Rd] In creating a Windows binary package (zip), how do I make the installation configurable

Gabor Grothendieck ggrothendieck at gmail.com
Thu Jul 12 19:32:18 CEST 2007


You could look at the Ryacas package for some ideas.   zzz.R in

   http://ryacas.googlecode.com/svn/trunk/R/zzz.R

is invoked at library(Ryacas) checking whether certain binaries are present
and if not present then issues a message telling the user to run yacasInstall()
without arguments.  yacasInstall() in:

   http://ryacas.googlecode.com/svn/trunk/R/yacasInstall.R

downloads the required binaries into the appropriate place.  (Although
Ryacas runs on UNIX, Mac and Windows the yacasInstall functionality
and associated binaries are only available for Windows currently.  Manual
installation is required on UNIX and Mac.)

It would have been possible to have zzz.R call yacasInstall()
directly but we felt that downloading files to the user's computer
transparently was not a good idea and we should make the user
issue a specific command to do it to ensure that they really want
to allow that.  Also it gives the user the possibility of doing it manually
instead of using the automatic procedure.

On 7/12/07, rick.jones at sungard.com <rick.jones at sungard.com> wrote:
>
> I would like to create a binary package for Windows which when
> installed will give the user an option of whether to install
> one version or another.
>
> Here is the problem, I have a package 'FAME' that can run
> in two different modes on Windows. An old mode that uses
> R to connect to a remote linux machine and a new way that
> uses a locally installed database.
>
> I would allow this decision to be made at run time, but
> the DLL in the later case depends upon the database's DLL
> being on the Windows machine. A runtime solution would
> require at least one extra level of dynamic loading.
>
> So I would like something like this to happen:
>  the zip file contains fame-local.dll and fame-remote.dll
>  when the user selects 'install packages from a zip file'
>  the user should be given the option of which DLL
>  should be renamed to 'fame.dll'.
>
> Is this possible??
>
> If so, how would I do it?
>
> If not, then are there an recommendations for a solution?
>  An alternative I can try is to have 2 separate packages,
>  'fame' and 'fame-remote'.
>
> Thanks,
> Rick Jones
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



More information about the R-devel mailing list