Commit Graph

286 Commits

Author SHA1 Message Date
Terry MacDonald
ed167459fa Fixed UplayGame monitoring
Also fixed errors caused by trying to access
32bit processes information from 64-bit
processes by using smoe cool code thanks
to Jeff Mercado and Mike Fuchs:
https://stackoverflow.com/questions/9501771/how-to-avoid-a-win32-exception-when-accessing-process-mainmodule-filename-in-c
2020-12-28 21:34:59 +13:00
Terry MacDonald
c7a1f1ab55 Fix Code Analysis changes that broke things 2020-12-28 10:34:15 +13:00
Terry MacDonald
9ffedab5aa Fixing LogReporter writer errors
Moved the logging to Local app dir
under Logs sub directory. Will also move the
main DIsplayMagician logs here too.
2020-12-28 10:14:01 +13:00
Terry MacDonald
49329b870e Initial Code Analysis fixes
Also fixed up the Setup properties
file for x64 build configuration.
2020-12-26 21:46:32 +13:00
Terry MacDonald
6759cc4aa0 Renaming main buttons 2020-12-26 20:20:35 +13:00
Terry MacDonald
b5d6f3f680 Fully working Windows Toast 2020-12-26 16:59:45 +13:00
Terry MacDonald
e53f76f0ce Working open and exit toasts
Toasts working for minimised start (allows use to
open the application) and for minimised close
(allows user to open the application or exit the
application).
2020-12-23 21:13:21 +13:00
Terry MacDonald
15386ba756 Basic bidirectional notifications working 2020-12-23 18:29:20 +13:00
Terry MacDonald
73f23d0e5b Fixing missing variable in setup project 2020-12-23 17:16:30 +13:00
Terry MacDonald
8249cb9bd8 Display Magician Setup cleanup 2020-12-22 23:42:24 +13:00
Terry MacDonald
6be7cfa3b2 Fixed develop build 2020-12-22 23:35:26 +13:00
Terry MacDonald
2148db3e95 Fixing program settings loglevel
Had missed Fatal loglevel and missed
a mixedcase Error log level. Meant both
logging levels were broken. Now fixed.
2020-12-22 23:23:28 +13:00
Terry MacDonald
26796c9e46 Fixed MainForm control placement 2020-12-22 23:00:25 +13:00
Terry MacDonald
a5c6f7980e Final working Wix Installer
Have customised the WiX installer so that
it has some nice backgrounds, and so that
the title and description text is white on
black rather than black on grey.  It works
well.
2020-12-22 22:53:10 +13:00
Terry MacDonald
16ac2bb264 Added WiX Bootstrapper project (WIP)
This project will encapsulate the .Net web installer
and the DisplayMagician installer so that it installs
the .net 4.8 if it isn't already installed. Still not sure if
I will keep it. It is a partial work in progress.
2020-12-21 23:06:42 +13:00
Terry MacDonald
e4ed01f33b Added .Net 4.8 and Win 10 checks to installer 2020-12-21 15:02:06 +13:00
Terry MacDonald
7bc81f0075 Added ShellExtension.dll registration
Now the Desktop Popup Menu works!
2020-12-20 22:27:52 +13:00
Terry MacDonald
f5e9ab4fc9 [WIP] Working WiX installer and Toasts!
This WiX installer installs a shortcut and registers
the AUMID and the ToastCLSID. Toasts now work!
2020-12-20 21:33:18 +13:00
Terry MacDonald
9e1ef4a095 [WIP] First working WiX installer
Installer works, but there are a few issues with it.
- It doesn't register the DesktopBackground COM server
- It doesn't create a start menu shortcut with the AUMID
- It doesn't check for .Net Framework 4.8 or later
- It doesn't try to install .Net Framework 4.8 or later if not there
- It doesn't have any customised backgrounds...
- It doesn't ask to run DisplayMagician when install is finished
2020-12-20 20:42:04 +13:00
Terry MacDonald
41fd798a07 Renamed projects to work with WiX file harvesting 2020-12-20 15:50:32 +13:00
Terry MacDonald
3a2b74b049 [WIP] Basic Notification Compat intergration 2020-12-20 15:21:53 +13:00
Terry MacDonald
33689931ca Moved AUMID to Shared project
And also added it to the LogReporter
project.
2020-12-20 12:45:50 +13:00
Terry MacDonald
50d9726141 Removed unused Shell32 code from HDM
Not using this code at the moment, so removed
to clean up.
2020-12-20 12:36:41 +13:00
Terry MacDonald
7a730b7a36 Register DisplayMagician AUMID with Win10
This registers the Application User Model ID
with Win 10 so that it recognises the application
and can interact with it. This allows Toasts, Taskbar
pinning, right-click menus and other functions to
work.
2020-12-20 12:35:36 +13:00
Terry MacDonald
40ab916050 Added a back button to SettingsForm 2020-12-17 00:34:39 +13:00
Terry MacDonald
1c7b208e8b Added SettingsForm so can change settings 2020-12-17 00:23:20 +13:00
Terry MacDonald
20a7da5a52 Fixed the update index.json file
Now it works correctly on update.
2020-12-13 15:20:28 +13:00
Terry MacDonald
fb63c5ab86 Merge branch 'feature-auto-updater' into develop 2020-12-13 15:18:21 +13:00
Terry MacDonald
2babf74353 Made the updater silent if no updates 2020-12-13 15:17:53 +13:00
Terry MacDonald
0989088450 Update the autoupdate location
It now points to the correct place so that
the autoupdating works as it should.
2020-12-13 15:00:46 +13:00
Terry MacDonald
68d5998256 Updated AutoUpdater.NET config to work with test site
Created a pre-alpha build and added it to the github.com
website to get a file to test the autoupdating feature.
2020-12-13 14:55:49 +13:00
Terry MacDonald
2ad1a3553b Added a index.json
This allows the autoupdate functionality to work.
2020-12-13 14:26:06 +13:00
Terry MacDonald
1ffc57f707 First DisplayMagician doc commit 2020-12-13 11:37:34 +13:00
Terry MacDonald
2d46e4e3f8 [WIP] Adjusted the autoupdate location
Also added a settings button. Still need to add
a settings page exposing the settings.
2020-12-12 22:54:34 +13:00
Terry MacDonald
c662681860 [WIP] Added initial Autoupdater.NET config
Have created the basic setup using the JSON
version of the Autoupdater.NET config shown
on the Autoupdater.NET website at:
https://github.com/ravibpatel/AutoUpdater.NET

JSON file to be stored on the update website:
{
   "version":"0.2.0.0",
   "url":"http://displaymagician.com/downloads/DisplayMagicianSetup.zip",
   "changelog":"https://github.com/terrymacdonald/DisplayMagician/releases",
   "mandatory":{
      "value":false,
      "minVersion": "0.1.0.0",
      "mode":1
   },
   "checksum":{
      "value":"E5F59E50FC91A9E52634FFCB11F32BD37FE0E2F1",
      "hashingAlgorithm":"SHA1"
   }
}
2020-12-12 22:35:13 +13:00
Terry MacDonald
05bb163312 Fix Audio and Capture setting retention
Had problems storing ChangeAudioDevice and
SetAudioVolume settings (and the Capture Device
versions) so had to slightly change the way the
settings were stored.
2020-12-12 21:29:38 +13:00
Terry MacDonald
f55e2c29be Better described timeout as max wait (secs)
Also set it to a more reasonable 20 second timeout
and then it continues through the starting process.
Also added some NLog error handling in RunShortcut.
2020-12-11 21:40:45 +13:00
Terry MacDonald
0f65362860 Fix so application monitoring works
Application monitoring highlighted a failure
in logic, but I fixed it. It now waits for the
timeout period before exiting.
2020-12-11 18:07:17 +13:00
Terry MacDonald
58c8a7f9d2 Fixed failed waiting for game close
Added a 5 second delay before the start of
the monitoring for game closure. This is to
allow the games to be spawned by the game
library (e.g. Steam).
2020-12-11 11:43:51 +13:00
Terry MacDonald
41c48f6ef2 Added popup menu to Shortcut Library
Added a right-click popup menu to the
Shortcut Library just in case people find that
easier to use.
2020-12-11 11:34:19 +13:00
Terry MacDonald
161a39aa21 Clean up ShortcutLibraryForm 2020-12-11 10:57:03 +13:00
Terry MacDonald
71d6ef20e2 Fix Profile IsPossible check
There was an issue with the IsPossible check
as it hadn't been adjusted from when I removed
the Output from the display fingerprint. The
Output number changes in the NVIDIA driver
so it is different after a reboot. I hadn't removed
the Output from the current display device
check, and so it wasn't matching the correct
stored fingerprint.
2020-12-11 09:50:55 +13:00
Terry MacDonald
623bb65650 [WIP] Allowing DisplayView control to be empty 2020-12-10 22:56:20 +13:00
Terry MacDonald
362adbbf41 Added helper messages for new installs
Helper messages added to the MainForm and
to the Shortcut library to try and help people
understand what order to do things in so that
the software works as intended.
2020-12-09 22:30:58 +13:00
Terry MacDonald
40b396701a Forcing users to create displayProfile first
Helped direct users to the display profile page
at first by removing the create shortcut buttons
2020-12-09 22:05:52 +13:00
Terry MacDonald
e0f797c1cd Cleaning out Desktop Shell extension 2020-12-09 21:44:44 +13:00
Terry MacDonald
33b3520a10 Added profilebitmaps to shellextension
Now the shell extension profile pop-up menu
that occurs when you right click on the desktop
background will also show pictures to help you
choose.
2020-12-09 21:42:04 +13:00
Terry MacDonald
9a4d8dc0c4 Cleaning up Uplay
Removing uneeded statements from UplayGame
2020-12-09 20:48:49 +13:00
Terry MacDonald
0830ed58dd Fixed Steam and Uplay game detection
Fixed an issue where Steam and Uplay don't detect the
game correctly. Now they find the processes themselves.

Also fixed ProgramSettings so that it generates a new
settings file on startup.

Also added LogLevel option to the ProgramSettings so that
I can start rolling out the NLog log statements to report
errors from the binary when it's installed on people's
PCs.
2020-12-09 20:47:30 +13:00
Terry MacDonald
c0389cdba7 Added NLog to Program.cs
Did the first basic integration and setup for
NLog to the application as part of my push
to get better error logging.
2020-12-08 21:20:26 +13:00