OpenChartProject / OpenChart

✨ NEW REPO ✨ https://github.com/OpenChartProject/OpenChart-web
https://github.com/OpenChartProject/OpenChart-web
Other
8 stars 3 forks source link

Create a Windows installer, add versioning #57

Closed Kangaroux closed 4 years ago

Kangaroux commented 4 years ago

Fixes #56, Closes #58, Closes #59

GtkSharp provides a prebuilt copy of Gtk 3.24. Prior to this PR I removed the existing Gtk binaries from the repo since having them in the commit history was bloating the repo size. Gtk is now bundled as part of the publish workflow instead.


EDIT: The scope of this grew quite a bit the more I worked on it. Here's what changed:

Kangaroux commented 4 years ago

Gdk image loaders don't seem to be working correctly. May need to try a different Gtk build.

[2020-05-13 15:19:52.584] INFO    ------------------------
[2020-05-13 15:19:52.603] INFO    Initializing...
[2020-05-13 15:19:52.603] DEBUG   Set current directory to C:\Users\Administrator\Desktop\win-x64(3)
[2020-05-13 15:19:53.104] INFO    libbass init OK.
[2020-05-13 15:19:53.193] INFO    Gtk init OK.
[2020-05-13 15:19:53.194] INFO    Finding noteskins...
[2020-05-13 15:19:53.319] ERROR   Exception while trying to load noteskin 'default_arrow'.
GLib.GException: Unrecognized image file format
   at Gdk.PixbufLoader.Close()
   at Gdk.PixbufLoader.InitFromBuffer(Byte[] buffer)
   at Gdk.PixbufLoader..ctor(Byte[] buffer)
   at Gdk.Pixbuf..ctor(Byte[] buffer)
   at OpenChart.UI.Assets.ImageAsset..ctor(String path)
   at OpenChart.NoteSkins.NoteSkinManager.loadKeyModeSkin(NoteSkin noteSkin, Int32 keyCount, String dir)
   at OpenChart.NoteSkins.NoteSkinManager.loadNoteSkin(String skinName)
   at OpenChart.NoteSkins.NoteSkinManager.LoadAll()
[2020-05-13 15:19:53.332] INFO    OpenChart init OK.
[2020-05-13 15:19:53.334] INFO    Displaying main window.
[2020-05-13 15:19:53.472] FATAL   Uncaught exception.
GLib.GException: Couldn’t recognize the image file format for file “icons\AppIcon.ico”
   at Gtk.Window.SetIconFromFile(String filename)
   at OpenChart.UI.Windows.MainWindow..ctor()
   at OpenChart.App.Run()
   at OpenChart.Program.Main()
Kangaroux commented 4 years ago

Need to add some steps to the windows publish workflow to package the installer

Kangaroux commented 4 years ago

@ mono, see the PR description for an overview of what changed

To test, download the installer from the workflow. If you don't have Gtk on your system already it should install it automatically. There is an uninstaller in the folder it installs to

I tested this on windows server 2016 and windows 10 1909, both as an admin and as a regular user