Mremoteng: After upgrade from 1.74 to 1.75b1 components check spawn upon connection window and can't be closed

Created on 17 Nov 2016  路  31Comments  路  Source: mRemoteNG/mRemoteNG


After i have upgraded from 1.74 to 1.75b1 the components check spawns inside the connection view'ish.

Problem is that it can't be closed or resized. which is kinda annoying...
image

|--:|---|
|Operating system | Windows 10 x64 |
|mRemoteNG version| 1.75 aplha 3 |

Bug

All 31 comments

That's really weird...

Help - > about should show a tab with a close button for both the components check and the about window. That should allow you to close it. Or you can then drag the components check tab to re-place it accordingly.

You can also try view - > reset layout. But I don't think that impacts the components window.

This type of oddness will ultimately be fixed by #155

More observations:

If Tools -> components check -> help -> about ; press close button for both components:
unhandled exption
image

If Tools -> components check -> View -> Reset layout:
unhandled exeption
image

Lets keep this bug open until #155 is fixed to verify functionality is ok by then. As this is a beta release we can live with the functionality that you should close mRemoteNG to get those messages away.

That is a very odd bug.

The last exception screenie you posted is something we usually see when there are missing RDP KBs. Can you confirm if you are able to connect via RDP successfully? Relevant article: https://github.com/mRemoteNG/mRemoteNG/wiki/FAQ#mremoteng-crashes-with-the-error-class-not-registered-when-trying-to-connect-using-rdp

If it's not RDP causing it, then I think we are discovering a new prereq we may need to package with the installer.

I have just tried to connect via RDP to a test VM in azure without any problems.

Is there any log files i can provide?

Yea, log files would be great.

Here's an article on how to collect them: https://github.com/mRemoteNG/mRemoteNG/wiki/Troubleshooting-and-Logging

Someone else in my office was able to replicate the CLASSNOTREG exception when trying to close the components window.

I'm not able to reproduce any of this... 馃槙

I haven't been able to reproduce on my machine either. I'm guessing there's something about our dev environment that is not being distributed with the binaries as required. Might even been an installer bug, tbh

@theWoodman Could you please provide the full text of the exception within the window?

Full text from exception window:
full_error_175b1.zip

logs for reference:
mRemoteNG.log.zip

This seems to be happening due to the client not having Citrix Receiver installed. This is not a mandatory prerequisite to have installed. It seems that the component check window is not handling the errors as gracefully as it should be.

Investigating possible fixes now.

Would it be a possibility from the components check to "download and deploy" the prereqs that you might need now?
Sure the app should pop up and ask if you need a specific prereq...

We could add that in i suppose, but it's mostly just there to tell you if optional components are installed or not. The Citrix Receiver component is only needed if you want to use ICA connection types - the rest of the app should work just fine even if that component isn't installed.

It's odd that the app is having troubles with this now. I didn't think we made any changes to this part of the codebase.

maybe it's possible to copy the dll thats needed for ICA connection's into the app dir?

@sparerd see of you can just build a new release based on my last commits. Just grab the mRemoteNG.exe's and attach them to this bug for validation... I moved the ica (and rdp) into a using. Thus may help. However... Now that I'm thinking about it more... Make sure the using is within the try block. I would think this would take care of it.

If you attach the eye's, one release portable and one release - not sure if anyone in this is reporting in a specific build... Anyone willing to test can rename the existing and replace with the updated one. Then we can issue a beta 2. Which will be a good test of the update checks.

wafflebot autoclosed the issue... didn't want that quite yet

The resolution was to move the using directive which instantiates the AxIca control into the try block.

@jumoog unfortunately not - it's all done through COM classes, so we only have interop DLLs for ICA.

@theWoodman Here is an updated mRemoteNG.exe (portable edition). Just overwrite the current .exe in your mRemoteNG folder. If you are using the installed version, let me know and I can compile that one instead. If this fixes it, we'll do an official beta2 release.

mRemoteNG exe _ #254 fix 1.zip

EDITED: see comment below.

Hi sparerd,

I've tested the latest update you made and still experiencing an issue. Using portable version. I'll outline two encounters below.

1st encounter (9:30am MT today; using work laptop)
Opened a new connection using "Connect:" toolbar at top in the attempt to remove the 'component check' window. Logged into server and finally saw tabs at the top. Tried to switch to 'component check' window and error window popped up.
issue254.zip

Also, if possible, please include a handlebar or close window button for the 'component check'.

2nd encounter (1800 MT today; using home desktop)
Encountered similar error after updating my exe from your last post. Performed same actions as 1st encounter except when i select SSH2 protocol and click the button, I get the error.
254error2.zip

You can choose to have panels always display their tabs by going to Tools -> Options -> Tabs & Panels -> Always display tabs

Ok, ill have to check it again tomorrow. Their may be more things to fix.

This is still an issue... I can still replicate if the test machine does not have Citrix Receiver installed. Still investigating.

Don't you wish we removed ica now? :smile:

After significant hunting, I found the commit that introduced the error: 6d1fa47

Still need to figure out what exact change created the issue, but at least the field is narrowing.

The bug occurs due to the Parent property of the AxICAClient being set during object initialization using the format:

var ica = new AxICAClient {Parent = this};

Splitting this up into 2 statements resolves the bug:

var ica = new AxICAClient();
ica.Parent = this;

(The current production code is slightly different, but you get the idea.)

Everyone that has been experiencing the issue, please test this new exe (it's portable edition). Replace the exe in your portable edition folder with the one provided below.

mRemoteNG exe_#254 fix 2.zip

Nice work! Unable to replicate the issue. Tabs show up properly and able to switch between them with no issues.

Thanks for confirming @nqnguyen2
@theWoodman let me know when you are able to test as well. Once this issue is closed we will release a beta2 version with the few bug fixes that have been completed.

It seem to work.

Great - closing issue as resolved. Thanks everyone

Was this page helpful?
0 / 5 - 0 ratings

Related issues

PCNerd2001 picture PCNerd2001  路  3Comments

nerddtvg picture nerddtvg  路  3Comments

pfjason picture pfjason  路  4Comments

kmscode picture kmscode  路  5Comments

sparerd picture sparerd  路  4Comments