Long Paths in .NET, Part 3 of 3 Redux [Kim Hamilton]

My original part 3 blog caused confusion, mostly because it didn’t tie together loose ends and explain that an immediate .NET “solution” is at best partial. To minimize confusion and answer questions in the comments, I decided to do a complete overhaul and link to the original (here). Win32 file-naming conventions include the MAX_PATH (260…


Long Paths in .NET, Part 3 of 3 [Kim Hamilton]

Updated 6/10/08 2:20pm: clarified details of proposed solution Here it is, Part 3 of the long path series, which started over a year ago. I apologize for leaving you hanging; the BCL team has been busy lighting up the web. Because of the delay, I’ll summarize the compatibility concerns as context for the proposed solution….


Long Paths in .NET, Part 2 of 3: Long Path Workarounds [Kim Hamilton]

For now, our suggested workaround for users that encounter the MAX_PATH issue is to rearrange directories so that the names are shorter. This may sound like a cop out, but this is ultimately easier on users because of (1) limited tool support (i.e. Explorer doesn’t work with long paths) and (2) getting the full System.IO…


Long Paths in .NET, Part 1 of 3 [Kim Hamilton]

Let’s start by looking at one of the more interesting exception messages in the BCL, the PathTooLongException: [PathTooLongException]: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. “260 characters? That’s ridiculous; increase the…


Writing a Useful Windows Service in .NET in Five Minutes [Dave Fetterman]

When opening up a new project in Visual Studio, one finds many, many options for deploying your new killer app: Windows Applications, Console Applications, and Web Services are all popular choices.  Even when creating a simple daemon-type process, however, the Windows Service option is likely overlooked, because it interacts with the system in what many perceive to…


Managed Service Timeout during startup [Gang Peng]

It is not an easy job to write a windows service in unmanaged. There are many guidelines you need to follow to make the service work. Programming Server-Side Applications for Microsoft Windows 2000 is good reference to learn how to write a windows service.   It is much easier to writing a service in managed code using…


Normalized paths are tricky [Brian Grunkemeyer]

A customer recently asked how to compare to see whether two paths refer to the same file, and he wanted to do this using a canonical path name.  This turns out to be a non-trivial problem.  Instead of talking about canonical path names which are somewhat expensive to get, we instead talk about normalized paths,…


A query about providing more managed solutions [Kit George]

In a post to the BCL Website question page, nfactorial inquired if there is a timeline by which the BCL (and the .NET Framework in general) intends to have full support for unmanaged APIs? Nfactorial, we plan ot continue to expand the framework to have more and more managed solutions, and Longhorn will have a…