note: that's an old thing.. the msi needs updating.
it checks for existing SOFTWARE\Novell\GtkSharp\Version (default data)
while gtk-sharp (https://github.com/mono/gtk-sharp/releases) now days actually writes to HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Xamarin\GtkSharp\Version (default data).
it results with the installer showing a warning and closing..
(note:
the WOW6432Node is because the dll files are compiled as x86 although it should not matter too much.. gtk-sharp also writes system environment settings GTK_BASEPATH with the value C:\Program Files (x86)\GtkSharp\2.12\
)
I suggest removing the pre-check all together,
or extend the checks to above reg-key, with and without the WOW part,
(just in-case future versions will include x64 builds).
my workaround is the following registry file that includes couple of redundancies..
it allows users to install mono-develop in various systems and variations.
Windows Registry Editor Version 5.00
;run this after installing GTK. it will not register assemblies just help you to install mono-develop.
;this will help you install stuff that needs GTK.
;version and install folder can be string, or keys where the default value contains the data,
;there is novell as well as xamarin variation,
;there is also `HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node` and `HKEY_LOCAL_MACHINE\SOFTWARE\` variation.
;
; by default that's the only entry for the newer GTK.. but it won't work with the setup of mono-develop.
; ---------------------------------------------------------------------------
; Windows Registry Editor Version 5.00
; [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Xamarin\GtkSharp]
; [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Xamarin\GtkSharp\InstallFolder]
; @="C:\\Program Files (x86)\\GtkSharp\\2.12\\"
; [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Xamarin\GtkSharp\Version]
; @="2.12.45"
; ---------------------------------------------------------------------------
;
; EladKarako January 2023.
;-------------------------------------------------------------- novel normal.
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\GtkSharp]
"Version"="2.12.45"
"InstallFolder"="C:\\Program Files (x86)\\GtkSharp\\2.12\\"
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\GtkSharp\InstallFolder]
@="C:\\Program Files (x86)\\GtkSharp\\2.12\\"
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\GtkSharp\Version]
@="2.12.45"
;-------------------------------------------------------------- novel wow64.
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Novell\GtkSharp]
"Version"="2.12.45"
"InstallFolder"="C:\\Program Files (x86)\\GtkSharp\\2.12\\"
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Novell\GtkSharp\InstallFolder]
@="C:\\Program Files (x86)\\GtkSharp\\2.12\\"
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Novell\GtkSharp\Version]
@="2.12.45"
;-------------------------------------------------------------- xamarin normal.
[HKEY_LOCAL_MACHINE\SOFTWARE\Xamarin\GtkSharp]
"Version"="2.12.45"
"InstallFolder"="C:\\Program Files (x86)\\GtkSharp\\2.12\\"
[HKEY_LOCAL_MACHINE\SOFTWARE\Xamarin\GtkSharp\InstallFolder]
@="C:\\Program Files (x86)\\GtkSharp\\2.12\\"
[HKEY_LOCAL_MACHINE\SOFTWARE\Xamarin\GtkSharp\Version]
@="2.12.45"
;-------------------------------------------------------------- xamarin wow64.
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Xamarin\GtkSharp]
"Version"="2.12.45"
"InstallFolder"="C:\\Program Files (x86)\\GtkSharp\\2.12\\"
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Xamarin\GtkSharp\InstallFolder]
@="C:\\Program Files (x86)\\GtkSharp\\2.12\\"
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Xamarin\GtkSharp\Version]
@="2.12.45"
as well as adding a system environment variable GTKSHARPVERSION with value of 2.12.45 .
which will make the installer find the GTK and continue the installation.
I've actually been using "msiexec.exe" /a "C:\Users\Elad\Desktop\MonoDevelop-7.8.4.1-x86-Debug.msi" /qb TARGETDIR="C:\Users\Elad\Desktop\MonoDevelop-7.8.4.1-x86-Debug\" INSTALLDIR="C:\Users\Elad\Desktop\MonoDevelop-7.8.4.1-x86-Debug\"
to extract the whole msi, and located the entire thing to a disk-on-key,
and just running MonoDevelop\bin\MonoDevelop.exe which seems to work just fine.
note: that's an old thing.. the msi needs updating.
SOFTWARE\Novell\GtkSharp\Version
(default data)gtk-sharp
(https://github.com/mono/gtk-sharp/releases) now days actually writes toHKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Xamarin\GtkSharp\Version
(default data).it results with the installer showing a warning and closing..
(note:
the
WOW6432Node
is because the dll files are compiled asx86
although it should not matter too much..gtk-sharp
also writes system environment settingsGTK_BASEPATH
with the valueC:\Program Files (x86)\GtkSharp\2.12\
)
I suggest removing the pre-check all together,
or extend the checks to above reg-key, with and without the
WOW
part, (just in-case future versions will include x64 builds).my workaround is the following registry file that includes couple of redundancies..
it allows users to install mono-develop in various systems and variations.
as well as adding a system environment variable
GTKSHARPVERSION
with value of2.12.45
.which will make the installer find the GTK and continue the installation.
I've actually been using
"msiexec.exe" /a "C:\Users\Elad\Desktop\MonoDevelop-7.8.4.1-x86-Debug.msi" /qb TARGETDIR="C:\Users\Elad\Desktop\MonoDevelop-7.8.4.1-x86-Debug\" INSTALLDIR="C:\Users\Elad\Desktop\MonoDevelop-7.8.4.1-x86-Debug\"
to extract the whole msi, and located the entire thing to a disk-on-key,
and just running
MonoDevelop\bin\MonoDevelop.exe
which seems to work just fine.