KeePassRPC 1.8.0 is incompatible: "ResX file Root element is missing."

Confirming that it is Windows 10 Pro 1803 OS build 17134.1
This is officially released and available on the Windows update channel
- and known as the ‘Windows 10 April 2018 Update’

I am not a developer (perhaps, can be considered a power user) but as far as I have checked, this new Windows version has not thrown up any issues with other software that I use.

Since KeePassRPC 1.7.3.0 works fine with this version of Windows - does KeePassRPC 1.8.0 have dependency on a specific version of .NET, that 1.7.3.0 does not have? If so, I can try installing a specific version of .NET to check.

Thank you for your attention to this issue.

That’s the latest version of KeePass and KeePassRPC so it should be working fine (as it does for me on all my machines).

Looking for search results around “ResX file root element missing” seems to bring up issues with .NET or compiling Visual Studio solutions. If you’ve already taken LuckyRat’s advice to update .NET, then I would make a guess that your version of the plugin is unofficial. Unless you specifically chose to rename it to KeePassRPC1.8.0.plgx, the file that’s hosted on GitHub and linked to in the Upgrading KeePassRPC docs should actually be called KeePassRPC.plgx. To be absolutely sure, please check the hashes of your PLGX file and see if they match the following…

MD5: 9D0FAA707EDE47E66681A62B49373468
SHA-1: 66520BC12D54E6090913C0EA64FFAC1DAADB71FC

The file size should be 274,061 bytes. If yours doesn’t match, try downloading the official one again.

If that’s all okay, then it might be a .NET configuration issue and you might need to uninstall all versions of .NET Framework and any associated configuration files stored in your user profile (appdata\roaming etc.) before reinstalling it.

Good luck! :slightly_smiling_face:

Win10 1803 17134.1
KeePass 2.38 does nothing but crash now after the KeePassRPC.plgx plugin was updated by choco upgrade all. I checked the filesizes and hashes and they are nothing like posted here. I am going to download from GitHub and check if your version is digitally signed by a certificate. This is unsigned.

MD5: 9D0FAA707EDE47E66681A62B49373468
SHA-1: 66520BC12D54E6090913C0EA64FFAC1DAADB71FC

PS C:\Program Files (x86)\KeePass Password Safe 2\Plugins\BadPluginsBAD> sigcheck.exe -h -vs -a .\KeePassRPC.plgx

Sigcheck v2.60 - File version and signature viewer
Copyright © 2004-2017 Mark Russinovich
Sysinternals - www.sysinternals.com

C:\Program Files (x86)\KeePass Password Safe 2\Plugins\BadPluginsBAD\KeePassRPC.plgx:
Verified: Unsigned
File date: 2:41 PM 2018-03-26
Publisher: n/a
Company: n/a
Description: n/a
Product: n/a
Prod version: n/a
File version: n/a
MachineType: n/a
Binary Version: n/a
Original Name: n/a
Internal Name: n/a
Copyright: n/a
Comments: n/a
Entropy: 7.995
MD5: 577D6A535280CBACB4E4C25EA6DC7409
SHA1: 144DB628CB9E1A3D6A09A7D93EA6B75A2F80593B
PESHA1: 144DB628CB9E1A3D6A09A7D93EA6B75A2F80593B
PE256: 3355834E4CE9D09D58E3F19F60505B0B06332FCE1F63B5EE908A1DF170192BF9
SHA256: 3355834E4CE9D09D58E3F19F60505B0B06332FCE1F63B5EE908A1DF170192BF9
IMP: n/a
VT detection: 0/59
VT link: https://www.virustotal.com/file/3355834e4ce9d09d58e3f19f60505b0b06332fce1f63b5ee908a1df170192bf9/analysis/
PS C:\Program Files (x86)\KeePass Password Safe 2\Plugins\BadPluginsBAD>

plgx files are not executable so are never digitally signed.

I don’t know anything about choco apart from that it’s a package manager for Windows. I’ve never done anything to enable KeePassRPC to be installable through it so can’t comment as to whether something has gone wrong in their package repository. If they are delivering files that differ from the ones I posted on GitHub, that does sound like something may be broken on the choco side of things though.

An update.

  1. Tried with the newly released KeePass 2.39 and KeePassRPC 1.8.0 doesn’t work and neither does 1.7.3.
    Use this daily and have reverted to KeePass 2.38.
  2. Was informed that Windows 10 1803 has an updated .NET bundled in and so there is no need to instal .NET separately.
    Is there a dependency for KeePassRPC 1.8.0 on a .NET version prior to 4.7.2?
    Thanks. Looking for an update of KeePassRPC, when possible, so I can install KeePass 2.39.

Error message with 1.7.3 (from KeePass 2.39)
1

Error message with 1.8.0 (from KeePass 2.39)

I have the same issue for me. I had to revert to keepass 2.38

@Eric_Duveau Have you also upgraded to Windows 10 1803?

If so, it’s possible the new version of .NET has a bug in it. Has anyone reported the bug to Microsoft yet? They might be able to issue a fix in the next round of patches next month.

I won’t be on a Windows machine for a while now and don’t have access to this 1803 build yet (despite it being “released” it’s not currently available for me and with a potentially serious bug like this, I would have to get hold of a new computer rather than risk breaking the entire development environment of my main PC - not something I can afford at the moment).

I have what seems to be the same problem (though much less verbose) on Arch Linux after updating keepass to 2.39 from repository
39

Considering that @Glomzubuk has reported this issue with Linux - should we consider that this may not be a .NET issue:

Using the same Windows version:
Scenario 1:
With KeePass 2.38:
KeePassRPC 1.7.3 works
KeepassRPC 1.8.0 does not work
Scenario 2:
With KeePass 2.39
KeePassRPC 1.7.3 does not work
KeepassRPC 1.8.0 does not work

It seems likely that there is an issue in the way in which:
KeePassRPC 1.8.0 connects with KeePass 2.38 AND 2.39
(from the error messages, the issue seems to be the same for both KeePassRPS 1.8.0 <-> KeePass 2.38 and KeePassRPS 1.8.0 <-> KeePass2.39)

It seems likely that there is an issue in the way in which:
KeePassRPC 1.7.3 connects with KeePass 2.39
(from the error messages, this issue is different from the one between KeePassRPC 1.8 <-> KeePass2.39)

Hi Lucyrat My PC is on windows 7.

I get the same error message that Padua got on his May 7, 12:54 PM post, EXCEPT I get it with KeePass 2.39 with KeePassRPC 1.8.0.0 (not 1.73 as he did). For me, KeePassRPC 1.8.0.0 would not work with either KeePass 2.38 or 2.39.

However, KeePassRPC 1.4.4.0 works fine with KeePass 2.38, but NOT with 2.39. I have not tested any versions of KeePassRPC between 1.4.4.0 and 1.8.0.0. So before I read this thread, my conclusion had been that the problem was both with KeePass (2.39), and KeePassRPC (1.8.0.0).

I am running Windows 7 PRO (64 bit) SP1, and Microsoft .NET Framework 4.7.1.

Not sure if this helps or confuses the situation, but I thought more ‘data points’ might help lead to a solution.

Harry

Everyone, just to be clear, this topic is only about the error message “ResX file Root element is missing.” I will rename the topic to make this clearer.

In particular, note that generic error messages about KeePassRPC being incompatible are out of scope for this topic. I have already seen a few people pointing out that KeePassRPC versions before 1.8.0 are incompatible with the new release of KeePass 2.39. This is expected. It is in fact the primary reason that 1.8.0 was released. Please upgrade to 1.8.0 and unless you are in the unlucky one or two people with the ResX error message, this will solve any incompatibility errors for you.

If you are running KeePass 2.39 and KeePassRPC 1.8.0 and still see an incompatibility error, please launch KeePass from the command line with the --debug parameter in order to see a more detailed error message. If this message indicates a problem with ResX, please post a screenshot here along with details about your system, if not, please search for other topics about your error message or post a new topic if applicable.

@luckyrat Thanks for renaming this thread to keep the focus. Even with the issues with KeePassRPC 1.8.0 I would like to mention that I have been using KeePassRPC for a long time and find it very very useful. Thank you for writing this plugin.

  1. Since others with older Windows versions are also facing this issue it seems that is not caused by the new version of .NET.
  2. Tried running KeePass 2.39 with the -debug, as suggested by you.
    Highlighting some parts of the error log:

c:\Users****\AppData\Local\Temp\928A9972D4C3F246B8FE1A96157DCE7E\KeePassRPCClient.cs(11,14): error CS0234: The type or namespace name ‘Linq’ does not exist in the namespace ‘System’ (are you missing an assembly reference?)

c:\Users****\AppData\Local\Temp\928A9972D4C3F246B8FE1A96157DCE7E\DataExchangeModel.cs(247,18): warning CS0659: ‘KeePassRPC.DataExchangeModel.EntryConfig’ overrides Object.Equals(object o) but does not override Object.GetHashCode()

Could not attach a .txt file - Also unable to include the full error log text (because the error og provides several links to compiler related resources on MS’ website). Is there a way to DM this to you or email?

Possible resolution method for the root element missing issue:

https://social.msdn.microsoft.com/Forums/vstudio/en-US/2f72793e-62e1-46ce-bfae-8f97eaecd097/invalid-resx-file-root-element-is-missing-error-stmt

@Lex please can you supply the complete error message that you see with KeePassRPC 1.8 on KeePass 2.38 or 2.39 (screenshot if that’s easiest)?

@Padua :

Since others with older Windows versions are also facing this issue it seems that is not caused by the new version of .NET.

It looks like Lex is the only potential other person with the same issue - the others are definitely describing more generic incompatibility errors. Let’s await further info before we reach this conclusion.

That said, I have looked through the changelog and can’t see any known reason to explain this issue.

error CS0234: The type or namespace name ‘Linq’ does not exist in the namespace ‘System’ (are you missing an assembly reference?)

This is very suspicious. Linq has been a core component of .NET for many years and this is not a new requirement in v1.8. For your system to suddenly complain that it is missing may be indicative of a corrupt Windows / .NET installation (as said earlier, .NET is typically bundled with Windows now so faults with .NET are typically resolvable via the same routes as other faults with Windows - Reset to factory defaults, reinstallation, etc.). But let’s not jump straight to that conclusion before we can see if anyone else is suffering with the same issue.

It would also be worth verifying that you’re not somehow running KeePass in a legacy mode which prevents the use of .NET 4+. I can’t recall exactly how to do this at the moment but it’s worth looking into - perhaps you had some sort of customised .NET configuration for KeePass which got overwritten when Windows installed the latest update.

warning CS0659: ‘KeePassRPC.DataExchangeModel.EntryConfig’ overrides Object.Equals(object o) but does not override Object.GetHashCode()

That can safely be ignored.

Is there a way to DM this to you or email?

You should be able to send me a PM (click on my name/avatar and then the Message button).

Possible resolution method for the root element missing issue

Unfortunately, as with all historical mentions of this error I found on Google, it appears to apply to ancient versions of .Net when using the Visual Studio designer tool, rather than the current context of compiling a plgx file.

luckyrat:

@Lex please can you supply the complete error message that you see with KeePassRPC 1.8 on KeePass 2.38 or 2.39 (screenshot if that’s easiest)?

I started a different thread, which you suggested. You can find it, along with the screenshot (which I could not figure out how to attach, so included an link) here:
https://forum.kee.pm/t/problems-with-keepassrpc-1-8-0-0-and-keepass-not-resx-file-root-element-is-missing/1177?u=lex

Lex

1 Like

Could not find an option to PM you (perhaps because I am new to this forum?) If it is ok with you please PM me with your email ID I can send you the full text of the error log. Perhaps you will find some additional info here…

Since there is no issue with any other software that I have installed, not planning to reinstall Windows.

KeePass 2.39 / 2.38 is not running in any legacy mode, that I am aware of. Also did not customize .NET in any way.
Just to recap:

  • KeePass 2.38 is working fine with KeePassRPC 1.7.3 in the new Windows environment.
  • Issue is with KeePassRPC 1.8 with both KeePass 2.38 and 2.39
  • and with KeePassRPC 1.7.3 with KeePass 2.39

To summarise the discussion Padua and I had via PM, we are unable to identify any reason for the ResX error. So far it appears that this is a problem with the configuration or system files on a single computer and may not be reproducible. If anyone else comes across this same error message, please post details of your system to this thread (or PM me with a reference to this topic) so that we can look for any correlations that might indicate the cause of this issue.

The error “The type or namespace name ‘Linq’ does not exist in the namespace ‘System’” can also be ignored because it is the result of KeePass attempting to compile the plugin with an old version of .NET. This is standard KeePass behaviour and the only reason we haven’t seen it before is that it will only be revealed once another error has caused every possible version of .NET to fail compilation.

PS: I’ve also tweaked the forum settings to make it possible to upload more file types and give all users access to PM functionality.

A post was split to a new topic: KeePassRPC.plgx checksums

I have a very similar problem with windows 7 Home premium SP1 and keepass 2.39.1