Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

CA in Button Event Sequence


4 replies to this topic

reesi02

reesi02
  • Members
  • 10 posts

Posted 29 May 2002 - 16:14

Hi all,

I have a pure MSI installation written using developer 7.03. My installation has several selectable features, I want to check that when the user installs either feature A or B that festures C or D are being installed, or are already installed.

I have a custom action (DLL) that I call on the next button from the custom setup dialog box. This custom action sets a property using MsiSetProperty if the above condition is not satisfied.

The custom action works ok and sets the property ok, but when the property in the Next button event sequence is evaluated, it always has the value it had before the custom action was executed.

It appears as if changes to the property that take place during a custom action are not available during the processing sequence.

My next button events are as follows :
action             argument           condition
DoAction      rcProtocolCheck          1
SpawnDialog rcMissingFeature         1

Has anybody had this type of behaviour before, or any suggestions.

Thanks
Simon

Stefan Secker

Stefan Secker
  • Members
  • 46 posts

Posted 29 May 2002 - 16:28

Hi Simon,

just a guess, but maybe you have to check
the execution type of your CA?

I did something very different but in general
was able to write to a global property via a
CA/DoAction Event and read the poperty
afterwards.

Cheers
          Stefan

reesi02

reesi02
  • Members
  • 10 posts

Posted 29 May 2002 - 16:43

The custom aciton is Imediate execution/ Always execute, which I think is right. The CA is run, and I can check the value of the property after I set it in the custom action, and it is right. It is only when it is used in the next condition statment that the property has not changed?

Simon

Stefan Secker

Stefan Secker
  • Members
  • 46 posts

Posted 03 June 2002 - 14:29

Sounds good, should work... ?

I tried the following:

A) Created a Property called "Dummy"
   Value: 0

B) Created a CA "SetDummy"
   Type: SetProperty, Immediate Exe.
   Set Property: "Dummy"
   Value: "My Dummy Value"

C) Opened behavior of a dialog
   Event of Next button
   Added DoAction; SetDummy; 1
   Added NewDialog; ReadyToInstall; Dummy="0"
   Added NewDialog; [OtherDialog]; Dummy="My Dummy Value"

This worked for me. I reached the [OtherDialog], a
placeholder for a custom dialog of mine, so Dummy
had the value which is set by the CA.

I ensured this by setting the condition of the DoAction
event to nothing! Without executing the CA i reached the
ReadyToInstall dialog.

Sounds to me like you have to check your condition
statement, but of course this is only a guess, as i
didn't call any DLL here ??? .

HTH
   Stefan

Generous

Generous
  • Members
  • 53 posts

Posted 08 July 2002 - 10:24

I have this problem (imho this is little MSI bugs) and i solve this problem:

I use other properties for change thise in CA.

1. [My_Work_Prop] = [MY_PROP]
2. Call CA that change My_Work_Prop value
3. [MY_PROP] = [My_Work_Prop]
4. Use any coditions with MY_PROP - this work  :)
Evgeny Ushkaloff

Senior Software Developer / Setup Coordinator
Aelita Software Corporation
www.aelita.com