summaryrefslogtreecommitdiff
path: root/scp2
diff options
context:
space:
mode:
Diffstat (limited to 'scp2')
-rw-r--r--scp2/InstallModule_windows.mk8
-rw-r--r--scp2/source/ooo/vc_redist.scp26
2 files changed, 33 insertions, 1 deletions
diff --git a/scp2/InstallModule_windows.mk b/scp2/InstallModule_windows.mk
index 296f7fccfa5b..ecba37c42bca 100644
--- a/scp2/InstallModule_windows.mk
+++ b/scp2/InstallModule_windows.mk
@@ -17,11 +17,17 @@ $(eval $(call gb_InstallModule_add_defs,scp2/windows,\
$(if $(WINDOWS_SDK_HOME),\
-DHAVE_WINDOWS_SDK \
) \
+ $(if $(MSM_PATH),\
+ -DMSM_PATH \
+ ) \
+ $(if $(VCREDIST_DIR),\
+ -DVCREDIST_EXE_NAME="$(VCREDIST_EXE)" \
+ ) \
))
$(eval $(call gb_InstallModule_add_scpfiles,scp2/windows,\
scp2/source/ooo/folder_ooo \
- $(if $(MSM_PATH),scp2/source/ooo/vc_redist) \
+ scp2/source/ooo/vc_redist \
scp2/source/ooo/windowscustomaction_ooo \
))
diff --git a/scp2/source/ooo/vc_redist.scp b/scp2/source/ooo/vc_redist.scp
index 9b534a3f27fd..40c6a7e8902e 100644
--- a/scp2/source/ooo/vc_redist.scp
+++ b/scp2/source/ooo/vc_redist.scp
@@ -18,6 +18,8 @@
#include "macros.inc"
+#if defined(MSM_PATH)
+
#if defined(WITH_VC140_REDIST)
#if defined WINDOWS_X64
@@ -56,3 +58,27 @@ End
#endif
+#endif // MSM_PATH
+
+#if defined(VCREDIST_EXE_NAME)
+
+File gid_File_Vcredist_Exe
+ Name = VCREDIST_EXE_NAME;
+ Dir = gid_Brand_Dir_Program;
+ Styles = (PACKED, BINARYTABLE, BINARYTABLE_ONLY);
+End
+
+WindowsCustomAction gid_Customaction_InstallVCRedist
+ Name = "InstallVCRedist";
+ Typ = "66"; /* 0x02 = exe in a binary table stream; 0x40 = ignore exit code and continue */
+ Source = VCREDIST_EXE_NAME;
+ Target = "/repair /norestart /passive";
+ Inbinarytable = 1;
+#if defined WINDOWS_X64
+ Assignment1 = ("InstallUISequence", "Not Installed And ( Not VCREDISTINSTALLED_X64 Or VCREDISTINSTALLED_X64 < \"v14.0.24215.0\" )", "behind_ExecuteAction");
+#else
+ Assignment1 = ("InstallUISequence", "Not Installed And ( Not VCREDISTINSTALLED_X86 Or VCREDISTINSTALLED_X86 < \"v14.0.24215.0\" )", "behind_ExecuteAction");
+#endif
+End
+
+#endif