From 2c52f0598d0b4263e3b5e1e660e865dcf703f681 Mon Sep 17 00:00:00 2001 From: Mathias Date: Mon, 26 Jan 2015 23:22:24 +0100 Subject: [PATCH 1/3] msi: Add WM_SETTINGCHANGE broadcast on InstallFinalize Fix: https://github.com/iojs/io.js/issues/603 --- .../BroadcastPathUpdateCustomAction.cpp | 41 +++++++++++++++++++ .../BroadcastPathUpdateCustomAction.def | 5 +++ .../stdafx.cpp | 8 ++++ .../BroadcastPathUpdateCustomAction/stdafx.h | 17 ++++++++ .../targetver.h | 24 +++++++++++ tools/msvs/msi/nodemsi.sln | 16 +++++++- tools/msvs/msi/nodemsi.wixproj | 12 +++++- tools/msvs/msi/product.wxs | 10 +++++ 8 files changed, 130 insertions(+), 3 deletions(-) create mode 100644 tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.cpp create mode 100644 tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.def create mode 100644 tools/msvs/BroadcastPathUpdateCustomAction/stdafx.cpp create mode 100644 tools/msvs/BroadcastPathUpdateCustomAction/stdafx.h create mode 100644 tools/msvs/BroadcastPathUpdateCustomAction/targetver.h diff --git a/tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.cpp b/tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.cpp new file mode 100644 index 00000000000000..fd8b8bea17db2c --- /dev/null +++ b/tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.cpp @@ -0,0 +1,41 @@ +#include "stdafx.h" + +UINT __stdcall BroadcastPathUpdate(MSIHANDLE hInstall) { + HRESULT hr = S_OK; + UINT er = ERROR_SUCCESS; + + hr = WcaInitialize(hInstall, "BroadcastPathUpdateCustomAction"); + ExitOnFailure(hr, "Failed to initialize"); + + WcaLog(LOGMSG_STANDARD, "Initialized."); + + SendMessageTimeout(HWND_BROADCAST, + WM_SETTINGCHANGE, + 0, + (LPARAM)L"Environment", + SMTO_ABORTIFHUNG, + 5000, + NULL); + +LExit: + er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE; + return WcaFinalize(er); +} + + +// DllMain - Initialize and cleanup WiX custom action utils. +extern "C" BOOL WINAPI DllMain(__in HINSTANCE hInst, + __in ULONG ulReason, + __in LPVOID) { + switch (ulReason) { + case DLL_PROCESS_ATTACH: + WcaGlobalInitialize(hInst); + break; + + case DLL_PROCESS_DETACH: + WcaGlobalFinalize(); + break; + } + + return TRUE; +} diff --git a/tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.def b/tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.def new file mode 100644 index 00000000000000..f784f5b7819f9a --- /dev/null +++ b/tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.def @@ -0,0 +1,5 @@ +LIBRARY "BroadcastPathUpdateCustomAction" + +EXPORTS + +BroadcastPathUpdate diff --git a/tools/msvs/BroadcastPathUpdateCustomAction/stdafx.cpp b/tools/msvs/BroadcastPathUpdateCustomAction/stdafx.cpp new file mode 100644 index 00000000000000..62c7809cacef67 --- /dev/null +++ b/tools/msvs/BroadcastPathUpdateCustomAction/stdafx.cpp @@ -0,0 +1,8 @@ +// stdafx.cpp : source file that includes just the standard includes +// BroadcastPathUpdateCustomAction.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + +// TODO: reference any additional headers you need in STDAFX.H +// and not in this file diff --git a/tools/msvs/BroadcastPathUpdateCustomAction/stdafx.h b/tools/msvs/BroadcastPathUpdateCustomAction/stdafx.h new file mode 100644 index 00000000000000..e2960980d5577a --- /dev/null +++ b/tools/msvs/BroadcastPathUpdateCustomAction/stdafx.h @@ -0,0 +1,17 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#pragma once + +#include "targetver.h" + +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +// Windows Header Files: +#include +#include +#include + +// WiX Header Files: +#include diff --git a/tools/msvs/BroadcastPathUpdateCustomAction/targetver.h b/tools/msvs/BroadcastPathUpdateCustomAction/targetver.h new file mode 100644 index 00000000000000..20d087c2b4ba68 --- /dev/null +++ b/tools/msvs/BroadcastPathUpdateCustomAction/targetver.h @@ -0,0 +1,24 @@ +#pragma once + +// The following macros define the minimum required platform. The minimum required platform +// is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run +// your application. The macros work by enabling all features available on platform versions up to and +// including the version specified. + +// Modify the following defines if you have to target a platform prior to the ones specified below. +// Refer to MSDN for the latest info on corresponding values for different platforms. +#ifndef WINVER // Specifies that the minimum required platform is Windows 2000. +#define WINVER 0x0500 // Change this to the appropriate value to target other versions of Windows. +#endif + +#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows 2000. +#define _WIN32_WINNT 0x0500 // Change this to the appropriate value to target other versions of Windows. +#endif + +#ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 5.0. +#define _WIN32_IE 0x0500 // Change this to the appropriate value to target other versions of IE. +#endif + +#ifndef _WIN32_MSI // Specifies that the minimum required MSI version is MSI 3.1 +#define _WIN32_MSI 310 // Change this to the appropriate value to target other versions of MSI. +#endif diff --git a/tools/msvs/msi/nodemsi.sln b/tools/msvs/msi/nodemsi.sln index f95b00f879cefb..dae38e172bde99 100644 --- a/tools/msvs/msi/nodemsi.sln +++ b/tools/msvs/msi/nodemsi.sln @@ -1,8 +1,12 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.31101.0 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "nodemsi", "nodemsi.wixproj", "{1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BroadcastPathUpdateCustomAction", "..\BroadcastPathUpdateCustomAction\BroadcastPathUpdateCustomAction.vcxproj", "{B70585F8-DAB7-40FA-9904-13CF53A73A06}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -19,6 +23,14 @@ Global {1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}.Release|x64.Build.0 = Release|x64 {1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}.Release|x86.ActiveCfg = Release|x86 {1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}.Release|x86.Build.0 = Release|x86 + {B70585F8-DAB7-40FA-9904-13CF53A73A06}.Debug|x64.ActiveCfg = Debug|Win32 + {B70585F8-DAB7-40FA-9904-13CF53A73A06}.Debug|x64.Build.0 = Debug|Win32 + {B70585F8-DAB7-40FA-9904-13CF53A73A06}.Debug|x86.ActiveCfg = Debug|Win32 + {B70585F8-DAB7-40FA-9904-13CF53A73A06}.Debug|x86.Build.0 = Debug|Win32 + {B70585F8-DAB7-40FA-9904-13CF53A73A06}.Release|x64.ActiveCfg = Release|Win32 + {B70585F8-DAB7-40FA-9904-13CF53A73A06}.Release|x64.Build.0 = Release|Win32 + {B70585F8-DAB7-40FA-9904-13CF53A73A06}.Release|x86.ActiveCfg = Release|Win32 + {B70585F8-DAB7-40FA-9904-13CF53A73A06}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/tools/msvs/msi/nodemsi.wixproj b/tools/msvs/msi/nodemsi.wixproj index f2caa1bb91b2bd..4f7600a8996ab1 100644 --- a/tools/msvs/msi/nodemsi.wixproj +++ b/tools/msvs/msi/nodemsi.wixproj @@ -56,6 +56,16 @@ + + + BroadcastPathUpdateCustomAction + {b70585f8-dab7-40fa-9904-13cf53a73a06} + True + True + Binaries;Content;Satellites + INSTALLFOLDER + + @@ -65,4 +75,4 @@ move "!(TargetPath)" "$(TargetDir)\$(TargetFileName)" move "!(TargetPdbPath)" "$(TargetDir)\$(TargetPdbName)" - + \ No newline at end of file diff --git a/tools/msvs/msi/product.wxs b/tools/msvs/msi/product.wxs index 878999f309d205..77c63dc0aca2f4 100755 --- a/tools/msvs/msi/product.wxs +++ b/tools/msvs/msi/product.wxs @@ -269,10 +269,20 @@ Execute="deferred" Return="check" /> + + + + $NodeAlias = 3 + From 11b9f1fa83134a6e29adce382973e69c8ecf01cc Mon Sep 17 00:00:00 2001 From: Mathias Date: Mon, 26 Jan 2015 23:33:10 +0100 Subject: [PATCH 2/3] missed the .gitignore entry --- .gitignore | 1 + .../BroadcastPathUpdateCustomAction.vcxproj | 115 ++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.vcxproj diff --git a/.gitignore b/.gitignore index c3a9e464540fe1..3319f24bb05304 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,7 @@ Release/ *.suo *.vcproj *.vcxproj +!BroadcastPathUpdateCustomAction.vcxproj *.vcxproj.user *.vcxproj.filters UpgradeLog*.XML diff --git a/tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.vcxproj b/tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.vcxproj new file mode 100644 index 00000000000000..ff070bf95e9b60 --- /dev/null +++ b/tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.vcxproj @@ -0,0 +1,115 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {B70585F8-DAB7-40FA-9904-13CF53A73A06} + BroadcastPathUpdateCustomAction + Win32Proj + BroadcastPathUpdateCustomAction + + + + DynamicLibrary + v120 + Unicode + true + + + DynamicLibrary + v120 + Unicode + + + + + + + + + + + + + <_ProjectFileVersion>12.0.30501.0 + + + bin\$(Configuration)\ + obj\$(Configuration)\ + true + + + bin\$(Configuration)\ + obj\$(Configuration)\ + false + + + + Disabled + $(WIX)sdk\VS2013\inc;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;CUSTOMACTIONTEST_EXPORTS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + Level3 + EditAndContinue + + + msi.lib;dutil.lib;wcautil.lib;Version.lib;%(AdditionalDependencies) + $(WIX)sdk\VS2013\lib\x86;%(AdditionalLibraryDirectories) + BroadcastPathUpdateCustomAction.def + true + Windows + MachineX86 + + + + + MaxSpeed + true + $(WIX)sdk\VS2013\inc;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;CUSTOMACTIONTEST_EXPORTS;%(PreprocessorDefinitions) + MultiThreaded + true + Use + Level3 + ProgramDatabase + + + msi.lib;dutil.lib;wcautil.lib;Version.lib;%(AdditionalDependencies) + $(WIX)sdk\VS2013\lib\x86;%(AdditionalLibraryDirectories) + BroadcastPathUpdateCustomAction.def + true + Windows + true + true + MachineX86 + + + + + + Create + Create + + + + + + + + + + + + + \ No newline at end of file From a32c1f38c13a315d02bbfbcbb62ec79196b5f27e Mon Sep 17 00:00:00 2001 From: Mathias Date: Tue, 27 Jan 2015 08:55:27 +0100 Subject: [PATCH 3/3] msi: custom extension clean up --- .gitignore | 2 +- .../BroadcastPathUpdateCustomAction.def | 5 ---- .../stdafx.cpp | 8 ------ .../BroadcastPathUpdateCustomAction/stdafx.h | 17 ------------ .../targetver.h | 24 ----------------- .../CustomExtension.cpp} | 17 ++++++------ tools/msvs/msi/CustomExtension.def | 5 ++++ .../CustomExtension.vcxproj} | 26 ++++++++----------- tools/msvs/msi/nodemsi.sln | 2 +- tools/msvs/msi/nodemsi.wixproj | 4 +-- tools/msvs/msi/product.wxs | 12 ++++----- 11 files changed, 35 insertions(+), 87 deletions(-) delete mode 100644 tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.def delete mode 100644 tools/msvs/BroadcastPathUpdateCustomAction/stdafx.cpp delete mode 100644 tools/msvs/BroadcastPathUpdateCustomAction/stdafx.h delete mode 100644 tools/msvs/BroadcastPathUpdateCustomAction/targetver.h rename tools/msvs/{BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.cpp => msi/CustomExtension.cpp} (65%) create mode 100644 tools/msvs/msi/CustomExtension.def rename tools/msvs/{BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.vcxproj => msi/CustomExtension.vcxproj} (85%) diff --git a/.gitignore b/.gitignore index 3319f24bb05304..2424b5fc2087b1 100644 --- a/.gitignore +++ b/.gitignore @@ -29,7 +29,7 @@ Release/ *.suo *.vcproj *.vcxproj -!BroadcastPathUpdateCustomAction.vcxproj +!CustomExtension.vcxproj *.vcxproj.user *.vcxproj.filters UpgradeLog*.XML diff --git a/tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.def b/tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.def deleted file mode 100644 index f784f5b7819f9a..00000000000000 --- a/tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.def +++ /dev/null @@ -1,5 +0,0 @@ -LIBRARY "BroadcastPathUpdateCustomAction" - -EXPORTS - -BroadcastPathUpdate diff --git a/tools/msvs/BroadcastPathUpdateCustomAction/stdafx.cpp b/tools/msvs/BroadcastPathUpdateCustomAction/stdafx.cpp deleted file mode 100644 index 62c7809cacef67..00000000000000 --- a/tools/msvs/BroadcastPathUpdateCustomAction/stdafx.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// stdafx.cpp : source file that includes just the standard includes -// BroadcastPathUpdateCustomAction.pch will be the pre-compiled header -// stdafx.obj will contain the pre-compiled type information - -#include "stdafx.h" - -// TODO: reference any additional headers you need in STDAFX.H -// and not in this file diff --git a/tools/msvs/BroadcastPathUpdateCustomAction/stdafx.h b/tools/msvs/BroadcastPathUpdateCustomAction/stdafx.h deleted file mode 100644 index e2960980d5577a..00000000000000 --- a/tools/msvs/BroadcastPathUpdateCustomAction/stdafx.h +++ /dev/null @@ -1,17 +0,0 @@ -// stdafx.h : include file for standard system include files, -// or project specific include files that are used frequently, but -// are changed infrequently -// - -#pragma once - -#include "targetver.h" - -#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers -// Windows Header Files: -#include -#include -#include - -// WiX Header Files: -#include diff --git a/tools/msvs/BroadcastPathUpdateCustomAction/targetver.h b/tools/msvs/BroadcastPathUpdateCustomAction/targetver.h deleted file mode 100644 index 20d087c2b4ba68..00000000000000 --- a/tools/msvs/BroadcastPathUpdateCustomAction/targetver.h +++ /dev/null @@ -1,24 +0,0 @@ -#pragma once - -// The following macros define the minimum required platform. The minimum required platform -// is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run -// your application. The macros work by enabling all features available on platform versions up to and -// including the version specified. - -// Modify the following defines if you have to target a platform prior to the ones specified below. -// Refer to MSDN for the latest info on corresponding values for different platforms. -#ifndef WINVER // Specifies that the minimum required platform is Windows 2000. -#define WINVER 0x0500 // Change this to the appropriate value to target other versions of Windows. -#endif - -#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows 2000. -#define _WIN32_WINNT 0x0500 // Change this to the appropriate value to target other versions of Windows. -#endif - -#ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 5.0. -#define _WIN32_IE 0x0500 // Change this to the appropriate value to target other versions of IE. -#endif - -#ifndef _WIN32_MSI // Specifies that the minimum required MSI version is MSI 3.1 -#define _WIN32_MSI 310 // Change this to the appropriate value to target other versions of MSI. -#endif diff --git a/tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.cpp b/tools/msvs/msi/CustomExtension.cpp similarity index 65% rename from tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.cpp rename to tools/msvs/msi/CustomExtension.cpp index fd8b8bea17db2c..e782283cf31f12 100644 --- a/tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.cpp +++ b/tools/msvs/msi/CustomExtension.cpp @@ -1,10 +1,15 @@ -#include "stdafx.h" -UINT __stdcall BroadcastPathUpdate(MSIHANDLE hInstall) { +#define WIN32_LEAN_AND_MEAN + +#include +#include +#include + +UINT WINAPI BroadcastEnvironmentUpdate(MSIHANDLE hInstall) { HRESULT hr = S_OK; UINT er = ERROR_SUCCESS; - hr = WcaInitialize(hInstall, "BroadcastPathUpdateCustomAction"); + hr = WcaInitialize(hInstall, "BroadcastEnvironmentUpdate"); ExitOnFailure(hr, "Failed to initialize"); WcaLog(LOGMSG_STANDARD, "Initialized."); @@ -22,11 +27,7 @@ UINT __stdcall BroadcastPathUpdate(MSIHANDLE hInstall) { return WcaFinalize(er); } - -// DllMain - Initialize and cleanup WiX custom action utils. -extern "C" BOOL WINAPI DllMain(__in HINSTANCE hInst, - __in ULONG ulReason, - __in LPVOID) { +extern "C" BOOL WINAPI DllMain(HINSTANCE hInst, ULONG ulReason, LPVOID) { switch (ulReason) { case DLL_PROCESS_ATTACH: WcaGlobalInitialize(hInst); diff --git a/tools/msvs/msi/CustomExtension.def b/tools/msvs/msi/CustomExtension.def new file mode 100644 index 00000000000000..b8920dcf335a4a --- /dev/null +++ b/tools/msvs/msi/CustomExtension.def @@ -0,0 +1,5 @@ +LIBRARY "CustomExtension" + +EXPORTS + +BroadcastEnvironmentUpdate diff --git a/tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.vcxproj b/tools/msvs/msi/CustomExtension.vcxproj similarity index 85% rename from tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.vcxproj rename to tools/msvs/msi/CustomExtension.vcxproj index ff070bf95e9b60..3975520ea9be80 100644 --- a/tools/msvs/BroadcastPathUpdateCustomAction/BroadcastPathUpdateCustomAction.vcxproj +++ b/tools/msvs/msi/CustomExtension.vcxproj @@ -12,9 +12,9 @@ {B70585F8-DAB7-40FA-9904-13CF53A73A06} - BroadcastPathUpdateCustomAction + CustomExtension Win32Proj - BroadcastPathUpdateCustomAction + CustomExtension @@ -66,7 +66,7 @@ msi.lib;dutil.lib;wcautil.lib;Version.lib;%(AdditionalDependencies) $(WIX)sdk\VS2013\lib\x86;%(AdditionalLibraryDirectories) - BroadcastPathUpdateCustomAction.def + CustomExtension.def true Windows MachineX86 @@ -80,34 +80,30 @@ WIN32;NDEBUG;_WINDOWS;_USRDLL;CUSTOMACTIONTEST_EXPORTS;%(PreprocessorDefinitions) MultiThreaded true - Use + + Level3 ProgramDatabase + msi.lib;dutil.lib;wcautil.lib;Version.lib;%(AdditionalDependencies) $(WIX)sdk\VS2013\lib\x86;%(AdditionalLibraryDirectories) - BroadcastPathUpdateCustomAction.def + CustomExtension.def true Windows true true MachineX86 + false + false - - - Create - Create - - - - + - - + diff --git a/tools/msvs/msi/nodemsi.sln b/tools/msvs/msi/nodemsi.sln index dae38e172bde99..037e5d4f8504e2 100644 --- a/tools/msvs/msi/nodemsi.sln +++ b/tools/msvs/msi/nodemsi.sln @@ -5,7 +5,7 @@ VisualStudioVersion = 12.0.31101.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "nodemsi", "nodemsi.wixproj", "{1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BroadcastPathUpdateCustomAction", "..\BroadcastPathUpdateCustomAction\BroadcastPathUpdateCustomAction.vcxproj", "{B70585F8-DAB7-40FA-9904-13CF53A73A06}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CustomExtension", "CustomExtension.vcxproj", "{B70585F8-DAB7-40FA-9904-13CF53A73A06}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/tools/msvs/msi/nodemsi.wixproj b/tools/msvs/msi/nodemsi.wixproj index 4f7600a8996ab1..a12dfc8b10715d 100644 --- a/tools/msvs/msi/nodemsi.wixproj +++ b/tools/msvs/msi/nodemsi.wixproj @@ -57,8 +57,8 @@ - - BroadcastPathUpdateCustomAction + + CustomExtension {b70585f8-dab7-40fa-9904-13cf53a73a06} True True diff --git a/tools/msvs/msi/product.wxs b/tools/msvs/msi/product.wxs index 77c63dc0aca2f4..c69cc346586a94 100755 --- a/tools/msvs/msi/product.wxs +++ b/tools/msvs/msi/product.wxs @@ -269,12 +269,12 @@ Execute="deferred" Return="check" /> - + - @@ -282,7 +282,7 @@ $NodeAlias = 3 - +