How to disable the pop up that Windows shows when an app crashes

Hi all, The other day a customer of mine was trying to disable the pop up dialog that Windows shows after an application crashes. On Windows XP, they could get rid of it by going to “Control Panel > System Properties > Advanced > Error reporting”, clicking on “Disable error reporting” and disabling “But notify…


Big delay when calling X509Certificate2 constructor

Hi all, The other day a customer of mine was experiencing big delays when making this kind of calls to X509Certificate2 constructor: X509Certificate2 cert = new X509Certificate2(byteArray); Sometimes this process was almost instant, sometimes it took up to 2 minutes to create the object!!! During the reproduction of the issue, CPU usage was very high….


How to set sound volume programmatically

Hi all, From time to time I like to post about other issues which are not related to crypto stuff, but I consider useful because of the number of request I get on them. And this is one common question I’ve seen: how do I set sound volume programmatically on Windows? On Windows XP we can manipulate audio settings…


Access Violation exception when loading a certificate in .NET (Windows Server 2003)

Hi all You may get an Access Violation exception when loading a certificate into a X509Certificate2 object, only after installing KB 938397 hotfix (crypt32.dll v5.131.3790.4095) at Applications that use the Cryptography API cannot validate an X.509 certificate in Windows Server 2003. Note that the issue won’t happen with Windows Server 2003 SP2 version of crypt32.dll…


X509Certificate creates temporary files which are never deleted

Hi all, When creating an X509Certificate object in your .NET application (“X509Certificate cert = new X509Certificate(certBytes);”) you may see that two 0kb files are created in the Temp folder of your Windows Server 2003, and are never deleted. After creating many of those objects the Temp folder fills up and the app won’t function properly. The…


SubAuthentication package gets Zero LogonId

Hi all, The other day I worked on an issue related to a SubAuthentication package that one of my customers had developed. One of the things that package was doing was getting the LogonId field of the LogonInformation struct being passed to Msv1_0SubAuthenticationFilter method by the Authentication package. This SubAuth package had been working fine…


Controls won’t get resized once the nesting hierarchy of windows exceeds a certain depth (x64)

Hi all, welcome back, I’ve been working on an issue where WM_SIZE events are not properly generated once the nesting hierarchy of windows exceeds a certain depth. This issue only occurs on current x64 Windows: like XP, Server 2008 or the latest Windows 7. For ilustration purposes, let’s imagine we have a C# application which creates…


NdrClientCall2 fails with RPC_S_ALREADY_LISTENING when using pipes over ncalrpc

Hi all, I’ve been working on a Microsoft Remote Procedure Call (RPC) issue recently, where the first call to a specific remote method fails because the call to NdrClientCall2 function in the client stub returns RPC_S_ALREADY_LISTENING (“The server is already listening”) error. But subsequent calls to the very same method succeed. The following CONDITIONS are required to reproduce the…


Security Warning dialog box is displayed when you try to silently install a hotfix or an update

Hi all, You may be trying to install a hotfix or update silently, but you keep getting a security warning dialog because the file was downloaded from the Internet. The following article explains this situation: 889815 The Open File – Security Warning dialog box is displayed when you try to silently install a hotfix or…