It looks like your components are in a merge module. When a merge module is
built into an MSI, various Ids such as properties and component and file Ids
are modularised: they have the merge module guid appended to them. This
prevents Id clashes between merge modules.

If you open your MSI in Orca or InstEd and examine the component conditions,
I hazard that you'll see the component condition is now something like
MYCORP_FOUNDPRODUCTPLATFORM.980E88AD_5641_42E4_9827_666782E3BCEC <>"x86"

The solution is to either adjust your references within the main MSI to
MYCORP_FOUNDPRODUCTPLATFORM to include the GUID that will be added to it or
(I think) use Property/@suppressModularization if you're sure that there
won't be any unintentional name clashes, or look into configurable merge
modules, which is a little more work. If you don't need to share portions of
your MSI with other non-wix users, I'd suggest using wixlibs rather than
merge modules anyway.

-----Original Message-----
From: Steven Ogilvie [mailto:steven.ogil...@titus.com] 
Sent: 11 October 2012 16:50
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] silly question... re properties...

Let me do this again :)

In merge module I have 6 components set to install depending on a custom
action that detects the "bit" of MS Outlook (whether it is 32 or 64 bit)

** Currently all 6 files get installed... but only 3 should be installed
depending on the Outlook bit **

The three outlook 32 bit files are:
<Condition><![CDATA[MYCORP_FOUNDPRODUCTPLATFORM <>"x64"]]></Condition>
The three outlook 64bit files are:
<Condition><![CDATA[MYCORP_FOUNDPRODUCTPLATFORM <>"x86"]]></Condition>

The custom action is run at both execute and ui sequence <Custom
Action="RunMYCORPPrerequisiteCheck"  Before="CostFinalize">NOT
Installed</Custom>

MSI Logfile has this:

MSI (c) (54!94) [11:36:43:799]: PROPERTY CHANGE: Adding
MYCORP_FOUNDPRODUCTPLATFORM property. Its value is 'x86'.
MYCORP Common Setup Toolkit: MYCORP_FOUNDPRODUCTPLATFORM: x86

MSI (c) (54:00) [11:36:47:293]: Switching to server: NETFRAMEWORK40FULL="#1"
TARGETDIR="C:\" INSTALLLOCATION="C:\Program Files (x86)\MYCORP\MyProduct\"
INSTALLDESTINATION="C:\Program Files (x86)\MYCORP\Services\"
CURRENTDIRECTORY="C:\Dev\Core
Technologies\Main\Setup\TMC_Client_Setup\bin\Debug" CLIENTUILEVEL="0"
CLIENTPROCESSID="4180" USERNAME="MYCORP2" SOURCEDIR="C:\Dev\Core
Technologies\Main\Setup\TMC_Client_Setup\bin\Debug\" ACTION="INSTALL"
EXECUTEACTION="INSTALL" ROOTDRIVE="C:\" MYCORP_FOUNDPRODUCTPLATFORM="x86"
INSTALLLEVEL="1" WIXUI_INSTALLDIR_VALID="1" SECONDSEQUENCE="1"
ADDLOCAL=Feature_AllClient,Feature_Services  

MSI (s) (4C:F4) [11:36:52:577]: Command Line: NETFRAMEWORK40FULL=#1
TARGETDIR=C:\ INSTALLLOCATION=C:\Program Files (x86)\MYCORP\MyProduct\
INSTALLDESTINATION=C:\Program Files (x86)\MYCORP\Services\
CURRENTDIRECTORY=C:\Dev\Core
Technologies\Main\Setup\TMC_Client_Setup\bin\Debug CLIENTUILEVEL=0
CLIENTPROCESSID=4180 USERNAME=MYCORP2 SOURCEDIR=C:\Dev\Core
Technologies\Main\Setup\TMC_Client_Setup\bin\Debug\ ACTION=INSTALL
EXECUTEACTION=INSTALL ROOTDRIVE=C:\ MYCORP_FOUNDPRODUCTPLATFORM=x86
INSTALLLEVEL=1 WIXUI_INSTALLDIR_VALID=1 SECONDSEQUENCE=1
ADDLOCAL=Feature_AllClient,Feature_Services ACTION=INSTALL

MSI (s) (4C:F4) [11:36:55:417]: PROPERTY CHANGE: Adding
MYCORP_FOUNDPRODUCTPLATFORM property. Its value is 'x86'.

Property(S): MYCORP_FOUNDPRODUCTPLATFORM = x86

Property(C): MYCORP_FOUNDPRODUCTPLATFORM = x86

One of the 64 bit components has this in log file:

MSI (s) (4C:F4) [11:36:57:184]: Component:
cmp_TL_MAPIHooks_x64.980E88AD_5641_42E4_9827_666782E3BCEC; Installed: Absent;
Request: Local;   Action: Local;   Client State: Unknown

MSI (s) (4C:F4) [11:36:57:184]: Component:
__cmp_TL_MAPIHooks_x64.980E88AD_5641_42E4_9827_666782E3BCEC65; Installed:
Null;   Request: Local;   Action: Local;   Client State: Null

Component GUID:

MSI (s) (4C:F4) [11:36:58:607]: Executing op:
ComponentRegister(ComponentId={977FCDF7-D89C-4EB5-88EC-74A4E6750866},KeyPath=
C:\Program Files
(x86)\MYCORP\MyProduct\TL_MAPIHooks_x64.dll,State=3,,Disk=1,SharedDllRefCount
=0,BinaryType=0)
1: {6D3C48F1-3076-4350-8C51-80AAB4F4E213} 2:
{977FCDF7-D89C-4EB5-88EC-74A4E6750866} 3: C:\Program Files
(x86)\MYCORP\MyProduct\TL_MAPIHooks_x64.dll
MSI (s) (4C:F4) [11:36:58:607]: WIN64DUALFOLDERS: Substitution in 'C:\Program
Files (x86)\MYCORP\MyProduct\TL_MAPIHooks_x64.dll' folder had been blocked by
the 1 mask argument (the folder pair's iSwapAttrib member = 0).

File ID:

MSI (s) (4C:F4) [11:36:57:839]: The file represented by File table key
'file_TL_MAPIHooks_x64.980E88AD_5641_42E4_9827_666782E3BCEC' has no eligible
binary patches

MSI (s) (4C:F4) [11:37:02:041]: Executing op:
FileCopy(SourceName=fs_cm0pb.dll|TL_MAPIHooks_x64.dll,SourceCabKey=file_TL_MA
PIHooks_x64.980E88AD_5641_42E4_9827_666782E3BCEC,DestName=TL_MAPIHooks_x64.dl
l,Attributes=512,FileSize=948224,PerTick=65536,,VerifyMedia=1,,,,,CheckCRC=0,
Version=3.5.1.0,Language=1033,InstallMode=58982400,,,,,,,)
MSI (s) (4C:F4) [11:37:02:041]: File: C:\Program Files
(x86)\MYCORP\MyProduct\TL_MAPIHooks_x64.dll;    To be installed;        Won't
patch;  No existing file
MSI (s) (4C:F4) [11:37:02:041]: Source for file
'file_TL_MAPIHooks_x64.980E88AD_5641_42E4_9827_666782E3BCEC' is compressed
InstallFiles: File: TL_MAPIHooks_x64.dll,  Directory: C:\Program Files
(x86)\MYCORP\MyProduct\,  Size: 948224

It looks like the condition is ignored completely ?

Steve

-----Original Message-----
From: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com]
Sent: October-11-12 5:08 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] silly question... re properties...

I'm confused by your description of what you've done.
You say your CA is C# but it looks like a property setting CA. Also you say
its run before LaunchConditions but it says before InstallFiles.
As far as I'm aware, any custom action that's run will be mentioned in a
verbose log, whatever it does.
Component conditions are evaluated during CostFinalize. If your custom action
changes the property before InstallFiles, it will not alter the result of the
condition.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa368007%28v=vs.85%29
.aspx

-----Original Message-----
From: StevenOgilvie [mailto:sogil...@msn.com]
Sent: 10 October 2012 17:57
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] silly question... re properties...

Hi all,

I feel like a dork asking but...

If a property is a assigned value 'x' and then a custom action changes the
value to same ('x') will the MSI log file just show that the custom action
was run? i.e.

MSI (s) (CC:90) [12:48:12:634]: Doing action:
CA_TITUS_FOUNDPRODUCTPLATFORM.SetProperty
Action 12:48:12: CA_TITUS_FOUNDPRODUCTPLATFORM.SetProperty. CA: Set
TITUS_FOUNDPRODUCTPLATFORM property...
Action start 12:48:12: CA_TITUS_FOUNDPRODUCTPLATFORM.SetProperty.
Action ended 12:48:12: CA_TITUS_FOUNDPRODUCTPLATFORM.SetProperty. Return
value 1.

I have set the property: <Property Id="TITUS_FOUNDPRODUCTPLATFORM"
Secure="yes" Value="x86"/>

run the custom action, a C# custom action project which is run before
launchconditions on both execute and UI sequences, the log file shows: TITUS
Common Setup Toolkit: TITUS_FOUNDPRODUCTPLATFORM: x86

set the property as:  <CustomAction
Id="CA_TITUS_FOUNDPRODUCTPLATFORM.SetProperty"
Property="TITUS_FOUNDPRODUCTPLATFORM" Value="[TITUS_FOUNDPRODUCTPLATFORM]"
/>

run the custom action: <Custom
Action="CA_TITUS_FOUNDPRODUCTPLATFORM.SetProperty" Before="InstallFiles">NOT
Installed</Custom>

I have 6 components that are conditioned: <Condition></Condition>

but all 6 components (6 files) are installed :(

what am I doing wrong?

thanks,

Steve aka the noob



--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/silly-question-
re-properties-tp7581268.html
Sent from the wix-users mailing list archive at Nabble.com.

-----------------------------------------------------------------------------
-
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly what is
happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at
no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
SDL PLC confidential, all rights reserved.
If you are not the intended recipient of this mail SDL requests and requires
that you delete it without acting upon or copying any of its contents, and we
further request that you advise us.
SDL PLC is a public limited company registered in England and Wales.
Registered number: 02675207.
Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6
7DY, UK.


-----------------------------------------------------------------------------
-
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly what is
happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at
no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

-----------------------------------------------------------------------------
-
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly what is
happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at
no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to