My blog home…

It’s now on http://concrt.spaces.live.com. concrt was available so as that’s what’s on my mind nowadays, I decided to pick that. This won’t be just about ConcRT!

0

On Windows 7, the Invariant Culture is an installed culture…

Last month, I investigated an issue for an ISV where their code would work fine on Windows Vista but fail on Windows 7. Not very commom! The cause? CultureInfo.GetCultures(CultureTypes.AllCultures & ~CultureTypes.NeutralCultures) returns an array that does not contain the CultureInfo.InvariantCulture on Windows Vista but does on Windows 7. On Windows 7, the Invariant Culture is…

0

How to add the application compatibility section with Visual C++ 2008?

If you wonder what I’m talking about when mentioning the compatibility section, have a look at my previous blog entry. To start with, I added a Compatibility.manifest file to my project: <?xml version=“1.0“ encoding=“utf-8“ standalone=“yes“?> <assembly xmlns=“urn:schemas-microsoft-com:asm.v1“ manifestVersion=“1.0“>    <compatibility xmlns=“urn:schemas-microsoft-com:compatibility.v1“>       <application>          <supportedOS Id=“{e2011457-1546-43c5-a5fe-008deee3d3f0}“/>          <supportedOS Id=“{35138b9a-5d96-4fbd-8e2d-a2440225f93a}“/>       </application>    </compatibility> </assembly>  …

0

The new compatibility section in the Application Manifest

This is still the same Application Manifest that you store in your Win32 Resource or put next to your executable (i.e. “MyExecutable.exe.manifest” ). Under Windows XP, this manifest allowed you to create Isolated Applications and Side-by-side Assemblies. Under Windows Vista, we added the DPI Awareness and execution level for your application. Under Windows 7, we…

0

Consider not using the Frame Pointer Optimization when building your software

Stack tracing is a very useful functionality for tracking both the causes of performance problems and reliability issues. With Frame Pointer Optimization disabled, one can easily build the call chain by walking through the stack frame pointers.   Because of potential code size increase and performance degradation, Independent Software Vendors tend to use the /Oy…

0

UI0Detect, WlS0WndH and a lie…

http://blogs.msdn.com/yvesdolc/archive/2009/09/11/ui0detect-wls0wndh-and-a-lie.aspx   In my prior to last entry, I took a shortcut: your Windows Service user interface can be seen on Windows Vista and still on Windows 7. But beware, it’s not by default, not without additional end user involvement and very likely to no longer be there under Windows 8! It’s all about the…

0

If you develop/test on Windows 7, you might want to turn off the Fault Tolerant Heap…

It might interfere with your testing and after your software has crashed a couple of times, your application might start to no longer behave erratically.   As JohnFrum wrote: “I learned about this feature a few weeks ago while debugging my service.  It had been crashing and then it seemed fixed and I couldn’t repro…

0

Do you still use the MessageBox API in your Windows Service?

Or do you display any type of User Interface? Starting with Windows Vista and above, user interfaces generated by Windows services can’t be seen. And even worst, your service could be stuck waiting for some user input that the user cannot give as she does not see anything! Why did we do that? Well it’s…

0

Do you receive WM_PAINT when waiting for a COM call to return?

When a COM call is made that involves a COM Proxy or a call to CoWaitForMultipleHandles() (e.g. in a .NET Runtime Callable Wrapper), you could see this behavior where you would not have under pre-Vista versions of Windows. We made the design change in Vista, among other reasons, to allow proper painting of the applications…

0

Developing native applications for Windows 7 in C++

A gentleman from Germany asked on one of our forums:   “I am interested in developing native Windows 7 Apps (64 and 32-Bit) with Visual C/C++. How can I do this?”   You’ll first need a C++ compiler. You can find that on the MSDN Visual C++ page.   Then the Windows 7 Software Development…

0