0

------------------------------------Update------------------------------ I tried the solution in the first answer, however, since there are Hash under user choice, it won't allow me to edit the value to foxitreader.document


I installed a PDF viewer app called FoxitReader. I can define it as the default pdf viewer app in the settings , but I cannot set it by editing the Registry.

I tried with: HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/FileExt/.pdf

enter image description here enter image description here enter image description here

I also tried HKEY_CURRENT_USER\Software\Classes\MIME\Database\Content Type\application/pdf and set the CLSID to the CLSID of FoxitReader.Document,

Or Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes.pdf\PersistentHandler with the CLSID

or HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.pdf

Those do add this app into the Open list, but none of them can set FoxitReader as the default PDF viewer.
When I double click the pdf file, it still ask me to choose an app to open it instead of opening it directly in FoxitReader.

How could I set it as my default PDF viewer app in the Registry?

5
  • 1
    So you're just creating a problem where there isn't one... Just because? – Outdated Computer Tech May 23 '19 at 23:58
  • 1
    @Sickest There must be some way of setting it in the registry because after I installed Adobe, Adobe automatically become the default pdf app. But I don't know how does adobe do it but it definitely edit the registry. – beasone May 24 '19 at 0:00
  • "Adobe automatically become the default pdf app." I don't believe that to be the case, All programs ASK YOU if they can be the default program. It's been that way for a long time. But let's assume what you say is true. Change the default program BACK to Foxitreader. With the Open As... Always use this program... Feature. – Outdated Computer Tech May 24 '19 at 0:03
  • 1
    what I said is true. If I didn't set any default program and the adobe is installed, it is using adobe, so I have to uninstall adobe. then it never use any program to open it as default util I set it in the settings. but what I need is to set it in the registry. – beasone May 24 '19 at 0:07
  • I wonder how the accepted answer works. I think it doesn't, and it may be misleading to accept it. I posted an alternative answer. – sancho.s ReinstateMonicaCellio Dec 3 '20 at 6:42
2

The default application is in HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoice . As you state, OpenWithList gives all the choices registered for this filetype. In the example below, it points to PDFXCview.exe, rather than Foxit.

Note that Applications\PDFXCview.exe uses indirection, not the absolute path to the executable. Applications\PDFXCview.exe, in turn, is defined in HKEY_CLASSES_ROOT\Applications\PDFXCview.exe and referenced in \HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts. A similar association should be set for each installed application, including Foxit.

PDF default application

You might look at Nirsoft's FileTypesMan to explore the file type associations, which can help point you to the correct Registry keys.

3
  • I just tried, but because it has the "Hash", if I was trying to edit the Progid to FoxitReader.Document, it won't allow me to do that. – beasone May 24 '19 at 0:32
  • Under "UserChoice", there are three keywords, Default, Hash and ProgId. The value of Hash is generated by Username and the ProgId. So if I edit the Progid, it will tells me that I cannot edit it since windows will check whether the value matches the value in the "Hash". I checked online, seems like for security reason, after window anniversary update, windows doesn't allow the thirty part program to change it. winhelponline.com/blog/windows-10-resetting-file-associations – beasone May 24 '19 at 16:04
  • 1
    See the second answer in social.technet.microsoft.com/Forums/en-US/… – beasone May 24 '19 at 16:08
1

I know this an old question, but thought I would contribute an answer anyways. You can change the default program under the HKCR (HKEY_CLASSES_ROOT) registry hive.

Under HKCR, locate the registry key for the file extension you are intersted in (.pdf). Under that key should be a string value named "(Default)". Open that value to specify the program ID of the program you want to be the default app for that file type.

For example: to specify the default for .pdf as Foxit Phantom, you want to use Foxit's program ID which is "FoxitReader.Document". To change to Adobe Acrobat, it's "AcroExch.Document.DC".

Quick tip - each filety key will contain a subkey named "OpenWithProgids". The registry values listed under that subkey will represent all the prog IDs registered to open that extension. (i.e. under .pdf you should see FoxitReader.Document, AcroExch.Document.DC, and any other PDF reader/editor software you have installed.) This isn't necessarily a comprehensive list of all programs you could use - but it's a good start and should contain the programs that are safe to use.

0

In the accepted answer, it is implied that one should change the data for the registry value ProgId in key HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoice. This would not work, since in Windows 10 the default application is protected by a Hash value, which changes upon each change in UserChoice.

One way of circumventing this is by using the SetUserFTA utility, as described here. The command line would be

> SetUserFTA.exe .pdf Applications\PDFXCview.exe

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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