Monday, May 30, 2011

Java Control Panel Icon "Application Not Found"

Howto: Fix the "Application not found" error in the Java Control Panel icon. These same steps may be useful for other malfunctioning Windows Control Panel icons.
 
In Windows 7, the Java Control Panel icon may be damaged / corrupted. Attempting to launch the icon results in "Explorer.exe : Application not found". Note the generic icon:


When working properly, the circled icon should look like this:



This problem appears to be an artifact from previous JRE installations and Sun's installation routines were flawed.


Re-installing JRE (the Java Runtime Environment) does not resolve the problem.


Immediate workaround:

If needed, the Java Control Panel can be launched manually, even if the control panel icon is missing or corrupt:

C:\Program Files (x86)\Java\JRE6\bin\Javacpl.exe

As a side note, when launching the javacpl in this fashion, other-mouse-click the .exe and choose "Run as Administrator".  Running as Administrator resolves a bug where changes in the Control Panel (especially Auto-update changes) do not stick. This is true even when the icon is working properly. Sun/Java is aware of this issue.


Permanent Solution:

To fix this problem, you need to know the name of the executable that drives the Java Control Panel.  Unfortunately, control panel icons often hide the name of the actual program.  Follow these steps to determine the .exe's underlying name.

If you already know the name of the executable, from above, skip to step 1.
(e.g. Program Files (x86)\Java\JRE6\bin\Javacpl.exe)



A. Determine the name of the program. 

In the Control Panel,"Other-mouse-click" (right click) the failed icon
Click "Create Shortcut".
The shortcut will be placed on the desktop, with no message or other prompts.

B. Locate the new Desktop icon.


"Other-mouse-click"
Choose "Properties"

Note: In this case, the Java Control Panel icon's name will be similar to 'Control Panel\All Control Panel Items\Java' -- which is not the actual executable's name and is not very useful. Most Control Panel icons will not display the target-path and the true name is hidden in the registry.  Continue with the remaining steps in order to find the name. 

C. Discover the actual path by clicking "Change Icon".

If the underlying executable is corrupted or missing, the displayed error message will show the actual path. For example, the Java Control Panel reports "Windows can't find the file C:\Program Files\Java\JRE6\bin\javacpl.exe".

Note the path and filename.
Use this to find the registry value in the next step.


Removing the Control Panel Icon:

Assuming you know the path to the Control Panel's icon (see steps above), use Regedit to fix the malfunctioning key. As always, exercise care when editing the registry:

1. Launch the Windows Registry Editor with a Start, Run, "Regedit.exe"

See this article for how to expose the Windows 7 Run command.

2. Position the cursor at the top of the Registry tree.

3. Type Ctrl-F (find) and search for the executable's name.  Important, when searching, use a partial path, not the full name.

For example, the actual (fully-qualified path name is :
C:\Program Files\Java\JRE6\bin\javacpl.exe).

In this case, search for this partial string:
"\bin\javacpl.exe" (no quotes)

Searching for a partial string avoids problems with 'Program Files (x86)' vs "Program Files" or 'JRE5', etc..

4. Expected Find Results:

For the Java Control Panel, expect to find this registry key GUID:

HKEY_Classes_Root\CLSID\{4299124F-F2C3-41b4-9C73-9236B2AD0E8F}

Be sure this key is within "HKEY_Classes_Root\CSLID" and not in another location in the registry. 
Confirm by opening the key; you will see javacpl.exe lurking within.

5. Delete the top-folder {4299124f...E8F} and all items within.

Do not delete the CSLID folder.
Close Regedit.

If the "MuiCache" or "Wow6432Node" key is found, you overshot the CSLID key. Confirm you started the search at the top of the tree. If you still cannot find the key, do not continue with the rest of this article.


Test the results:

Close and re-open the Windows Control Panel.

The 'generic' Java icon should be replaced with a properly-formed Java icon and the control panel icon should behave properly.




If the control panel still mis-behaves, consider re-installing the JRE or see the registry-merge below.


The Correct Registry Key:

The above steps should resolve the conflict and no further action is required.
For documentation, here is the correct key (with JRE6).   You can run this registry merge by hand, bypassing the steps above.  Note the registry-merge uses the same GUID key and it overwrites (does not delete and re-install) the key.  

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{4299124F-F2C3-41b4-9C73-9236B2AD0E8F}]
@="Java"
"System.ControlPanel.Category"="8"
"InfoTip"="@C:\\Program Files (x86)\\Java\\jre6\\bin\\javacpl.exe,-2"

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{4299124F-F2C3-41b4-9C73-9236B2AD0E8F}\DefaultIcon]
@="C:\\Program Files (x86)\\Java\\jre6\\bin\\javacpl.exe"

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{4299124F-F2C3-41b4-9C73-9236B2AD0E8F}\Shell]

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{4299124F-F2C3-41b4-9C73-9236B2AD0E8F}\Shell\Open]

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{4299124F-F2C3-41b4-9C73-9236B2AD0E8F}\Shell\Open\Command]
@="C:\\Program Files (x86)\\Java\\jre6\\bin\\javacpl.exe"



Re-Installing Java:
This article is not recommending a re-install of Java to fix this problem (the author found it did not help), but from reader comments below, many have attempted to re-install.  Be aware if you do, be sure to install the 32-bit version of Java -- even if you have a 64-bit operating system.

Reader Ronald Arnold, Germany, reported installing the 64-bit version of JRE, followed by the 32-bit version caused this problem.  I am sure he is correct, but in my case, I have never installed the 64-bit JRE -- I suspect there are multiple causes for this control-panel icon problem.


Other Control Panel Icons:

If you are searching for other non-Java Control Panel icon problems, this registry key may be of interest:

HKLM\Software\Microsoft\Windows\CurrentVersion\Control Panel\CPLs.

Be aware the Java Control Panel does not live in this location. Only a few system control panels live here but I could imagine other vendors sticking something in here.

Your unregistered comments on this article are welcome.

Related articles:
Streamline Windows 7 Start Menus
Turn off UAC Nags on Start Menu Items
Recommended Win7 Explorer Changes

Related Links:
I have not used this utility, but in the event of a complete java failure, this link may be of interest:  Completely uninstall all Java using a beta product called JavaRA:


Keywords:
Java control panel, java.cpl, javacpl.exe, JRE

Wednesday, May 18, 2011

HP External USB 3.0 Drive

Non-technical review of an HP 750GB portable USB hard drive.

I now have 5 computers at home and for the past several years, I have used Acronis True Image Home to back them up, using a Keyliner-reviewed Maxtor 250GB external USB hard disk to hold the images. Last week, I ran out of space. 250GB apparently is not as big as it used to be.

The replacement drive is an HP 750GB USB2.0/3.0 external drive and it was chosen strictly on price, being on sale at Best Buy. Physically, the disk is slightly larger than a deck of cards.

750GB $80
1TB (1000 GB) $120

I decided on the smaller disk, figuring by the time I needed a Terabyte, 6T drives will be on sale for a similar price and I might as well save a little money. Of interest, this works out to $0.11 (cents) per Gigabyte. (Old-timer warning: I remember when disks were $1.00 per megabyte and that was a great price.)

Although it is a laptop drive, it can be used on both desktops and laptops and does not require a separate power cable -- making it easy to move from machine to machine. The drive includes a short 45cm (14") data cable, backup software (which I ignored because I like Acronis) and a cardboard box.

Benefits:
  • Small
  • Silent
  • USB 2.0 and 3.0 compliant
  • Short USB cable (convenient for laptops)
  • Inexpensive
  • 2yr Warranty
  • Pre-formatted NTFS
  • Literally, no setup - plug in and use

Drawbacks:
  • No drive-activity light (correction: Drive activity light on back side)
  • USB cable may be too short for some desktops
  • Shiny-black plastic case; easily scratched; fingerprints
  • Feels cheap when compared to my previous Maxtor drive
Complaints? - None.

The drive is literally plug and play. A 2-year warranty is nice; tape the receipt to the box and store in a closet in case it is needed. Being USB 3.0 capable means as I buy newer computers, the drive's performance will improve.

Of interest, USB 3.0 has yet-again, two new cable standards:



Update 2011.10
I plugged this disk into a new laptop with USB 3.0 for a disk image.  Oh my gosh, was it fast.  I think it was about 36GB in under 1 minute.


Related articles:
Acronis 2010 Step-by-Step
Disk Cleanup Steps (highly recommended before backups)
Fixing slow USB Backup Speeds in Windows 7

Sunday, May 1, 2011

Securing Windows 7 from Offspring

Commentary and How to: Lock down a child's computer.

My youngest daughter nonchalantly said, "Dad, my laptop is infected with a virus." This is the first time this particular child had trashed the machine and 3 years was a good run without major problems. This made me wonder about the wisdom of giving her administrative rights on the computer.

The Virus
When the virus attacked, both Vista and Windows 7 prompts with permission screen (UAC - commonly called the Nag). The virus presents itself by enticing the victim with a game or some other program of interest. Most people will see the UAC Nag screen and click "Allow." You've probably done this yourself -- clicking Allow -- without giving it a second thought. In other words, people purposely install the virus, not realizing the payload.

Here is the sneaky part: The virus installs the program you want (usually a game), then it slips-in the malware -- where it waits a few days before showing itself. This way you won't remember where you caught the bug.

Especially with Vista, many computer owners disabled the UAC and they get their viruses installed automatically, without any prompts. Disabling UAC is somewhat foolish but at the same time the feature is useless if everyone mindlessly clicks Allow. My rule is simple: do not allow any program to install itself from the web unless you are confident of the vendor. How much you pay for the content is an indicator on how safe it is; free may not be safe.

Administrator vs Standard Users


As I looked at my daughter's computer, I realized it was running an ancient copy of A-VG anti-virus (no longer recommended) and was behind in other maintenance. It was also running Windows Vista. Rather than clean the virus, I decided to salvage the data, format the hard disk and install Windows 7.

With Windows 7, I contemplated a change to security. Windows allows users to be an "Administrator" or a "Standard User". By default, Administrator gives the user near-full control of the PC. Because my daughter had administrator rights, she was free to do as she pleased.

What would happen if I changed her to a Standard User? For a child's computer, this may be a good solution. With a non-administrative account, when she attempts to install an application, by accident or by design, she will be presented with an Administrator's login and cannot proceed. When the administrator logs in, they will be presented with the UAC nag, as expected. Doing this essentially locks-down the PC. This design works in Windows Vista and Windows 7, but does not work well in XP.


The Setup

Follow these steps to configure a child's secured desktop.

1. Ideally and optionally, install all needed programs, service packs and other updates, getting the computer into a good state before setting new security.

2. Important - Build an Administrator Account:

Before doing any of this work, you must make a new Administrator's account -- one where you do not tell the child the password. You must complete this before locking down the child's account or you will lock yourself out of the computer. You can make more than one administrator's account, if desired.

a. Start, Control Panel, User Accounts, "Manage another Account"
b. Click "Create a new Account"
c. Name the account "Admin" (or other name); mark as "Administrator"
d. Click the newly-created account; choose "Create a password". Be sure to fill out the password hint; this is a password you do not want to loose.

3. Login to the new account:

a. Click Start, (Shutdown: submenu); "Log off"
b. Login as Administrator

4. Change the child's account:

a. Start, Control Panel, User Accounts, "Manage another account"
b. Select the child's account
c. "Change the account type"; set to Standard User.

Results:
Your child will be prompted for an administrator's account before he can install any software or make any system-wide changes. If you were wise, you would not tell them the password. You can log in any time and install things as you-please.

Windows system updates will still run as-before (if set to automatic, they will install on their normal schedule), but applications will prompt for permission before updating, which can be a nuisance. Because of this, you should periodically login to the device and complete various updates for Java, Firefox, etc.

Update:

I still recommend these changes for children's accounts.  But with this said, my Niece managed to install a new virus, even though she was a defined as a standard user.  I am still trying to determine how she did this.  But there was one bright side to this setting, the virus was not able to install itself in all of the places it would normally have rights.  I suspect the cleanup was a easier than it would have been otherwise.

Finally, one closing note: Having a backdoor administrative account -- even if it is different than your own personal administrative account, is useful for cleaning some of the more simple viruses your machine might catch. Simple viruses may only infect the current user and the backdoor account is one way to clean up the mess.


See these Keyliner articles for other virus articles:
Microsoft System Sweeper - Bootable Antivirus - Highly Recommended
Removing Win32 Cryptor
Removing Win7 Anti-Virus
Removing Personal Security Virus
Securing Windows 7 from your Children
Microsoft Security Essentials