Hi 

I still havent figured out how to solve my issue, but i have found a couple of 
other aspects. As it seems, the built in property: [SourceDir] is, depending at 
the time of exeuction, sometimes empty. In the execute sequence, if i use a 
immediate custom action, scheduled after InstallInitialize, the property 
"SourceDir" is empty (in C#: session["SourceDir"]) . The log also states that 
the property is deleted, however, recreated afterwards. 

I start to believe that this is the reason why I have been struggling accessing 
the property in a deferred custom action. Is it not possible to access this 
property in the execute sequence? Or what would I have to do?

Greetings


(PS: by the way, the workaround in my prior mail does not work because the 
SourceDir property is not set. Sorry for precipitating)




________________________________________
Von: daniel.knoep...@noser.com [daniel.knoep...@noser.com]
Gesendet: Mittwoch, 14. Juli 2010 10:11
An: wix-users@lists.sourceforge.net
Betreff: Re: [WiX-users] Accessing Source directory in Deferred Custom  Action 
(ApDataFolder etc. is working, just not SourceDir)

Hi

Since I haven't managed to assign the [SourceDir] value to a customAction Data 
Property, i tried to assign the data assign the value to a property and then 
assign that property to the a customAction. However, no success, the assigned 
property is empty. I am sure it is a simple syntax thing but i cant figure out 
the solution :-(

Here is what i did:
 <Property Id="TestProp" Value="[SourceDir]" />
  <SetProperty Id="TestProp" After="CostFinalize" Sequence="execute" 
Value="[SourceDir]" />

<InstallExecuteSequence>
<Custom Action="TestCA.SetProperty" After="InstallInitialize"/>
<Custom Action="TestCA" After="TestCA.SetProperty"/>
</InstallExecuteSequence>

<CustomAction Id="TestCA.SetProperty" Return="check"
Property="TestCA"
Value="TestingCAD=[TestProp];INSTALLDIR=[INSTALLDIR];AppDataFolder=[AppDataF
older]">
</CustomAction>
<CustomAction Id="TestCA" BinaryKey="CustomActionDll" DllEntry="TestMethod"
Impersonate="no" Execute="deferred" Return="check">
</CustomAction>

Still no success. :-(

I have found a workaround to set a property but thats something i want to avoid 
at any cost:

1. Define property "DUMMYPROPERTY"
2. Set property in C# custom action:      session["DUMMYPROPERTY"] = "i get 
assigned, jabadabadu";
3. Assign property to custom action data (as above)

So I am 100% sure that the syntax i use for the SourceDir property is wrong. It 
must be something simple.
I am grateful for any help.

Thanks


________________________________________
Von: Blair [os...@live.com]
Gesendet: Dienstag, 13. Juli 2010 18:34
An: 'General discussion for Windows Installer XML toolset.'
Betreff: Re: [WiX-users] Accessing Source directory in Deferred Custom  Action 
(ApDataFolder etc. is working, just not SourceDir)

In a verbose installation log, what is the resulting value of the TestCA
property?

-----Original Message-----
From: daniel.knoep...@noser.com [mailto:daniel.knoep...@noser.com]
Sent: Tuesday, July 13, 2010 8:24 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Accessing Source directory in Deferred Custom Action
(ApDataFolder etc. is working, just not SourceDir)

Hi

I would like to access the "SourceDir" property in a deferred custom action.
While i can access other directories via the CustomAction property (see
example below). The SourceDir ActionData remains empty. I must be doing
something wrong. I sure it's something silly, that only a wix newby can
stumble over.

Any help appreciated.
Thanks

My sample code:


<InstallExecuteSequence>

<Custom Action="TestCA.SetProperty" After="InstallInitialize"/>

<Custom Action="TestCA" After="TestCA.SetProperty"/>

</InstallExecuteSequence>



<CustomAction Id="TestCA.SetProperty" Return="check"

Property="TestCA"
Value="SourceDir=[SourceDir];INSTALLDIR=[INSTALLDIR];AppDataFolder=[AppDataF
older]">

</CustomAction>

<CustomAction Id="TestCA" BinaryKey="CustomActionDll" DllEntry="TestMethod"
Impersonate="no" Execute="deferred" Return="check">

</CustomAction>





In the C# code:



[CustomAction]

public static ActionResult TestMethod(Session session)

{

session.Log("CustomAction TestMethod called!");

.



try{

//   empty

string showMe = session.CustomActionData["SourceDir"];



// working, path

string showMe = session.CustomActionData["AppDataFolder"];
----------------------------------------------------------------------------
--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to