Hi and halleluja

I finally managed to access the SourceDir Property in the CustomAction data. 
The reason i could not access the SourceDir property earlier was simply that I 
scheduled the customAction to assign the properties to the CustomActiondata to 
early (It seems UI-sequence and execute sequence are different)

Here is what works: 

  <InstallExecuteSequence>
      <Custom Action="TestCA.SetProperty" After="CreateFolders"/>
      <Custom Action="CreateFolders" 
After="CopyChangingFilesAction.SetProperty"/>
   </InstallExecuteSequence>
 <CustomAction Id="TestCA.SetProperty" Return="check"
      Property="TestCA" 
Value="SourceDir=[SourceDir];INSTALLDIR=[INSTALLDIR];CommonAppDataFolder=[CommonAppDataFolder]">
    </CustomAction>
    <CustomAction Id="TestCA" BinaryKey="CustomActionDll" DllEntry="TestMethod" 
Impersonate="no" Execute="deferred" Return="check">
    </CustomAction>


Even though i like some aspectcs of msi (like the declarative approach), it 
seems to me that it is far more complicated than it could have been. Wix is a 
good start but - naturally - it cannot fully overcome the msi shortcomings. Or 
maybe I should have become something else in life

________________________________________
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