July 2007 - Posts

Comparing special folders returned by Environment.GetFolderPath between Windows XP and Vista

The program

class Program
{
  static void Main(string[] args)
  {
    foreach (System.Environment.SpecialFolder value in Enum.GetValues(typeof(System.Environment.SpecialFolder)))
  {
    Console.WriteLine(Enum.GetName(typeof(System.Environment.SpecialFolder), value) + " = " + System.Environment.GetFolderPath(value));
    }
  }
}

The output on Windows XP

Desktop = C:\Documents and Settings\Neno\Desktop
Programs = C:\Documents and Settings\Neno\Start Menu\Programs
Personal = D:\My Documents
Personal = D:\My Documents
Favorites = C:\Documents and Settings\Neno\Favorites
Startup = C:\Documents and Settings\Neno\Start Menu\Programs\Startup
Recent = C:\Documents and Settings\Neno\Recent
SendTo = C:\Documents and Settings\Neno\SendTo
StartMenu = C:\Documents and Settings\Neno\Start Menu
MyMusic = D:\My Documents\My Music
DesktopDirectory = C:\Documents and Settings\Neno\Desktop
MyComputer =
Templates = C:\Documents and Settings\Neno\Templates
ApplicationData = C:\Documents and Settings\Neno\Application Data
LocalApplicationData = C:\Documents and Settings\Neno\Local Settings\Application Data
InternetCache = C:\Documents and Settings\Neno\Local Settings\Temporary Internet Files
Cookies = C:\Documents and Settings\Neno\Cookies
History = C:\Documents and Settings\Neno\Local Settings\History
CommonApplicationData = C:\Documents and Settings\All Users\Application Data
System = C:\WINDOWS\system32
ProgramFiles = C:\Program Files
MyPictures = D:\My Documents\My Pictures
CommonProgramFiles = C:\Program Files\Common Files

The output on Windows Vista

Desktop = C:\Users\Neno\Desktop
Programs = C:\Users\Neno\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
Personal = C:\Users\Neno\Documents
Personal = C:\Users\Neno\Documents
Favorites = C:\Users\Neno\Favorites
Startup = C:\Users\Neno\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Recent = C:\Users\Neno\AppData\Roaming\Microsoft\Windows\Recent
SendTo = C:\Users\Neno\AppData\Roaming\Microsoft\Windows\SendTo
StartMenu = C:\Users\Neno\AppData\Roaming\Microsoft\Windows\Start Menu
MyMusic = C:\Users\Neno\Music
DesktopDirectory = C:\Users\Neno\Desktop
MyComputer =
Templates = C:\Users\Neno\AppData\Roaming\Microsoft\Windows\Templates
ApplicationData = C:\Users\Neno\AppData\Roaming
LocalApplicationData = C:\Users\Neno\AppData\Local
InternetCache = C:\Users\Neno\AppData\Local\Microsoft\Windows\Temporary Internet Files
Cookies = C:\Users\Neno\AppData\Roaming\Microsoft\Windows\Cookies
History = C:\Users\Neno\AppData\Local\Microsoft\Windows\History
CommonApplicationData = C:\ProgramData
System = C:\Windows\system32
ProgramFiles = C:\Program Files
MyPictures = C:\Users\Neno\Pictures
CommonProgramFiles = C:\Program Files\Common Files

Note: On the Window XP machine the My Documents folder was moved to drive D.

with 0 Comments

svcutil /dconly results in 'Error: The input read from 'http://localhost/MyService.svc?wsdl' is inconsistent with other options.'

Larry asked in the MSDN Forums why the following command line:

svcUtil http://localhost/MyService.svc?wsdl /dconly

raises this error:

Error: The input read from 'http://localhost/MyService.svc?wsdl' is inconsistent with other options.

 The essential note is stated in the Windows SDK Release Notes (Link):

5.4.11 Service Model Metadata Utility Tool (SvcUtil.exe) Can’t Generate Data Contracts from a Running Service

An example at the end of the svcutil.exe help output indicates that you can use the /dataContractOnly (/dconly) option to generate Data Contracts from a running service:

svcutil /dconly http://service/metadataEndpoint
- Generate Data Contract types from a running service or online metadata documents.

This usage does not work. You can only use the /dconly option to generate Data Contracts from local metadata files.

with 2 Comments