Skip to content

Commit

Permalink
Fixing WIX visualizers installer
Browse files Browse the repository at this point in the history
  • Loading branch information
SteveWilkes committed Apr 10, 2017
1 parent 6fd37a2 commit 2e67e7e
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 30 deletions.
Expand Up @@ -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;
Expand Down Expand Up @@ -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
Expand All @@ -86,15 +84,15 @@ public static ActionResult Install(Session session)
catch (Exception ex)
{
Log(ex.ToString());
throw;
return ActionResult.Failure;
}
finally
{
_session = null;
}
}

private static void Log(string message) => _session.Log(message);
private static void Log(string message) => _session?.Log(message);

private static IEnumerable<Visualizer> GetRelevantVisualizers()
{
Expand Down Expand Up @@ -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)
Expand Down
34 changes: 23 additions & 11 deletions ReadableExpressions.Visualizers.Installer/Product.wxs
@@ -1,37 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="AgileObjects.ReadableExpressions.Visualizers" Language="1033" Version="1.8.4.0"
Manufacturer="AgileObjects" UpgradeCode="BB7C528F-ECFD-45F2-B50C-9F0A71EC8BE9">
<Product Id="55937946-0bd4-4fe7-a7f2-ff565dd72e79" Version="1.8.4.0" Name="AgileObjects.ReadableExpressions.Visualizers"
Language="1033" Manufacturer="AgileObjects" UpgradeCode="BB7C528F-ECFD-45F2-B50C-9F0A71EC8BE9">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />

<Feature Id="ProductFeature" Title="AgileObjects.ReadableExpressions.Visualizers" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>

<InstallExecuteSequence>
<Custom Action="VisualizersInstall" Sequence="1" />
<Custom Action="VisualizersInstall" After="InstallInitialize" />

<Custom Action="VisualizersUninstall" After="InstallFinalize">
Installed AND NOT UPGRADINGPRODUCTCODE
<Custom Action="VisualizersUninstall" Before="InstallFinalize">
(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")
</Custom>
</InstallExecuteSequence>
</Product>

<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="AgileObjects.ReadableExpressions.Visualizers.Installer" />
<Directory Id="INSTALLFOLDER" Name="AgileObjects.ReadableExpressions.Visualizers" />
</Directory>
</Directory>
</Fragment>

<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="ProductComponent" Guid="3c7ec38f-cf7c-4cdc-845d-50f4f9f85fdf">
<CreateFolder/>
</Component>
</ComponentGroup>
</Fragment>

<Fragment>
<Binary Id="VisualizersBinary"
SourceFile="$(var.Installer.Custom.TargetDir)\ReadableExpressions.Visualizers.Installer.Custom.CA.dll"/>

<CustomAction Id="VisualizersInstall" BinaryKey="VisualizersBinary"
DllEntry="Install" Execute="immediate" Return="check"/>
DllEntry="Install" Impersonate="no" Execute="deferred" Return="check"/>

<CustomAction Id="VisualizersUninstall" BinaryKey="VisualizersBinary"
DllEntry="Uninstall" Execute="immediate" Return="check"/>

<Binary Id="VisualizersBinary"
SourceFile="$(var.Installer.Custom.TargetDir)\ReadableExpressions.Visualizers.Installer.Custom.CA.dll"/>
DllEntry="Uninstall" Impersonate="no" Execute="deferred" Return="check"/>
</Fragment>
</Wix>
Expand Up @@ -4,9 +4,9 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>3.10</ProductVersion>
<ProjectGuid>1c83f266-d1b7-4910-8069-d82eacc06b6f</ProjectGuid>
<ProjectGuid>f2e07bd5-f32f-4c84-8c9f-30a90c6e8a52</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>AgileObjects.ReadableExpressions.Visualizers.Installer</OutputName>
<OutputName>AgileObjects.ReadableExpressions.Visualizers</OutputName>
<OutputType>Package</OutputType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
Expand Down
18 changes: 9 additions & 9 deletions 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
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 2e67e7e

Please sign in to comment.