Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

When I install Paint .NET, it creates the Edit in the context menu file for .PNG and other file types. However, when I install ACD See, it suddenly change the program for Edit command. Windows Paint is opened instead of Paint .NET. I also uninstall ACD See, but the Edit command is still executed by Windows Paint.

Please tell me how to change back (I don't want Paint .NET open it for default, I just need the Edit command).

share|improve this question
add comment

3 Answers

up vote 1 down vote accepted

To restore only the "Edit" menu item functionality, edit the registry key

HKCR\pngfile\shell\contextmenu\edit\command\@

and set its value to be

"C:\Program Files\Paint.NET\PaintDotNet.exe" "%1"

(change to wherever you installed Paint.NET)

To restore the file icon and all its associated commands, modify the registry key

HKCR\.png\@

and set it to be

Paint.Net.1

This might not work if there are per-user overrides in place. Look for and delete these registry keys:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.png
HKEY_CURRENT_USER\Software\Classes\.png

See Delete Windows file association using .reg file for details.

share|improve this answer
    
Thank you for your reply. But... the key's value has been already the path to Paint .NET program! But when I choose Edit, Windows Paint still open. Is @ = (Default)? I even create a String named @ and copy the value of (Default) value, but it still doesn't work! –  DatVM Jul 11 '11 at 8:53
    
@ is indeed (Default). Did you try the second option? It is possible that HKCR\.png\@ does not point to pngfile but to some ACDSee entry. Try setting it to either pngfile or Paint.Net.1 –  Soumya Jul 11 '11 at 9:05
    
Yes, its default value was pngfile, and I changed it to Paint.Net.1, but still doesn't work :( –  DatVM Jul 11 '11 at 9:09
    
@W.N. See my edit –  Soumya Jul 11 '11 at 9:17
    
Wow, it works :) Thank you very much! –  DatVM Jul 11 '11 at 10:28
add comment

If it wasn't too long ago, see if the system restore point is still around. There will almost always be a restore point before every install. Otherwise, you can export the relevant parts of the registry, find and replace, them import it back.

Basically, Regedit exports as a text file. You want to export the ".*" keys under HK Classes Root. Then just look for Windows paint (mspaint.exe, I think) and replace it with Paint.NET(no idea the path).

share|improve this answer
    
It's bad that there's no System Restore point before I installed ACD See :( –  DatVM Jul 11 '11 at 9:00
add comment

The Problem

It sounds like you have two apps that both are trying to be the default handler for the same file type(s) and they do not have identical coverage of the available mechanisms exposed by the OS. Furthermore, the install/uninstall of an application has further muddled the settings, possible because it did not properly clean-up after itself during uninstall. You will have to clean these up to reconcile the discrepancies.

GUI Method

Open the Control Panel, then the Default Programs interface, and you should see several options to manipulate the associations between file types and applications.

1) Set your default programs 2) Associate a file type or protocol with a program 3) Change AutoPlay settings 4) Set program access and computer defaults

Set Your Default Programs

For your scenario, I think you might want to start with #1: "Set your default programs". It will take a minute to compile the list of applications, and then display those applications on the left. Select the application that you want to be in control (i.e. when you double click or right-click->Edit) so that it is highlighted. You should now see some information about that application. Assume that you have Paint .NET selected.

Notice the statement "This program has X out of N defaults" (where X and N are numbers). You can briefly switch to the "other" application, say Windows Paint, and take notice of the same statement- "This program has X out of N defaults" (where X and N are numbers).

I think you are saying that you would like one application, say Paint .NET to be the main application for handling PNG files for all verbs. Make sure Paint .NET is selected and then choose the option "Set this program as default". That will assign all of the actions to this application and consequently un-assign any other competing applications.

Associate a File Type or Protocol with a Specific Program

If you still aren't getting the behavior that you desire then you might need to look through the associations defined under item #2 to refine the action that you desire.

Change AutoPlay Settings

This shouldn't really come into play for the scenario you describe, but I just want to share with you my personal preference when it comes to the configuration for this type of functionality. I turn AutoPlay off. I have two reasons that I prefer it that way. First, for security. The AutoPlay functionality has been a key mechanism leverage by criminals trying to install malware onto your system. By turning it off, that attack vector is severely limited. You would, and could, still install an attackers malware if you explicitly ran it, but I suggest you don't do that.

Second, it prevents OS chugging/churning from an application trying to start-up in the background when you trigger one of the AutoPlay hooks. Instead, when you are ready navigate and initiate the application that AutoPlay would have started, but do it manually. This way it starts when you are ready, not as you are trying to finsih something before switching tasks and having AutoPlay interfere with you ability to quickly complete the task at hand to move on.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.