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

From: Duncan Murdoch <murdoch_at_stats.uwo.ca>
Date: Thu, 12 Jul 2007 13:39:41 -0400

On 7/12/2007 1:00 PM, 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?

I don't think it's possible: installing from a .zip file basically just copies the files to the system, it doesn't execute the code.

It would be possible to do this if installing from a source package (just build one DLL), or you could install both and delay the decision until you attach the package: there are hooks to execute code when a package is loaded.

> 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'.

I'd do it through a load hook. The rgl package does this when running on a Mac, because it's not until load time that it knows if the user is using X11 or Aqua. See the .onLoad function in zzz.R for details.

Duncan Murdoch



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Thu 12 Jul 2007 - 17:40:51 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 12 Jul 2007 - 18:36:23 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.