[Rd] (PR#7163) Install packages does not work on Win2003 serv er

Walke, Rainer Walke at demogr.mpg.de
Fri Aug 13 11:29:25 CEST 2004

	>Why don't *you* know?  It is install.packages, surprisingly enough,
in its
	>internal function unpackPkg, and running that under debug would
show you
	>what is going on.  Once again, remember only you can do this as we
	>reproduce your claims.

	>Do remember you have already been told that you are using an
	>OS, and quite possible a file system that has never been tested and
is not 
	>supported by the compilers we use to build R.

	>One possible issue is that code uses

>  >               file.rename(file.path(tmpDir, curPkg), instPath)
	>Internally that boils down to

	>int Rwin_rename(char *from, char *to)
	>    int res = 0;
	>   OSVERSIONINFO verinfo;

	>    verinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
	>    GetVersionEx(&verinfo);
	>    switch(verinfo.dwPlatformId) {
	>    case VER_PLATFORM_WIN32_NT:
	>	res = (MoveFileEx(from, to, MOVEFILE_REPLACE_EXISTING) ==
	>	break;
	>    default:
	>	if (!DeleteFile(to) && GetLastError() !=
	>	    return 1;
	>	res = (MoveFile(from, to) == 0);
	>   }
	>    return res;

	>Now, what your unsupported OS reports for dwPlatformId is
undocumented in 
	>the MinGW header files (and in the VC6 docs), and your OS did not
	>when that was written.  Given the choices

	>#define VER_PLATFORM_WIN32s 0
	>#define VER_PLATFORM_WIN32_NT 2

	>it is the third according the Microsoft's current Platform SDK, but
	>that correct (it seems to predate the release of your OS)?  Please
	>it for us.


	says that VER_PLATFORM_WIN32_NT denotes
	WinNT, Win2000, WinXP and Win2003 Server

	dwMinorVersion is different 
	Windows Server 2003	2
	Windows XP			1
	Windows 2000			0
	Windows NT 4.0			0

	Windows Server 2003	5
	Windows XP			5
	Windows 2000			5
	Windows NT 4.0			4

	Further I checked
	about the movefileex command:
	Client: Requires Windows XP, Windows 2000 Professional, or Windows
NT Workstation.
	Server: Requires Windows Server 2003, Windows 2000 Server, or
Windows NT Server.
	Unicode: Implemented as Unicode and ANSI versions.
	Header: Declared in Winbase.h; include Windows.h.
	Library: Use Kernel32.lib.
	It seems that MoveFileEx should work without any change on NT, W2000
WinXP and Windows 2003.
      Now I think it is more a Windows than a R problem.
	Rainer Walke

This mail has been sent through the MPI for Demographic Rese...{{dropped}}

More information about the R-devel mailing list