microsoft / XmlNotepad

XML Notepad provides a simple intuitive User Interface for browsing and editing XML documents.
https://microsoft.github.io/XmlNotepad/
MIT License
989 stars 207 forks source link

Error message when opening SVG files #392

Closed tolleif closed 3 months ago

tolleif commented 4 months ago

When I open a SVG file from the XML Notepad menu the files open fine (although a bit slow but that's not important).

I would like to open any SVG file from Windows Explorer by right clicking and Open With... XML Notepad. But when I do I get an error message: "Windows cannot access the specified device, path, or file. You may not have the appropriate permissions to access the item." If I open the same SVG file from XML Notepad File open it works fine (path & permissions are ok).

I classified this as an error and not feature request since the error message is not correct.

tolleif commented 4 months ago

Update: I har installed XMLNotepad with the winget option. I realized I got the same error message when opening XML files from Explorer. I uninstalled with winget. I then installed with the standalone installer https://lovettsoftwarestorage.blob.core.windows.net/downloads/XmlNotepad/XmlNotepadSetup.zip

Now both XML and SVG files opens fine in XMLNotepad.

Possibly there is an issue with the winget variant only.

This report is for XMLNotepad v 2.9.0.10 I'm running on Windows 10 22H2

lovettchris commented 4 months ago

Thanks for the bug report, I just tried it using 2.9.0.10 and it worked fine for me. Are the .svg files in a protected location by any chance? This is what I tried:

tolleif commented 4 months ago

Hi Chris, I uninstalled XL Notepad (standalone) and reinstalled with winget: winget install Microsoft.XMLNotepad Found XML Notepad [Microsoft.XMLNotepad] Version 2.9.0.10 This application is licensed to you by its owner. Microsoft is not responsible for, nor does it grant any licenses to, third-party packages. Successfully verified installer hash Starting package install... ██████████████████████████████ 100% Successfully installed

When I open within XMLNotepad menu "Open" G:\tmp\XMLNotepad\dgml\demos\ConditionalStyles\set.svg

The file opens fine. If I right-click on the set.svg file in the explorer window and select Open with -> Microsoft XML Notepad then I get the same messagebox error "Windows cannot access the specified device, path, or file. You may not have the appropriate permissions to access the item."

I uninstall with winget uninstall Microsoft.XMLNotepad

The reinstall from XmlNotepadSetup.zip (standalone 2.9.0.10)

I go with windows explorer to G:\tmp\XMLNotepad\dgml\demos\ConditionalStyles\ If I right-click on the set.svg file in the explorer window and select Open with -> Microsoft XML Notepad "C:\Program Files (x86)\LovettSoftware\XmlNotepad\XmlNotepad.exe"

The set.svg file opens fine in XML Notepad

I use winget regularly to install and update applications without any problems.

But if this works fine on your machine there must be something wrong in my Windows installation. I think you can close this issue. Thank you very much for your efforts.

The XML Notepad is awesome by the way :)

Best regards, Tolleif

lovettchris commented 4 months ago

Thanks for going through all this testing and reporting what you found, it is very useful. But I think you have a misstep on the winget version of XML notepad when you wrote this:

Open with -> Microsoft XML Notepad then I get the same messagebox error "Windows cannot access the specified device, path, or file. You may not have the appropriate permissions to access the item."

I think it found an old sale entry for "Microsoft XML Notepad" that didn't exist any more. When you use the winget version the Windows Open-With dialog cannot find it which is why I listed the extra steps, let me make it more clear:

  1. launch XML notepad and open a sample from the help menu
  2. Copy the path to XmlNotepad.exe which is something like this: "C:\Program Files\WindowsApps\43906ChrisLovett.XmlNotepad_2.9.0.10_neutral__hndwmj480pefj\Application\XmlNotepad.exe"
  3. open the demos\ConditionalStyles folder in Explorer
  4. right click one of the .svg files and select "open with"
  5. select "choose another app" at the bottom of this menu
  6. scroll to the bottom of the next popup menu and select "choose an app on your PC"
  7. Now paste in the full path to XmlNotepad.exe from step (2)

Now windows knows how to find your winget installed version. Unfortunately notice this windows app path is version specific so you will have to repeat this step each time you update to a new version. I probably should provide an admin tool that does all this for folks...

clovett commented 3 months ago

Closing issue to to lack of answer, but I think this one is a case that Windows does not automatically update the "Open With..." menu to point to the newly installed app, so you have to manually fix that using the Windows default apps settings page.