Added Shell Extension to setup package

Managed to get the Shell Extension incorporated
into the HeliosPlus.Setup project so that it correctly
installs the shell extension (and uninstalls it too!).

Also updated the README.md so that it shows the
new Shell Extensino in action so people knows what
it does.
This commit is contained in:
Terry MacDonald 2020-11-30 22:25:58 +13:00
parent fe852a6248
commit 5cc2ce65fa
11 changed files with 165 additions and 495 deletions

View File

@ -33,8 +33,14 @@
}
"Entry"
{
"MsmKey" = "8:_0FE1D01715DF6459C391EBD158D274B7"
"OwnerKey" = "8:_D72F9D5842C142EABAF5CA3B7A18A785"
"MsmKey" = "8:_0C37C492BD61B47597773A395796B43A"
"OwnerKey" = "8:_421DEEA736F14466A32568905067E9A7"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_0C37C492BD61B47597773A395796B43A"
"OwnerKey" = "8:_AF0CEA76E15F427B95FFB76749B52E17"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@ -64,12 +70,6 @@
"Entry"
{
"MsmKey" = "8:_1F472B27928AAF875547361F33301756"
"OwnerKey" = "8:_D72F9D5842C142EABAF5CA3B7A18A785"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_1F472B27928AAF875547361F33301756"
"OwnerKey" = "8:_EF2DD8DAE57B72AF49C7CD06B2B9D472"
"MsmSig" = "8:_UNDEFINED"
}
@ -94,12 +94,6 @@
"Entry"
{
"MsmKey" = "8:_20C50515084193D4C8ADF9B6B676DE77"
"OwnerKey" = "8:_D72F9D5842C142EABAF5CA3B7A18A785"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_20C50515084193D4C8ADF9B6B676DE77"
"OwnerKey" = "8:_EF2DD8DAE57B72AF49C7CD06B2B9D472"
"MsmSig" = "8:_UNDEFINED"
}
@ -130,12 +124,6 @@
"Entry"
{
"MsmKey" = "8:_2BECE346513978E22D85CF70C5335C00"
"OwnerKey" = "8:_D72F9D5842C142EABAF5CA3B7A18A785"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_2BECE346513978E22D85CF70C5335C00"
"OwnerKey" = "8:_EF2DD8DAE57B72AF49C7CD06B2B9D472"
"MsmSig" = "8:_UNDEFINED"
}
@ -172,12 +160,6 @@
"Entry"
{
"MsmKey" = "8:_328C0F8CD9164AB0EB6387D511274083"
"OwnerKey" = "8:_D72F9D5842C142EABAF5CA3B7A18A785"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_328C0F8CD9164AB0EB6387D511274083"
"OwnerKey" = "8:_EF2DD8DAE57B72AF49C7CD06B2B9D472"
"MsmSig" = "8:_UNDEFINED"
}
@ -189,56 +171,14 @@
}
"Entry"
{
"MsmKey" = "8:_33E8027C1549FD306C9C60BF6784D3F4"
"OwnerKey" = "8:_67171A07900A41E57F5F72450C1BFC18"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_33E8027C1549FD306C9C60BF6784D3F4"
"OwnerKey" = "8:_E5F37DD38C5142669C0C67A50EC67181"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_33E8027C1549FD306C9C60BF6784D3F4"
"OwnerKey" = "8:_FF6D554CE118E79F58DCB9853C63A620"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_33E8027C1549FD306C9C60BF6784D3F4"
"OwnerKey" = "8:_3F455C22A1A9A91AAAEF9129230063B1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_33E8027C1549FD306C9C60BF6784D3F4"
"OwnerKey" = "8:_3974B2C2B04B123A3BB11256A94A55FC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_3974B2C2B04B123A3BB11256A94A55FC"
"OwnerKey" = "8:_E5F37DD38C5142669C0C67A50EC67181"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_3CFA58EA114B2FA18FD3B55528473583"
"OwnerKey" = "8:_E5F37DD38C5142669C0C67A50EC67181"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_3F455C22A1A9A91AAAEF9129230063B1"
"OwnerKey" = "8:_3974B2C2B04B123A3BB11256A94A55FC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_3F455C22A1A9A91AAAEF9129230063B1"
"OwnerKey" = "8:_E5F37DD38C5142669C0C67A50EC67181"
"MsmKey" = "8:_421DEEA736F14466A32568905067E9A7"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@ -261,24 +201,6 @@
}
"Entry"
{
"MsmKey" = "8:_67171A07900A41E57F5F72450C1BFC18"
"OwnerKey" = "8:_3974B2C2B04B123A3BB11256A94A55FC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_67171A07900A41E57F5F72450C1BFC18"
"OwnerKey" = "8:_E5F37DD38C5142669C0C67A50EC67181"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_67171A07900A41E57F5F72450C1BFC18"
"OwnerKey" = "8:_3F455C22A1A9A91AAAEF9129230063B1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_6F8A3FB2F67D41956E65B4D859B389E9"
"OwnerKey" = "8:_E5F37DD38C5142669C0C67A50EC67181"
"MsmSig" = "8:_UNDEFINED"
@ -358,13 +280,13 @@
"Entry"
{
"MsmKey" = "8:_95C44E99226D63EB02DEE495E36BEC80"
"OwnerKey" = "8:_D72F9D5842C142EABAF5CA3B7A18A785"
"OwnerKey" = "8:_CCD39A4DC1C9485F961A6E6EF8D7ED61"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_95C44E99226D63EB02DEE495E36BEC80"
"OwnerKey" = "8:_CCD39A4DC1C9485F961A6E6EF8D7ED61"
"MsmKey" = "8:_AF0CEA76E15F427B95FFB76749B52E17"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@ -381,18 +303,6 @@
}
"Entry"
{
"MsmKey" = "8:_CAA63FA8ADECF7D0E6C4D0AB3EC02B0E"
"OwnerKey" = "8:_0FE1D01715DF6459C391EBD158D274B7"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_CAA63FA8ADECF7D0E6C4D0AB3EC02B0E"
"OwnerKey" = "8:_D72F9D5842C142EABAF5CA3B7A18A785"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_CCD39A4DC1C9485F961A6E6EF8D7ED61"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
@ -424,12 +334,6 @@
"Entry"
{
"MsmKey" = "8:_D05DB69FF9722F53BCEC1895D9EF5A2A"
"OwnerKey" = "8:_D72F9D5842C142EABAF5CA3B7A18A785"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_D05DB69FF9722F53BCEC1895D9EF5A2A"
"OwnerKey" = "8:_EF2DD8DAE57B72AF49C7CD06B2B9D472"
"MsmSig" = "8:_UNDEFINED"
}
@ -459,12 +363,6 @@
}
"Entry"
{
"MsmKey" = "8:_D72F9D5842C142EABAF5CA3B7A18A785"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_E57A494D64A501AF3DA24A5AFDADB623"
"OwnerKey" = "8:_E5F37DD38C5142669C0C67A50EC67181"
"MsmSig" = "8:_UNDEFINED"
@ -501,12 +399,6 @@
}
"Entry"
{
"MsmKey" = "8:_EF2DD8DAE57B72AF49C7CD06B2B9D472"
"OwnerKey" = "8:_D72F9D5842C142EABAF5CA3B7A18A785"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_F28FBBAC98C5E96A3B233D50EDBE7E97"
"OwnerKey" = "8:_E5F37DD38C5142669C0C67A50EC67181"
"MsmSig" = "8:_UNDEFINED"
@ -519,14 +411,26 @@
}
"Entry"
{
"MsmKey" = "8:_FF6D554CE118E79F58DCB9853C63A620"
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_E5F37DD38C5142669C0C67A50EC67181"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_E5F37DD38C5142669C0C67A50EC67181"
"OwnerKey" = "8:_AF0CEA76E15F427B95FFB76749B52E17"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_421DEEA736F14466A32568905067E9A7"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_0C37C492BD61B47597773A395796B43A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@ -550,36 +454,6 @@
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_FF6D554CE118E79F58DCB9853C63A620"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_3974B2C2B04B123A3BB11256A94A55FC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_3F455C22A1A9A91AAAEF9129230063B1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_67171A07900A41E57F5F72450C1BFC18"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_33E8027C1549FD306C9C60BF6784D3F4"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_3CFA58EA114B2FA18FD3B55528473583"
"MsmSig" = "8:_UNDEFINED"
}
@ -682,24 +556,6 @@
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_D72F9D5842C142EABAF5CA3B7A18A785"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_0FE1D01715DF6459C391EBD158D274B7"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_CAA63FA8ADECF7D0E6C4D0AB3EC02B0E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_CCD39A4DC1C9485F961A6E6EF8D7ED61"
"MsmSig" = "8:_UNDEFINED"
}
@ -784,10 +640,10 @@
"ComponentsUrl" = "8:"
"Items"
{
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2"
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.8"
{
"Name" = "8:Microsoft .NET Framework 4.7.2 (x86 and x64)"
"ProductCode" = "8:.NETFramework,Version=v4.7.2"
"Name" = "8:Microsoft .NET Framework 4.8 (x86 and x64)"
"ProductCode" = "8:.NETFramework,Version=v4.8"
}
}
}
@ -814,6 +670,14 @@
"PrerequisitesLocation" = "2:1"
"Url" = "8:"
"ComponentsUrl" = "8:"
"Items"
{
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2"
{
"Name" = "8:Microsoft .NET Framework 4.7.2 (x86 and x64)"
"ProductCode" = "8:.NETFramework,Version=v4.7.2"
}
}
}
}
}
@ -821,6 +685,36 @@
{
"CustomAction"
{
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_9E6AFF3A69E04882B40F480F3C6E8CF0"
{
"Name" = "8:ServerRegistrationManager.exe"
"Condition" = "8:"
"Object" = "8:_AF0CEA76E15F427B95FFB76749B52E17"
"FileType" = "3:2"
"InstallAction" = "3:1"
"Arguments" = "8:install \"[TARGETDIR]HeliosPlus.ShellExtension.dll\" -codebase -os64"
"EntryPoint" = "8:"
"Sequence" = "3:1"
"Identifier" = "8:_A9DCAABC_D2B2_488B_B97E_491E72D0AF60"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
"Run64Bit" = "11:TRUE"
}
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_AC2E36CD433740F68E94266102347A68"
{
"Name" = "8:ServerRegistrationManager.exe"
"Condition" = "8:"
"Object" = "8:_AF0CEA76E15F427B95FFB76749B52E17"
"FileType" = "3:2"
"InstallAction" = "3:4"
"Arguments" = "8:uninstall \"[TARGETDIR]HeliosPlus.ShellExtension.dll\""
"EntryPoint" = "8:"
"Sequence" = "3:1"
"Identifier" = "8:_E291BA87_BFFC_4C4B_9F45_CAFD6EFDA7CC"
"InstallerClass" = "11:FALSE"
"CustomActionData" = "8:"
"Run64Bit" = "11:TRUE"
}
}
"DefaultFeature"
{
@ -836,7 +730,7 @@
{
"Name" = "8:.NET Framework"
"Message" = "8:[VSDNETMSG]"
"FrameworkVersion" = "8:.NETFramework,Version=v4.7.2"
"FrameworkVersion" = "8:.NETFramework,Version=v4.8"
"AllowLaterVersions" = "11:FALSE"
"InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=863262"
}
@ -871,7 +765,7 @@
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"Exclude" = "11:TRUE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
@ -902,24 +796,24 @@
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"Exclude" = "11:TRUE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_0FE1D01715DF6459C391EBD158D274B7"
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_0C37C492BD61B47597773A395796B43A"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:ServerRegistrationManager, Version=2.7.2.0, Culture=neutral, PublicKeyToken=68bd4561cc3495fc, processorArchitecture=MSIL"
"AssemblyAsmDisplayName" = "8:SharpShell, Version=2.7.2.0, Culture=neutral, PublicKeyToken=f14dc899472fe6fb, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_0FE1D01715DF6459C391EBD158D274B7"
"_0C37C492BD61B47597773A395796B43A"
{
"Name" = "8:ServerRegistrationManager.exe"
"Name" = "8:SharpShell.DLL"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:ServerRegistrationManager.exe"
"SourcePath" = "8:SharpShell.DLL"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_994B36D509C14116B6C6DCEC92ED8846"
@ -1185,68 +1079,6 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_33E8027C1549FD306C9C60BF6784D3F4"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Krypton Toolkit, Version=5.480.2098.0, Culture=neutral, PublicKeyToken=a87e673e9ecb6e8e, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_33E8027C1549FD306C9C60BF6784D3F4"
{
"Name" = "8:Krypton Toolkit.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:Krypton Toolkit.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_994B36D509C14116B6C6DCEC92ED8846"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_3974B2C2B04B123A3BB11256A94A55FC"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Krypton Docking, Version=5.480.753.0, Culture=neutral, PublicKeyToken=a87e673e9ecb6e8e, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_3974B2C2B04B123A3BB11256A94A55FC"
{
"Name" = "8:Krypton Docking.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:Krypton Docking.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_994B36D509C14116B6C6DCEC92ED8846"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_3CFA58EA114B2FA18FD3B55528473583"
{
"AssemblyRegister" = "3:1"
@ -1278,20 +1110,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_3F455C22A1A9A91AAAEF9129230063B1"
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_421DEEA736F14466A32568905067E9A7"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Krypton Workspace, Version=5.480.727.0, Culture=neutral, PublicKeyToken=a87e673e9ecb6e8e, processorArchitecture=MSIL"
"AssemblyAsmDisplayName" = "8:HeliosPlus.ShellExtension, Version=0.9.5.39729, Culture=neutral, PublicKeyToken=20bd5a8aff754671, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_3F455C22A1A9A91AAAEF9129230063B1"
"_421DEEA736F14466A32568905067E9A7"
{
"Name" = "8:Krypton Workspace.dll"
"Name" = "8:HeliosPlus.ShellExtension.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:Krypton Workspace.dll"
"SourcePath" = "8:..\\Debug\\HeliosPlus.ShellExtension.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_994B36D509C14116B6C6DCEC92ED8846"
@ -1306,7 +1138,7 @@
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_4FABC52BA03E938FFC3C8012A8BF1DAC"
@ -1340,37 +1172,6 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_67171A07900A41E57F5F72450C1BFC18"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Krypton Navigator, Version=5.480.796.0, Culture=neutral, PublicKeyToken=a87e673e9ecb6e8e, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_67171A07900A41E57F5F72450C1BFC18"
{
"Name" = "8:Krypton Navigator.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:Krypton Navigator.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_994B36D509C14116B6C6DCEC92ED8846"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6F8A3FB2F67D41956E65B4D859B389E9"
{
"AssemblyRegister" = "3:1"
@ -1619,6 +1420,37 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_AF0CEA76E15F427B95FFB76749B52E17"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:ServerRegistrationManager, Version=2.7.2.0, Culture=neutral, PublicKeyToken=68bd4561cc3495fc, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_AF0CEA76E15F427B95FFB76749B52E17"
{
"Name" = "8:ServerRegistrationManager.exe"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:..\\Debug\\ServerRegistrationManager.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_994B36D509C14116B6C6DCEC92ED8846"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BA36701EA973451CBE81355EA0F1572D"
{
"SourcePath" = "8:Resources\\HeliosPlus.ico"
@ -1666,38 +1498,7 @@
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_CAA63FA8ADECF7D0E6C4D0AB3EC02B0E"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:SharpShell, Version=2.7.2.0, Culture=neutral, PublicKeyToken=f14dc899472fe6fb, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_CAA63FA8ADECF7D0E6C4D0AB3EC02B0E"
{
"Name" = "8:SharpShell.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:SharpShell.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_994B36D509C14116B6C6DCEC92ED8846"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"Exclude" = "11:TRUE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
@ -1728,7 +1529,7 @@
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"Exclude" = "11:TRUE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
@ -1790,7 +1591,7 @@
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"Exclude" = "11:TRUE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
@ -1891,7 +1692,7 @@
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:HeliosPlus.Shared, Version=0.9.5.33461, Culture=neutral, processorArchitecture=MSIL"
"AssemblyAsmDisplayName" = "8:HeliosPlus.Shared, Version=0.9.5.38711, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_EF2DD8DAE57B72AF49C7CD06B2B9D472"
@ -1914,7 +1715,7 @@
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"Exclude" = "11:TRUE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
@ -1980,37 +1781,6 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_FF6D554CE118E79F58DCB9853C63A620"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Krypton Ribbon, Version=5.480.850.0, Culture=neutral, PublicKeyToken=a87e673e9ecb6e8e, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_FF6D554CE118E79F58DCB9853C63A620"
{
"Name" = "8:Krypton Ribbon.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:Krypton Ribbon.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_994B36D509C14116B6C6DCEC92ED8846"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
}
"FileType"
{
@ -2019,7 +1789,7 @@
{
"{3C67513D-01DD-4637-8A68-80971EB9504F}:_994B36D509C14116B6C6DCEC92ED8846"
{
"DefaultLocation" = "8:[ProgramFiles64Folder]\\[ProductName]"
"DefaultLocation" = "8:[ProgramFiles64Folder][ProductName]"
"Name" = "8:#1925"
"AlwaysCreate" = "11:TRUE"
"Condition" = "8:"
@ -2040,7 +1810,7 @@
{
"{9EF0B969-E518-4E46-987F-47570745A589}:_5AF97EC9EA2843FB8CB7128E28CA7776"
{
"Name" = "8:[ProgramName]"
"Name" = "8:[ProductName]"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
@ -2079,13 +1849,13 @@
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:HeliosPlus"
"ProductCode" = "8:{9D8BB73C-4F82-49A5-BE9B-2BB81D434FD1}"
"PackageCode" = "8:{10B8EA94-E934-404A-941D-E298D7ACD15C}"
"PackageCode" = "8:{F62D9241-5216-49A0-8AF0-73F0202C5F39}"
"UpgradeCode" = "8:{79DB774B-3016-4512-823C-04C42AB028C5}"
"AspNetVersion" = "8:2.0.50727.0"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:FALSE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
"InstallAllUsers" = "11:TRUE"
"ProductVersion" = "8:0.9.0"
"Manufacturer" = "8:Terry MacDonald"
"ARPHELPTELEPHONE" = "8:"
@ -2138,7 +1908,7 @@
"Condition" = "8:"
"Transitive" = "11:FALSE"
"ValueTypes" = "3:1"
"Value" = "8:[ProgramFilesFolder]\\[ProductName]"
"Value" = "8:[ProgramFiles64Folder][ProductName]"
}
}
}
@ -2209,7 +1979,7 @@
{
"{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_0CCA95A018424E769F1AA53F44EB50AF"
{
"Name" = "8:[ProgramName]"
"Name" = "8:[ProductName]"
"Arguments" = "8:"
"Description" = "8:"
"ShowCmd" = "3:1"
@ -2648,34 +2418,6 @@
{
}
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_22F30D1D61E446D9AF502E5C882D7375"
{
"SourcePath" = "8:"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_994B36D509C14116B6C6DCEC92ED8846"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:2"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:LocalizedResourceDlls"
"OutputProjectGuid" = "8:{55D4FF65-EDC7-48EF-933E-B6E7F3809B68}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_4F488048273045DD8EE3B904E25EE5FB"
{
"SourcePath" = "8:..\\HeliosPlus.Shared\\obj\\Debug\\HeliosPlus.Shared.dll"
@ -2788,34 +2530,6 @@
{
}
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D72F9D5842C142EABAF5CA3B7A18A785"
{
"SourcePath" = "8:..\\HeliosPlus.ShellExtension\\obj\\Debug\\HeliosPlus.ShellExtension.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_994B36D509C14116B6C6DCEC92ED8846"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:4"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{55D4FF65-EDC7-48EF-933E-B6E7F3809B68}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E5F37DD38C5142669C0C67A50EC67181"
{
"SourcePath" = "8:..\\HeliosPlus\\obj\\Debug\\HeliosPlus.exe"

View File

@ -1,11 +1,8 @@
using System.Linq;
using System.Runtime.InteropServices;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
using System;
using HeliosPlus.ShellExtension.Resources;
using HeliosPlus;
using SharpShell.Attributes;
using SharpShell.SharpContextMenu;
using SharpShell.Diagnostics;
@ -38,6 +35,7 @@ namespace HeliosPlus.ShellExtension
protected override bool CanShowMenu()
{
Logging.Log($"Starting CanShowMenu");
// Only show this menu if HeliosPlus is installed
heliosPlusInstallDir = "";
try
@ -52,16 +50,24 @@ namespace HeliosPlus.ShellExtension
heliosPlusFullname = Path.Combine(heliosPlusInstallDir, "HeliosPlus.exe");
Logging.Log($"HeliosPlus is installed in {heliosPlusFullname}");
if (File.Exists(heliosPlusFullname))
{
Logging.Log($"CanShowMenu is returning true (can show menu)");
return true;
}
else
{
Logging.Log($"CanShowMenu is returning false (cannot show menu)");
return false;
}
}
protected override ContextMenuStrip CreateMenu()
{
Logging.Log($"Starting CreateMenu");
var explorerMenuStrip = new ContextMenuStrip();
if (File.Exists(heliosPlusFullname))

View File

@ -22,6 +22,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<UseVSHostingProcess>true</UseVSHostingProcess>
<RegisterForComInterop>false</RegisterForComInterop>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@ -38,7 +39,7 @@
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>HeliosPlusSigningKey.pfx</AssemblyOriginatorKeyFile>
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
@ -71,9 +72,6 @@
<LastGenOutput>Language.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<Compile Include="Shield.cs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="EDIDParser">
<Version>1.2.0.1</Version>
@ -85,17 +83,9 @@
<Version>2.7.2</Version>
</PackageReference>
</ItemGroup>
<ItemGroup>
<None Include="HeliosPlusSigningKey.pfx" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\HeliosPlus.Shared\HeliosPlus.Shared.csproj">
<Project>{1cacda43-01c7-4cd4-bf6e-9421a29510fc}</Project>
<Name>HeliosPlus.Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Content Include="Resources\HeliosPlus.ico" />
<None Include="key.snk" />
<None Include="Resources\HeliosPlusMenuImage.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

View File

@ -1,31 +0,0 @@
using System.Drawing;
using System.Windows.Forms;
namespace HeliosPlus.ShellExtension
{
public static class Shield
{
private static Bitmap _smallIcon;
public static Bitmap SmallIcon
{
get
{
if (_smallIcon != null)
{
return _smallIcon;
}
var iconSize = SystemInformation.SmallIconSize;
_smallIcon = new Bitmap(iconSize.Width, iconSize.Height);
using (var g = Graphics.FromImage(_smallIcon))
{
g.DrawIcon(SystemIcons.Shield, new Rectangle(Point.Empty, iconSize));
}
return _smallIcon;
}
}
}
}

Binary file not shown.

View File

@ -10,9 +10,15 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeliosPlus.Shared", "Helios
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeliosPlus.Reporting", "HeliosPlus.Reporting\HeliosPlus.Reporting.csproj", "{76DF2BCF-911B-4820-B63E-8F3468DB5E79}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeliosPlus.Tests", "HeliosPlus.Tests\HeliosPlus.Tests.csproj", "{D7AFD3CC-53BF-4991-ABFE-638A3F355310}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HeliosPlus.Tests", "HeliosPlus.Tests\HeliosPlus.Tests.csproj", "{D7AFD3CC-53BF-4991-ABFE-638A3F355310}"
ProjectSection(ProjectDependencies) = postProject
{55D4FF65-EDC7-48EF-933E-B6E7F3809B68} = {55D4FF65-EDC7-48EF-933E-B6E7F3809B68}
EndProjectSection
EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "HeliosPlus.Setup", "HeliosPlus.Setup\HeliosPlus.Setup.vdproj", "{2DC67145-6BCC-4BAB-AE6C-EDAEC25B87DA}"
ProjectSection(ProjectDependencies) = postProject
{55D4FF65-EDC7-48EF-933E-B6E7F3809B68} = {55D4FF65-EDC7-48EF-933E-B6E7F3809B68}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@ -235,9 +235,6 @@
<PackageReference Include="ImageListView">
<Version>13.8.2</Version>
</PackageReference>
<PackageReference Include="KryptonToolkitSuite5480">
<Version>5.480.2098</Version>
</PackageReference>
<PackageReference Include="McMaster.Extensions.CommandLineUtils">
<Version>3.0.0</Version>
</PackageReference>

View File

@ -8,25 +8,11 @@ using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.IconLib;
using System.Drawing.Imaging;
using TsudaKageyu;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.ServiceModel.Dispatcher;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using NvAPIWrapper.Native.Display.Structures;
using System.Text.RegularExpressions;
using IWshRuntimeLibrary;
using System.Diagnostics;
using System.Threading;
using HeliosPlus.InterProcess;
using HeliosPlus.UIForms;
using ComponentFactory.Krypton.Toolkit;
using MintPlayer.IconUtils;
using System.Windows.Media.Imaging;
namespace HeliosPlus
{

View File

@ -42,7 +42,6 @@ namespace HeliosPlus.UIForms
this.lbl_profile_shown_subtitle = new System.Windows.Forms.Label();
this.lbl_profile_shown = new System.Windows.Forms.Label();
this.ilv_saved_profiles = new Manina.Windows.Forms.ImageListView();
this.dv_profile = new HeliosPlus.Shared.UserControls.DisplayView();
this.tabp_before = new System.Windows.Forms.TabPage();
this.pnl_start_program4 = new System.Windows.Forms.Panel();
this.cb_start_program4 = new System.Windows.Forms.CheckBox();
@ -113,6 +112,7 @@ namespace HeliosPlus.UIForms
this.lbl_title = new System.Windows.Forms.Label();
this.lbl_shortcut_name = new System.Windows.Forms.Label();
this.cb_autosuggest = new System.Windows.Forms.CheckBox();
this.dv_profile = new HeliosPlus.Shared.UserControls.DisplayView();
this.tabc_shortcut.SuspendLayout();
this.tabp_display.SuspendLayout();
this.tabp_before.SuspendLayout();
@ -253,21 +253,6 @@ namespace HeliosPlus.UIForms
this.ilv_saved_profiles.View = Manina.Windows.Forms.View.HorizontalStrip;
this.ilv_saved_profiles.ItemClick += new Manina.Windows.Forms.ItemClickEventHandler(this.ilv_saved_profiles_ItemClick);
//
// dv_profile
//
this.dv_profile.BackColor = System.Drawing.Color.DimGray;
this.dv_profile.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dv_profile.Font = new System.Drawing.Font("Consolas", 50F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.dv_profile.ForeColor = System.Drawing.Color.MidnightBlue;
this.dv_profile.Location = new System.Drawing.Point(0, 0);
this.dv_profile.Margin = new System.Windows.Forms.Padding(18);
this.dv_profile.Name = "dv_profile";
this.dv_profile.PaddingX = 100;
this.dv_profile.PaddingY = 100;
this.dv_profile.Profile = null;
this.dv_profile.Size = new System.Drawing.Size(1082, 467);
this.dv_profile.TabIndex = 23;
//
// tabp_before
//
this.tabp_before.BackColor = System.Drawing.Color.Black;
@ -1075,6 +1060,21 @@ namespace HeliosPlus.UIForms
this.cb_autosuggest.UseVisualStyleBackColor = true;
this.cb_autosuggest.CheckedChanged += new System.EventHandler(this.cb_autosuggest_CheckedChanged);
//
// dv_profile
//
this.dv_profile.BackColor = System.Drawing.Color.DimGray;
this.dv_profile.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dv_profile.Font = new System.Drawing.Font("Consolas", 50F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.dv_profile.ForeColor = System.Drawing.Color.MidnightBlue;
this.dv_profile.Location = new System.Drawing.Point(0, 0);
this.dv_profile.Margin = new System.Windows.Forms.Padding(18);
this.dv_profile.Name = "dv_profile";
this.dv_profile.PaddingX = 100;
this.dv_profile.PaddingY = 100;
this.dv_profile.Profile = null;
this.dv_profile.Size = new System.Drawing.Size(1082, 467);
this.dv_profile.TabIndex = 23;
//
// ShortcutForm
//
this.AcceptButton = this.btn_save;

View File

@ -30,12 +30,13 @@ Feel free to report missing features or bugs using the project [issue tracker](h
## Current features
HeliosPlus lets you set up the following information for each game or application:
* Create a Display Profile to be used within a Shortcut
* Change to a different Display Profile when you click on a Shortcut on the Desktop
* Add one or more programs to pre-start before your game or application when you lick on the Shortcut on the Desktop
* Create and save a Display Profile to be used within future Desktop Shortcuts
* Save a Desktop Shortcut that will automatically change to a different Display Profile when you double-click on it.
* Add one or more programs to pre-start before your game or application
* Works with Steam and Uplay Game libraries!
* Optionally rollback to your previous Display profile once the game or application has closed.
* Or maybe just create a Shortcut that permanently changes to a different Display Profile! The options are endless.
* Also comes with a Shell Extension that allows you to change to a different Display Profile by right-clicking on the desktop background!
* Supports NVIDIA Surround and NVIDIA Mosaic settings
## Planned features
@ -61,6 +62,7 @@ No need to donate! I am doing this work to scratch a programming itch I've had f
<div style="text-align:center"><img src="READMEAssets/HeliosPlusShortcutLibrary.png"/></div>
<div style="text-align:center"><img src="READMEAssets/HeliosPlusConfigureShortcut1.png"/></div>
<div style="text-align:center"><img src="READMEAssets/HeliosPlusConfigureShortcut3.png"/></div>
<div style="text-align:center"><img src="READMEAssets/HeliosPlusShellExtension.png"/></div>
### Initial Setup:

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB