Saturday, December 17, 2011

The filepicker was unexpectedly closed by Windows

I don't know how this started but this error was occurring whenever I try to use Open (common dialog in Windows) command in any application. I first encountered this error when I was downloading a file from my email account and want to save it on my computer. When the time comes to show the dialog to save the file, this error popped up.


Here is its text:
The filepicker was unexpectedly closed by Windows.
(There wasn't any text as message in the dialog box, error message was only showed in the title bar.)

The programs could be Firefox, Notepad, Google Chrome or anything else whichever is using the Open Common Dialog of Windows OS to open a file.

First, I searched on internet to find a solution to this problem but nothing was seeming to work for me. Only 1 solution, I think, should work was to fix the MRU (Most Recently Used) list of Open dialog by editing the registry. Because the problem could have been arose of a path in MRU which is missing on the hard disk. But everything was in Hex codes. So I cancelled to mess with the registry. Then I thought the error would not arise if a path is missing because I must have opened a document (using any app's Open command) from one location and deleted it and then used Open command again; and this wasn't causing any error.

Then I opened Notepad and clicked on the Open command the Notepad crashed and gave me 3 options :
  1. Check online for solution (I clicked it but no solution found which happens in most of case)
  2. Close the application (most of people would do this)
  3. Debug the application
I first tried 2nd option then 1st and then decided to debug it!
I opened it to debug in Visual Studio 2008 and found that there is some problem with the comdlg32.dll file which is used by most of programs to show the Open Common Dialogbox to open files in them. So ultimately I concluded that the comdlg32.dll file must become corrupt. However there was no error occurring for the Save Common Dialogbox (I didn't checked other common dialogs: Color, Font and Print).

So, now I need to replace the corrupted comdlg32.dll with a fine version of it. The problem may get solved just by downloading that file from a DLL download website but it is risky. See here, how it could be risky.

Solution
Windows provides System File Checker (SFC) utility [Windows 98 and all later OS vers.] which checks for corrupted windows files and can replace with original files from the Windows's DLL cache or from the Windows installation disk.

So I opened the command prompt with Administrator rights and issued SFC /SCANNOW command. It checked for all system files and generated a log. I checked the log file and at the end of it, I found that SFC has considered the comdlg32.dll as corrupt.

At the end of the scan process, it showed a message that some files are corrupt but it can not replace them now, a system restart was needed. I restarted my computer and when it was shutting down, the comdlg32.dll file get replaced when the system was displaying message similar to "Please wait... Windows is installing updates.".

After the restart the Open command was working fine.

Saturday, October 1, 2011

Remove the "Invite a friend" box from GMail

The "Invite a friend" box to invite someone to use GMail is there since the inception of GMail in 2004. At that time, the GMail was only available to invited people. The people, who are already using GMail, were only able to invite other e-mail users to GMail. A GMail user was able to send 50 invites. And after using the 50 invites, another 50 invites get available to the user within minutes or hours.

Here is how the "Invite a friend" box looks:

But now GMail is open to all, anybody can register for GMail directly. So the "Invite a friend" is almost useless. Whenever I look at it, it annoys me, irritates me.

But, unfortunately, there is no way provided in GMail settings to remove the "Invite a friend" box. There is no GMail Labs feature available, as of my knowledge and when writing this, providing any option to remove it.

Solution
So I searched on Internet. On a blog, I found someone saying the way to remove this irritating thing using the Adblock Plus (ABP), a well-known Mozilla Firefox and Microsoft Internet Explorer add-on/extension. It is also available for Google Chrome but it in beta stage and not working good enough; also it is not possible to hide the "Invite a friend" box with ABP in Google Chrome.

Another way to remove it is using the GreaseMonkey add-on and use any of the script found at : http://userscripts.org/scripts/search?q=Gmail+Invite+a+Friend.

I will show here the steps to use the Adblock Plus add-on on Firefox to hide the "Invite a friend" box: First of all, open Firefox , go to Adblock Plus website and click on the "Install Adblock Plus" button. Restart Firefox. You should see a button of Adblock Plus somewhere in toolbar. Log into your GMail account. Ensure that the "Invite a friend" box is collapse, as shown in the first image, above. Then follow the following steps:
  1. Click on the Adblock Plus button on the toolbar.
  2. A menu will appear.
    Click on the "Select an element to hide" option from the menu.
  3. A panel will appear at left side displaying some shortcuts to use for selecting proper element.
    Wherever you hover the mouse pointer, the current element will be highlighted with a thick red outline/border.
    Hover mouse pointer over the "Invite a friend" box.

    When you see the "Invite a friend" highlighted AND "div, id: :rc, class: py pr" is shown like a tooltip below it, you should click.
    The tooltip is showing currently-highlighted element's name, id and class. Match your screen with the below image. The "div, id: :rc" is important in the tooltip, other things aren't.
  4. A dialog box will appear.
    Ensure these three things :
    1. "Element hiding rule" is "mail.google.com###\:rc". (The following 2 things are not need to be confirmed if this is correct, because this is based on the below two options.)
    2. "mail.google.com" is selected in the "Bind to domain" group box.
    3. ":rc" is written in the textbox of "id:" and its checkbox is checked.
    After confirming these things, click on the "Add element hiding rule" button in the dialog box.
Now the "Invite a friend" box will not appear.
 

Sunday, August 21, 2011

Texture is too large: 2048x2048, maximum supported size: 1024x1024

The Error:
Texture is too large: 2048x2048, maximum supported size: 1024x1024


I was receiving this error when I tried to start the Angry Birds game on Windows 7 Ultimate x64 and x86 versions. I don't know about other versions of Windows OSes.

I don't exactly know what could be the problem but from the error it is clear that the problem is related with graphics. As Windows 7 versions are mostly automatically install the required drivers for hardware, most of people do not install the graphics and other drivers. That could be one problem. But from some sources on internet, I came to know that Angry Bird is using OpenGL for graphics instead of DirectX; and OpenGL is not pre-configured/installed with Windows 7 installation.

I have a graphics card: nVidia GeForce 9400 GT (1 GB Graphics RAM and 4 GB DDR2 RAM, and LG W1953T 18.5in LCD monitor), and I had installed the drivers from the CD came with the graphics card and monitor. But still I was receiving the error. So, I thought installing OpenGL would work, but didn't found any setup of OpenGL on the internet. On some forums I had also found that downloading and installing latest graphics drivers will solve the problem.


Solution
So I just downloaded and installed the latest drivers from nVidia's website and it worked perfectly. And the same may apply to you, go to your vendor's website and download and install latest drivers.

If you have graphics card then go to the website of the graphics card's vendor.
If your motherboard has on-board graphics, then go to the website of motherboard's manufacturer.
You may also need to update the driver of your monitor.

Wednesday, August 10, 2011

Send Email using WAMP Server

This article is also available at http://blog.techwheels.net/send-email-using-wamp-server/. Please visit it for the latest updates on this article.

When building professional web applications, it is very necessary to test email functionality before deploying the website. It is therefore a requirement for web developers to send emails from their development machine during development process.

Solution
After tweaking with the Apache and PHP's INIs, I succeeded in sending email from my WAMP server.

So, to use PHP Mailer with GMail, ensure the following:
  • IMAP Access is enabled in your GMail's Settings -> Forwarding and POP/IMAP -> IMAP Access:


  • "ssl_module" module in Apache server is enabled:


  • "php_openssl", "php_smtp" and "php_sockets" extensions for PHP compiler are enabled:

I used the following code in PHP file:

require 'class.phpmailer.php';
$mail = new PHPMailer();
$mail->PluginDir = './PHPMailer_5.2.0'; // relative path to the folder where PHPMailer's files are located
$mail->IsSMTP();
$mail->Port = 465;
$mail->Host = 'smtp.gmail.com'; // "ssl://smtp.gmail.com" didn't worked
$mail->IsHTML(true); // if you are going to send HTML formatted emails
$mail->Mailer = 'smtp';
$mail->SMTPSecure = 'ssl';

$mail->SMTPAuth = true;
$mail->Username = "your_gmail_user_name@gmail.com";
$mail->Password = "your_gmail_password";

$mail->SingleTo = true; // if you want to send mail to the users individually so that no recipients can see that who has got the same email.

$mail->From = "your_gmail_user_name@gmail.com";
$mail->FromName = "Your Name";

$mail->addAddress("user.1@yahoo.com","User 1");
$mail->addAddress("user.2@gmail.com","User 2");

$mail->addCC("user.3@ymail.com","User 3");
$mail->addBCC("user.4@in.com","User 4");

$mail->Subject = "Testing PHP Mailer with localhost";
$mail->Body = "Hi,<br /><br />This system is working perfectly.";

if(!$mail->Send())
    echo "Message was not sent <br />PHP Mailer Error: " . $mail->ErrorInfo;
else
    echo "Message has been sent";


To use PHP Mailer on actual online server, you will need to change some of the configurations of PHP Mailer as described on the cPanel like control panel on your actual online server. These configurations would be:
  • $mail->Port
  • $mail->Host
  • $mail->Mailer
  • $mail->SMTPSecure
  • $mail->Username
  • $mail->Password
  • $mail->From
  • $mail->FromName

Tuesday, August 9, 2011

The breakpoint will not currently be hit. The source code is different from the original version.

This was an old error which I was receiving when building an application. At that time I had not started this blog and therefore I hadn't took screen shot of the error. But I had posted this error on forums to get help from others. Here is more detail about the error and solution which worked for me.

I was getting this error in Visual Studio 2005 when starting the debugging (running) a project:


The breakpoint will not currently be hit. The source code is different from the original version.

Because of this error I wasn't able to edit the source code while the application was running in debugging mode.

Solution
I tried almost everything suggested at :
http://social.msdn.microsoft.com/Forums/en/vsdebug/thread/2fd70297-f079-493f-847c-f89198e4eb58
And also looked and tried other threads on the above site and other forums, but at last solved it by manually removing the files in debug directory and then also removing the solution's .SUO file.

I have windows 7 64-bit with Visual Studio 2005, and my project was containing Crystal Reports. I had to set the target CPU type to x86 from solution property and from project property for Crystal Reports to work.

The problem could have been occurred because of target CPU type and/or opening (just opening, not edited) the .SUO file in Notepad to solve the Crystal Reports problem. I had to set the CPU type to x86 because my OS is x64 and Visual Studio will, I think, create an x64 exe, but the Crystal Reports installed on my computer is not for x64 and thus while compiling/running the project, a runtime error regarding Crystal Reports was generated

Monday, August 8, 2011

Exception in module wampmanager.exe at 000F15A0


I was using Windows 7 64-bit OS.  Because of some hardware problem, I had to reinstall the OS. I had then Windows 7 32-bit OS DVD so I decided to test and install 32-bit version. I was using the WAMP Server version 2.1d x64 and it was installed on D: drive and therefore it was safe when I formatted the Windows 7 64-bit. I had previously several times formatted and used the old same WAMP installation without re-installing WAMP server in the freshly installed OS; it was working fine.

But after installing Windows 7 32-bit, time I was receiving this error message:


Problem signature:
  Problem Event Name:          APPCRASH
  Application Name:            wampmanager.exe
  Application Version:         1.6.1.33
  Application Timestamp:       2a425e19
  Fault Module Name:           KERNELBASE.dll
  Fault Module Version:        6.1.7600.16385
  Fault Module Timestamp:      4a5bdaae
  Exception Code:              0eedfade
  Exception Offset:            00009617
  OS Version:                  6.1.7600.2.0.0.256.1
  Locale ID:                   1033
  Additional Information 1:    891f
  Additional Information 2:    891f8ecaa4636eab9d64e12e7ca2b7c4
  Additional Information 3:    fd5c
  Additional Information 4:    fd5c21723f3b200d9ca391af2a52aa45

Read our privacy statement online:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
  C:\Windows\system32\en-US\erofflps.txt

After choosing the "Close the program" button from the dialog box, another message box was displayed:


Application Error
Exception Exception in module wampmanager.exe at 000F15A0.
Could not execute run action:
.

So, I think this happens because I had previously downloaded and installed the 64-bit version of WAMP Server for my Windows 7 64-bit and now I have installed it on Windows 7 32-bit.



Solution
  1. Install the 64-bit Windows OS and keep the WAMP Server's 64-bit installation as it is. --OR--
  2. Install the 32-bit version of WAMP Server on the current Windows 32-bit OS.