[R] shell.exec() on Windows, unexpected behavior

Duncan Murdoch murdoch at stats.uwo.ca
Sat May 12 03:14:31 CEST 2007


On 11/05/2007 7:37 PM, Richard M. Heiberger wrote:
> I have Windows XP machines with different software configurations.
> My laptop has Adobe Reader 8 and Adobe Acrobat 6.
> My desktop has Adobe Reader 8 and does not have Adobe Acrobat.
> 
> On both machines, PDF extensions are registered to Adobe Reader 8.0,
> and double-clicking a pdf file in Windows Explorer opens Adobe Reader
> 8.0.
> 
> In R-2.5.0, with all Adobe windows closed, the command
>   shell.exec('c:/Program Files/R/R-2.5.0/doc/manual/R-admin.pdf')
> opens an Adobe window.
> On the laptop, it opens Adobe Acrobat 6.0.
> On the desktop, it opens Adobe Reader 8.0.
> 
> When an Adobe window is aleady open, shell.exec() uses the already
> open Adobe window.
> 
> Neither machine has any Adobe directories in the shell("PATH").
> 
> I am puzzled by shell.exec() opening "Adobe Acrobat" when the file
> extension is registered to "Acrobat Reader".  The documentation in
> ?shell.exec says "Opens the specified file or URL using the
> application specified in the Windows file associations."

shell.exec("foo.pdf") does the same thing that "start foo.pdf" would do 
from a Windows command line.  Do you see the same behaviour there?  I 
think this is also usually the same thing as a right click Open does, 
but that may be changeable.

What may be happening is that Acrobat has installed some fancy shell 
extension that doesn't execute an "open" on the file, it does something 
else instead.

Duncan Murdoch



More information about the R-help mailing list