Thanks a lot, Blair! You were absolutely right!
If I use MsiSetProperty, I can see in the log file that the property is
set within my custom action. Otherwise (in case of MsiViewModify) the
property doesn't get set and it is set later to the default value - in
my case, the drive root which has the most of free space.

Thanks again for your help!

-- Yan


-----Original Message-----
From: Blair [mailto:os...@live.com] 
Sent: Wednesday, August 19, 2009 12:11 AM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] MsiViewModify vs. MsiSetProperty

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

------------------------------------------------------------------------------
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