diff --git a/ReadableExpressions.Visualizers.Installer.Custom/VisualizerInstallationActions.cs b/ReadableExpressions.Visualizers.Installer.Custom/VisualizerInstallationActions.cs index 6f837fa2..f5bb4c18 100644 --- a/ReadableExpressions.Visualizers.Installer.Custom/VisualizerInstallationActions.cs +++ b/ReadableExpressions.Visualizers.Installer.Custom/VisualizerInstallationActions.cs @@ -6,7 +6,6 @@ namespace AgileObjects.ReadableExpressions.Visualizers.Installer.Custom using System.IO; using System.Linq; using System.Reflection; - using System.Security.Permissions; using System.Text; using System.Text.RegularExpressions; using Microsoft.Deployment.WindowsInstaller; @@ -59,7 +58,6 @@ private static string GetVsixManifest() private static string VsixManifest => _vsixManifestLoader.Value; [CustomAction] - [SecurityPermission(SecurityAction.Demand)] public static ActionResult Install(Session session) { #if DEBUG @@ -86,7 +84,7 @@ public static ActionResult Install(Session session) catch (Exception ex) { Log(ex.ToString()); - throw; + return ActionResult.Failure; } finally { @@ -94,7 +92,7 @@ public static ActionResult Install(Session session) } } - private static void Log(string message) => _session.Log(message); + private static void Log(string message) => _session?.Log(message); private static IEnumerable GetRelevantVisualizers() { @@ -278,13 +276,21 @@ private static void ResetVsExtensions(Visualizer visualizer) } [CustomAction] - [SecurityPermission(SecurityAction.Demand)] - public static void Uninstall(Session session) + public static ActionResult Uninstall(Session session) { - foreach (var visualizer in GetRelevantVisualizers()) + try + { + foreach (var visualizer in GetRelevantVisualizers()) + { + Delete(visualizer); + } + } + catch { - Delete(visualizer); + return ActionResult.Failure; } + + return ActionResult.Success; } private static void Delete(Visualizer visualizer) diff --git a/ReadableExpressions.Visualizers.Installer/Product.wxs b/ReadableExpressions.Visualizers.Installer/Product.wxs index 980aa437..1a5f574c 100644 --- a/ReadableExpressions.Visualizers.Installer/Product.wxs +++ b/ReadableExpressions.Visualizers.Installer/Product.wxs @@ -1,17 +1,21 @@ - + + + + + - + - - Installed AND NOT UPGRADINGPRODUCTCODE + + (NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL") @@ -19,19 +23,27 @@ - + + + + + + + + + + + + DllEntry="Install" Impersonate="no" Execute="deferred" Return="check"/> - - + DllEntry="Uninstall" Impersonate="no" Execute="deferred" Return="check"/> diff --git a/ReadableExpressions.Visualizers.Installer/ReadableExpressions.Visualizers.Installer.wixproj b/ReadableExpressions.Visualizers.Installer/ReadableExpressions.Visualizers.Installer.wixproj index f3f98e76..33561a79 100644 --- a/ReadableExpressions.Visualizers.Installer/ReadableExpressions.Visualizers.Installer.wixproj +++ b/ReadableExpressions.Visualizers.Installer/ReadableExpressions.Visualizers.Installer.wixproj @@ -4,9 +4,9 @@ Debug x86 3.10 - 1c83f266-d1b7-4910-8069-d82eacc06b6f + f2e07bd5-f32f-4c84-8c9f-30a90c6e8a52 2.0 - AgileObjects.ReadableExpressions.Visualizers.Installer + AgileObjects.ReadableExpressions.Visualizers Package diff --git a/ReadableExpressions.sln b/ReadableExpressions.sln index 908f2d54..09d7feaa 100644 --- a/ReadableExpressions.sln +++ b/ReadableExpressions.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26228.10 +VisualStudioVersion = 15.0.26403.3 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{884A1D4E-7B9C-4411-A1E5-50B30F243FB1}" ProjectSection(SolutionItems) = preProject @@ -27,10 +27,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReadableExpressions.Visuali EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReadableExpressions", "ReadableExpressions\ReadableExpressions.csproj", "{147DDCCE-CDD3-4DD0-8BA3-D3F2F239E161}" EndProject -Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "ReadableExpressions.Visualizers.Installer", "ReadableExpressions.Visualizers.Installer\ReadableExpressions.Visualizers.Installer.wixproj", "{1C83F266-D1B7-4910-8069-D82EACC06B6F}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReadableExpressions.Visualizers.Installer.Custom", "ReadableExpressions.Visualizers.Installer.Custom\ReadableExpressions.Visualizers.Installer.Custom.csproj", "{F0FCABC6-52C4-4670-AD28-7DC20B44B13D}" EndProject +Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "ReadableExpressions.Visualizers.Installer", "ReadableExpressions.Visualizers.Installer\ReadableExpressions.Visualizers.Installer.wixproj", "{F2E07BD5-F32F-4C84-8C9F-30A90C6E8A52}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -93,18 +93,18 @@ Global {147DDCCE-CDD3-4DD0-8BA3-D3F2F239E161}.Release|Any CPU.Build.0 = Release|Any CPU {147DDCCE-CDD3-4DD0-8BA3-D3F2F239E161}.Release|x86.ActiveCfg = Release|Any CPU {147DDCCE-CDD3-4DD0-8BA3-D3F2F239E161}.Release|x86.Build.0 = Release|Any CPU - {1C83F266-D1B7-4910-8069-D82EACC06B6F}.Debug|Any CPU.ActiveCfg = Debug|x86 - {1C83F266-D1B7-4910-8069-D82EACC06B6F}.Debug|x86.ActiveCfg = Debug|x86 - {1C83F266-D1B7-4910-8069-D82EACC06B6F}.Debug|x86.Build.0 = Debug|x86 - {1C83F266-D1B7-4910-8069-D82EACC06B6F}.Release|Any CPU.ActiveCfg = Release|x86 - {1C83F266-D1B7-4910-8069-D82EACC06B6F}.Release|x86.ActiveCfg = Release|x86 - {1C83F266-D1B7-4910-8069-D82EACC06B6F}.Release|x86.Build.0 = Release|x86 {F0FCABC6-52C4-4670-AD28-7DC20B44B13D}.Debug|Any CPU.ActiveCfg = Debug|x86 {F0FCABC6-52C4-4670-AD28-7DC20B44B13D}.Debug|x86.ActiveCfg = Debug|x86 {F0FCABC6-52C4-4670-AD28-7DC20B44B13D}.Debug|x86.Build.0 = Debug|x86 {F0FCABC6-52C4-4670-AD28-7DC20B44B13D}.Release|Any CPU.ActiveCfg = Release|x86 {F0FCABC6-52C4-4670-AD28-7DC20B44B13D}.Release|x86.ActiveCfg = Release|x86 {F0FCABC6-52C4-4670-AD28-7DC20B44B13D}.Release|x86.Build.0 = Release|x86 + {F2E07BD5-F32F-4C84-8C9F-30A90C6E8A52}.Debug|Any CPU.ActiveCfg = Debug|x86 + {F2E07BD5-F32F-4C84-8C9F-30A90C6E8A52}.Debug|x86.ActiveCfg = Debug|x86 + {F2E07BD5-F32F-4C84-8C9F-30A90C6E8A52}.Debug|x86.Build.0 = Debug|x86 + {F2E07BD5-F32F-4C84-8C9F-30A90C6E8A52}.Release|Any CPU.ActiveCfg = Release|x86 + {F2E07BD5-F32F-4C84-8C9F-30A90C6E8A52}.Release|x86.ActiveCfg = Release|x86 + {F2E07BD5-F32F-4C84-8C9F-30A90C6E8A52}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE