tjackenpacken / taskbar-groups

Lightweight utility for organizing the taskbar through groups
MIT License
2.48k stars 202 forks source link

Launching app from windows start menu shortcut deprives the app of its data #249

Closed D-Maxwell closed 1 year ago

D-Maxwell commented 1 year ago

It would appear as if the app only has access to its data when it is launched manually from its directory as an executable file. Otherwise, I get an unhandled exception "Access to path config\shortcut_name refused" upon shortcut creation, as well as a "Could not find a part of the path leading to GroupImage.png" error on startup, or something along these lines. Furthermore, no pre-generated shortcuts are listed in the home tab. As stated above, the app only behaves as expected when launched as-is, within its own folder.

Below stand the details of said "unhandled exception". #

juste-à-temps (JIT) à la place de cette boîte de dialogue.

************** Texte de l'exception **************
System.UnauthorizedAccessException: L'accès au chemin d'accès 'config\a' est refusé.
   à System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   à System.IO.Directory.InternalCreateDirectory(String fullPath, String path, Object dirSecurityObj, Boolean checkHost)
   à System.IO.Directory.InternalCreateDirectoryHelper(String path, Boolean checkHost)
   à System.IO.Directory.CreateDirectory(String path)
   à client.Classes.Category.CreateConfig(Image groupImage) dans C:\Users\jacks\Desktop\Taskbar dev\main\main\Classes\Category.cs:ligne 70
   à client.Forms.frmGroup.cmdSave_Click(Object sender, EventArgs e) dans C:\Users\jacks\Desktop\Taskbar dev\main\main\Forms\frmGroup.cs:ligne 559
   à System.Windows.Forms.Control.OnClick(EventArgs e)
   à System.Windows.Forms.Button.OnClick(EventArgs e)
   à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   à System.Windows.Forms.Control.WndProc(Message& m)
   à System.Windows.Forms.ButtonBase.WndProc(Message& m)
   à System.Windows.Forms.Button.WndProc(Message& m)
   à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Assemblys chargés **************
mscorlib
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4515.0 built by: NET48REL1LAST_C
    CodeBase : file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
TaskbarGroups
    Version de l'assembly : 0.2.0.0
    Version Win32 : 0.2.0.0
    CodeBase : file:///C:/Users/maximdovergne/Apps/Programs/TaskbarGroups/TaskbarGroups.exe
----------------------------------------
System.Drawing
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4390.0 built by: NET48REL1LAST_C
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4536.0 built by: NET48REL1LAST_C
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4550.0 built by: NET48REL1LAST_C
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Configuration
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4190.0 built by: NET48REL1LAST_B
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4536.0 built by: NET48REL1LAST_C
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4084.0 built by: NET48REL1
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
mscorlib.resources
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4084.0 built by: NET48REL1
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
Microsoft.GeneratedCode
    Version de l'assembly : 1.0.0.0
    Version Win32 : 4.8.4084.0 built by: NET48REL1
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Net.Http
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4084.0 built by: NET48REL1
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll
----------------------------------------
Windows.Data
    Version de l'assembly : 255.255.255.255
    Version Win32 : 10.0.10011.16384
    CodeBase : file:///C:/Windows/SysNative/WinMetadata/Windows.Data.winmd
----------------------------------------
System.Runtime
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4084.0
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Runtime.dll
----------------------------------------
Windows.Foundation
    Version de l'assembly : 255.255.255.255
    Version Win32 : 10.0.10011.16384
    CodeBase : file:///C:/Windows/SysNative/WinMetadata/Windows.Foundation.winmd
----------------------------------------
ChinhDo.Transactions.FileManager
    Version de l'assembly : 1.4.0.36
    Version Win32 : 1.4.0.36
    CodeBase : file:///C:/Users/maximdovergne/Apps/Programs/TaskbarGroups/ChinhDo.Transactions.FileManager.DLL
----------------------------------------
netstandard
    Version de l'assembly : 2.0.0.0
    Version Win32 : 4.8.4084.0
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/netstandard/v4.0_2.0.0.0__cc7b13ffcd2ddd51/netstandard.dll
----------------------------------------
System.Transactions
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4084.0 built by: NET48REL1
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
Microsoft.CSharp
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4084.0
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.CSharp/v4.0_4.0.0.0__b03f5f7f11d50a3a/Microsoft.CSharp.dll
----------------------------------------
System.Dynamic
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4084.0
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Dynamic/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Dynamic.dll
----------------------------------------
Anonymously Hosted DynamicMethods Assembly
    Version de l'assembly : 0.0.0.0
    Version Win32 : 4.8.4515.0 built by: NET48REL1LAST_C
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_32/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll
----------------------------------------
System.Windows.Forms.resources
    Version de l'assembly : 4.0.0.0
    Version Win32 : 4.8.4084.0 built by: NET48REL1
    CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** Débogage JIT **************
Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette
application ou cet ordinateur (machine.config) doit avoir la valeur
jitDebugging définie dans la section system.windows.forms.
L'application doit également être compilée avec le débogage
activé.

Par exemple :

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

Lorsque le débogage juste-à-temps est activé, les exceptions non gérées
seront envoyées au débogueur JIT inscrit sur l'ordinateur
plutôt que d'être gérées par cette boîte de dialogue.
D-Maxwell commented 1 year ago

This behaviour appears to be linked to window's app search, as manually appending a custom shortcut to the list of the start menu's apps launches the application as expected, without any errors.