A debug verbose log may tell you when different properties were set, so that
is a good start. It may depend on your particular version of MSI, etc.

The directory table itself is resolved during CostFinalize, but any
properties it makes use of may have been set before then (such as
TARGETDIR/ROOTDRIVE/ProgramFilesFolder/etc.) and would come from the session
properties instead of directly from the property table.

I don't know when the Property table is processed (which would insert each
non-empty entry into the current session). It is possible that table is
processed very early on, which would mean that adding temporary rows to the
Property table would only influence changes to a different sequence (e.g.
from UI to Execute). However, not all session values come from the Property
table.

-----Original Message-----
From: Yan Sklyarenko [mailto:y...@sitecore.net] 
Sent: Tuesday, August 18, 2009 1:52 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] MsiViewModify vs. MsiSetProperty

Thanks for the answer.
The custom action was placed before CostFinalize, I didn't change this
position. 
 
>> which is gradually built up a query at a time
I'm not sure I understand this...  could you please explain?
 
>> It is all a matter of your position in your sequence
I'm populating the Directory table before CostFinalize, which should be ok I
think - the directories are not resolved by this time, right?
 
-- Yan
________________________________

From: Blair [mailto:os...@live.com]
Sent: Tue 8/18/2009 23:39
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] MsiViewModify vs. MsiSetProperty



Changing the database view will change all future queries into that
database. Changing the current property set (which is gradually built up a
query at a time) will change all future uses of that property.

It is all a matter of your position in your sequence (and where the actions
before and after you are getting their data from).

-----Original Message-----
From: Yan Sklyarenko [mailto:y...@sitecore.net]
Sent: Tuesday, August 18, 2009 1:13 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] MsiViewModify vs. MsiSetProperty

Hello MSI gurus,

I've faced with an interesting issue, which is now a kind of academic
interest for me.
I had to modify the MSI tables from an immediate custom action using DTF. I
was using View.Modify method with InsertTemporary option, as it is the only
way to "change" the MSI database at runtime. All the tables required were
addressed by this technique, including Property.

However, I mentioned that my custom action behaves incorrectly. I've been
setting a property containing the disk root (e.g. D:\) and then referenced
that property from Directory table. But in the log file that property fell
back to a disk root with the most of free space (as if the TARGETDIR wasn't
set).
When I changed the property set operation from View.Modify to
session["PROP_NAME"] = "D:\", everything started working correctly.

So, my question is what's the difference between MsiViewModify and
MsiSetProperty? And are there any recommendations where to use each?

Thank you.

-- Yan
----------------------------------------------------------------------------
--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus
on what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


----------------------------------------------------------------------------
--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus
on what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users




------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to