aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller/Decompile
diff options
context:
space:
mode:
authorBob Arnson <bob@firegiant.com>2018-11-14 20:23:35 -0500
committerRob Mensching <rob@robmensching.com>2018-11-19 14:19:02 -0800
commit135dad52ea93d65e9cfe1490f34d12bec510c836 (patch)
treec096fa60a49737bd62018cfd708f77b9013d9963 /src/WixToolset.Core.WindowsInstaller/Decompile
parent8592a35ebf66a813d2094294f8769d5f2b8c82f8 (diff)
downloadwix-135dad52ea93d65e9cfe1490f34d12bec510c836.tar.gz
wix-135dad52ea93d65e9cfe1490f34d12bec510c836.tar.bz2
wix-135dad52ea93d65e9cfe1490f34d12bec510c836.zip
Explicitly mark bitness of entities that support 64-bit attribute.
This ensures that you can build a 64-bit package with 32-bit entities and not lose the "forced" 32-bit-ness in the decompiled output.
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Decompile')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs b/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs
index 26e1f399..3b193a4a 100644
--- a/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs
@@ -4663,6 +4663,11 @@ namespace WixToolset.Core.WindowsInstaller
4663 { 4663 {
4664 customAction.Win64 = Wix.YesNoType.yes; 4664 customAction.Win64 = Wix.YesNoType.yes;
4665 } 4665 }
4666 else if (MsiInterop.MsidbCustomActionTypeVBScript == (type & MsiInterop.MsidbCustomActionTypeVBScript) ||
4667 MsiInterop.MsidbCustomActionTypeJScript == (type & MsiInterop.MsidbCustomActionTypeJScript))
4668 {
4669 customAction.Win64 = Wix.YesNoType.no;
4670 }
4666 4671
4667 switch (type & MsiInterop.MsidbCustomActionTypeExecuteBits) 4672 switch (type & MsiInterop.MsidbCustomActionTypeExecuteBits)
4668 { 4673 {
@@ -4903,6 +4908,10 @@ namespace WixToolset.Core.WindowsInstaller
4903 { 4908 {
4904 component.Win64 = Wix.YesNoType.yes; 4909 component.Win64 = Wix.YesNoType.yes;
4905 } 4910 }
4911 else
4912 {
4913 component.Win64 = Wix.YesNoType.no;
4914 }
4906 4915
4907 if (MsiInterop.MsidbComponentAttributesDisableRegistryReflection == (attributes & MsiInterop.MsidbComponentAttributesDisableRegistryReflection)) 4916 if (MsiInterop.MsidbComponentAttributesDisableRegistryReflection == (attributes & MsiInterop.MsidbComponentAttributesDisableRegistryReflection))
4908 { 4917 {
@@ -7810,6 +7819,10 @@ namespace WixToolset.Core.WindowsInstaller
7810 registrySearch.Win64 = Wix.YesNoType.yes; 7819 registrySearch.Win64 = Wix.YesNoType.yes;
7811 type &= ~MsiInterop.MsidbLocatorType64bit; 7820 type &= ~MsiInterop.MsidbLocatorType64bit;
7812 } 7821 }
7822 else
7823 {
7824 registrySearch.Win64 = Wix.YesNoType.no;
7825 }
7813 7826
7814 switch (type) 7827 switch (type)
7815 { 7828 {