tomboy-notes / tomboy

This is the legacy development for Tomboy.
http://projects.gnome.org/tomboy
GNU Lesser General Public License v2.1
126 stars 25 forks source link

Failure to install Tomboy 1.15.9 on Windows 11 #118

Closed lserre37 closed 1 year ago

lserre37 commented 1 year ago

I tried to install many other versions (Tomboy-1.15.7-rc1, 1.15.8), tried to install gtk-sharp-2.12.21 instead of gtk-sharp-2.12.45 but still the same error.

Exception non gérée : System.DllNotFoundException: Impossible de charger la DLL 'libgtk-win32-2.0-0.dll': La procédure spécifiée est introuvable. (Exception de HRESULT : 0x8007007F) à Gtk.Application.gtk_init(Int32& argc, IntPtr& argv) à Gtk.Application.Init() à Tomboy.WindowsApplication.Initialize(String locale_dir, String display_name, String process_name, String[] args) dans C:\MyDocs\dev\tomboy\tomboy-github\Tomboy\WindowsApplication.cs:ligne 64 à Tomboy.Application.Initialize(String locale_dir, String display_name, String process_name, String[] args) dans C:\MyDocs\dev\tomboy\tomboy-github\Tomboy\Utils.cs:ligne 1068 à Tomboy.Tomboy.Main(String[] args) dans C:\MyDocs\dev\tomboy\tomboy-github\Tomboy\Tomboy.cs:ligne 82

Could you help me, please?

PS: I don't want to use tomboy-ng, I prefer tomboy-notes and I have only html files as notes. I used tomboy-notes on my previous PC, on Windows 10. I don't understand why it is not working on Windows 11. :(

Thank you very much.

davidbannon commented 1 year ago

lserre37, I hate to see requests for help go unanswered but I suspect no one else is monitoring this list any more. Sad but true. So, what can I tell you ? Nothing really, my knowledge of gtk on windows is absolutly zero and it was mainly problems doing just that that prompted the Tomboy developers to loose interest in the project. You have probably noticed that there has not been a commit for 6 years ? I'm guessing but suspect that was before Windows 11 ?

Do you really use HTML note files ? Or did you mean Tomboy's xml ? If so, its exactly the same format as tomboy-ng uses. Look and feel, somewhat the same.

David

decriptor commented 1 year ago

@lserre37 I can't make any promises, but if I can find some time maybe I can help you. Did you grab the Download Gtk# from here: https://www.mono-project.com/download/stable/#download-win

I don't think it'll matter if you are on Windows 11. Maybe tomorrow I will be able to try installing it on my machine.

decriptor commented 1 year ago

ok, I decided to give it a quick try and it seems to work on my machine:

image

I do have gtk-sharp installed here: C:\Program Files (x86)\GtkSharp\2.12

I got it from here: https://github.com/mono/gtk-sharp/releases/download/2.12.45/gtk-sharp-2.12.45.msi

image

davidbannon commented 1 year ago

OK, thats pretty cool. Is there any reason we cannot document that on the Tomboy official web page (I think I still have access) ? David

decriptor commented 1 year ago

@davidbannon I think the only "website" was the gnome page. I'm not sure who would have access to that

davidbannon commented 1 year ago

I do, or at least did. Was the only one keeping it going for a while. I'll look up my records when I get a bit of free time. Davo EDIT: yep, my credential still work, will do it this evening !

lserre37 commented 1 year ago

First of all, a very thank you to take my resquest in account @davidbannon , I really appreciate. Thanks too @decriptor to have try (and success) to install Tomboy on Windows 11, I'm so jealous. ;(

Unfortunately, I failed again to install it on my Windows 11 and I don't understand why! I take your version of "gtk-sharp-2.12.45.msi" (with your link), reinstall "Tomboy-1.15.9.msi" but I still have this error:

image

image

I join my Windows information if it could help.

image image

Do you think that I have the good DLL?

image image image

Is there a problem with my environment variables?

The official page tell us to install too "gtk2-runtime-2.24.10-2012-10-10-ash.exe", did you? with or without, I have the same error.

Thank you very much for your help.

Laetitia.

alex-ter commented 1 year ago

I think I remember seeing something like that in the past, but it's been a while, so take this with a grain of salt. The problem IIRC was that the system had several GTK installations available, and that error message saying it can't find it was misleading, it was actually hitting a different copy of the library, but it was older or somehow else incompatible.

What I think you could try is use something like Process Monitor tool from the Sysinternals suite and trace Tomboy startup to see if something like that happens. The trace will show you which libraries it's hitting.

lserre37 commented 1 year ago

Thanks @alex-ter for your suggestion. I downloaded Process Monitor, it looks like very full but I'm not sure to use it correctly. I join a video where I try to look at the DLL called by Tomboy but it disappears and I don't see the DLL called. Could you help with this tool? Thank you very for your help.

https://github.com/tomboy-notes/tomboy/assets/137188077/c6a20d8f-d0f8-4294-9bf7-c610ae8e0d15

lserre37 commented 1 year ago

Sorry @alex-ter , I just realize that you write Process Monitor and I use Process Explorer. I try this one now...

decriptor commented 1 year ago

@lserre37 my initial gut feeling was that there might be issues with your gtk-sharp installs. It might be worth removing all copies of gtk-sharp, environment variables, etc and then re-installing the latest from the link I shared.

davidbannon commented 1 year ago

It might be worth removing all copies of gtk-sharp, environment variables, etc and then re-installing the latest from the link I shared. Unless, of course you have other apps using gtk-sharp. My knowledge of Windows is minimal but I was under the impression that Windows apps look for its necessary DLL in the directory the binary lives. So maybe its a case of copying the appropriate DLL to the right place to ensure thats the one that tomboy uses ?

Davo

decriptor commented 1 year ago

@davidbannon I thought about that and figured it might not matter... But, yeah, that is a valid question. @lserre37 Do you have other gtk-sharp apps installed?

lserre37 commented 1 year ago

I have already remove all gtk-sharp copies and try to reinstall by following the official instructions. No, I have install gkt-sharp only for Tomboy, I don't have any other gtk-sharp apps installed.

I join the DLL call success. dll_call.txt

lserre37 commented 1 year ago

dll_list @decriptor Once again, I uninstalled everything and deleted the environment variables. I then reinstalled your version of gtk-sharp and then Tomboy, but nothing helped.

After the first failure, I copied the dll from the Tomboy directory to the following directories: C:\Windows\System32 and C:\Windows\SysWOW64

It was probably a mistake and I don't have the original dlls anymore. :( Given that the error occurred during the first installation, I don't hold out much hope that it will make a difference, but I think it's worth a try.

Could you tell me which version of the dll "libgtk-win32-2.0-0.dll" you have? Where is it located on your PC?

Little by little, with your help, I hope to correct the problem...

decriptor commented 1 year ago

@lserre37 I'm a bit slammed, but I'm hoping to not do my day job on my vacation later this week. I might be a bit slow at responding, but I'm really hoping to help you get this figured out.

Here is a cool search tool that I've come to not live without :) https://www.voidtools.com/

lserre37 commented 1 year ago

@decriptor Wouhhaaa!! Indeed, it's magical. Thanks for the tip ;)

Don't worry if you don't answer right away, I'm already very happy that you're trying to help me. Thanks again :)

decriptor commented 1 year ago

@lserre37 I'm still digging through things but maybe try removing the TOMBOY_PATH_PREFIX system variable. I have a suspicion that that might be causing problems.

I only have the GTK_BATHPATH and it seems to work. image

decriptor commented 1 year ago

ok, also just found this. Maybe the TOMBOY_PATH_PREFIX is causing problems now? https://bugzilla.gnome.org/show_bug.cgi?id=558314

lserre37 commented 1 year ago

When I deleted the environment variables, I didn't recreate the "TOMBOY_PATH_PREFIX" variable. It doesn't change anything. :(

On the other hand, I've just realized that the message isn't "Couldn't find the DLL" but "Couldn't load it". Do you think the problem can be seen differently????

decriptor commented 1 year ago

@lserre37 Maybe make sure that any TOMBOY environment variable is deleted and also make sure you reboot afterwards just to make sure it isn't still set.

I was also just thinking... Do you have other gtk# based applications installed?

jratcliffe commented 1 year ago

Maybe your regional path prefix is different than the system variables (Programmes vs Program Files)?

Try setting TOMBOY_PATH_PREFIX to: "C:\Programmes (x86)\GtkSharp\2.12\bin"

You might have to do that for GTK_BASEPATH if its manually configured too.

lserre37 commented 1 year ago

Hi @jratcliffe,

I tried to change the path prefix, restart PC but still th same error.

_Exception non gérée : System.DllNotFoundException: Impossible de charger la DLL 'libgtk-win32-2.0-0.dll': Le module spécifié est introuvable. (Exception de HRESULT : 0x8007007E) à Gtk.Application.gtk_init(Int32& argc, IntPtr& argv) à Gtk.Application.Init() à Tomboy.WindowsApplication.Initialize(String locale_dir, String display_name, String process_name, String[] args) dans C:\MyDocs\dev\tomboy\tomboy-github\Tomboy\WindowsApplication.cs:ligne 64 à Tomboy.Application.Initialize(String locale_dir, String display_name, String processname, String[] args) dans C:\MyDocs\dev\tomboy\tomboy-github\Tomboy\Utils.cs:ligne 1068 à Tomboy.Tomboy.Main(String[] args) dans C:\MyDocs\dev\tomboy\tomboy-github\Tomboy\Tomboy.cs:ligne 82

Result of echo $env:PATH: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PuTTY\;C:\Program Files\Docker\Docker\resources\bin;C:\Program Files\Git\cmd;C:\ProgramData\chocolatey\bin;C:\Programmes (x86)\GtkSharp\2.12\bin;C:\Program Files (x86)\GTK2-Runtime\bin;C:\Users\l.serre\AppData\Local\Microsoft\WindowsApps;

@decriptor Here are my environment variables (with Programs instead of Programs Files, but I've tried both). I've tried the @jratcliffe's suggestion but, unfortunately, it doesn't solve my problem.

I have no other gtk# based applications installed. :(

alex-ter commented 1 year ago

@lserre37, one thing that I see wasn't mentioned yet - have you installed the GTK runtime itself (the GTK# piece is a binding between the runtime and the C# application that is Tomboy, it requires the runtime to be installed before that), as per the Windows installation instructions?

Given that you've already made quite a few changes to the environment, make sure to clean everything up (env variables, packages installed, etc) before installing the full set as per the instructions - and do that in the order described on that wiki page, too.

If that still doesn't work, I'd suggest to get back to that Process Monitor idea, that would provide very clear trace of what's going on there.

lserre37 commented 1 year ago

To be sure, I installed image

and here are the log file exported from Process Monitor when I launch Tomboy.

Could you help me please? Logfile_Tomboy.xlsx

jratcliffe commented 1 year ago

Since the error message is still the same, could you make sure that libgtk-win32-2.0-0.dll exists in C:\Programmes (x86)\GtkSharp\2.12\bin and that it matches your TOMBOY_PATH_PREFIX system variable?

if exist "%TOMBOY_PATH_PREFIX%\libgtk-win32-2.0-0.dll" ( echo DLL found! ) else ( echo DLL not found! )

lserre37 commented 1 year ago

Very strange :(

image

image

lserre37 commented 1 year ago

Sorry, dll is found

image

lserre37 commented 1 year ago

Hello,

I'd like to thank you all for the help you've given me. Unfortunately, I can't afford to waste any more time on this subject. I need to be able to use my notepad so I'm going to recreate all my Tomboy notes in Cherry Tree, which looks pretty good.

Since @decriptor was able to install it correctly on Windows 11, we can assume it's a configuration problem on my PC (which was new and freshly installed by my network admin).

Thanks again for taking the time for me. Laetitia.

decriptor commented 1 year ago

@lserre37 Sorry this didn't work out for you. Best of luck with Cherry Tree.

I'm going to close this, but if you ever want to come back to it feel free to re-open the ticket.

lserre37 commented 1 year ago

Thank you very much.

davidbannon commented 1 year ago

hey lserre37, do you mind if i ask why you prefer not to use tomboy-ng ? Anything in particular ?

Davo

lserre37 commented 1 year ago

Hi David,

The main reason I didn't decide to use tomboy-ng is that I had no way of importing my old Tomboy notes which were only in HTML format.

I made very little use of the interface, but tried to recreate one or two notes to see. I found it difficult to manage notepads, and was unable to create several. Mind you, I'll qualify that last statement by admitting that I didn't spend much time looking for a solution to my problem. The aim was to be able to reuse my existing notes.

Since I didn't succeed, and even if it meant recreating all my notes, I finally turned to Cherry Tree, which also allows HTML export (a feature I really liked in Tomboy) but which also lets you insert code zones and tables of contents based on tags. The ability to highlight with different colors (at first, I found this tedious) is actually very useful for identifying different types of elements (code, parameters, file path, etc...).

In any case, thank you sincerely for taking the time to find a solution to my problem. Not all developers would have done this, especially with a more recent version of their tool.

Have a lovely day.

davidbannon commented 1 year ago

Ah, thanks for the feedback lserre37.

I did not understand that Tomboy could read html encoded notes. I thought it can export its xml notes as html (as can tomboy-ng) but not import them back back again. Or so my limited test indicate....

If at any time you want to return to the tomboy fold, it would probably be easy to add an html importer to tomboy-ng, just let me know. And we could then also discuss that difficulty you had with notebooks. I consider myself a reasonable programmer but a lousy UI designer !

Davo

alex-ter commented 1 year ago

I didn't have time earlier to look into the trace, so this is just to close the loop for anyone facing the same problem in the future. Based on the trace, looks like there was a stray copy of the DLL in C:\Program Files (x86)\Tomboy\libgtk-win32-2.0-0.dll, which was loaded first (based on the Windows DLL search order), but the rest of the libraries were loaded from C:\Program Files (x86)\GTK2-Runtime\, and most probably there was some incompatibility between those, which caused that error message.

So I'd say, make sure to remove all the copies created during the troubleshooting, if you ever go down this path.