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

Warum ist ADDLOCAL leer?


5 replies to this topic

Michael.Hu

Michael.Hu
  • Full Members
  • 72 posts

Posted 22 April 2008 - 16:09

Hallo zusammen!

Ich habe folgendes Problem:

Vor dem Erscheinen des ReadyToInstall-Dialoges möchte ich eine MessageBox mit den selektierten Features anzeigen. So wie ich das verstanden habe kann ich dafür die Variable ADDLOCAL abfragen...

Ich habe dafür eine CustomAction (Immediate Execution) erstellt welche nach CostFinalize gestartet wird und ganz simpel die ADDLOCAL-Variable liest und ausgeben soll:

CODE

function test(hMsi)
 STRING res;
 INT iLen;

begin

 iLen = MAX_PROPERTY_LEN;
 MsiGetProperty( hMsi, "ADDLOCAL", res, iLen );

 MessageBox(res,INFORMATION);

end;


Aber warum ist diese MessageBox leer? Ich hätte da eigentlich einen String wie z.B. Feature1,Feature2 erwartet...

Gruss
Michael

Edited by Michael.Hu, 22 April 2008 - 16:16.


Michael.Hu

Michael.Hu
  • Full Members
  • 72 posts

Posted 22 April 2008 - 17:21

Hmm ich hab gerade gemerkt dass wenn ich die Custom Action in der Execute-Sequence ausführ ist die Messagebox nicht leer...

Aber die Execute-Sequenz wird doch erst nach der UI-Sequenz ausgeführt... Ich brauche aber doch den Wert von ADDLOCAL bereits im ReadyToInstall-Dialog!

Kann mir da jemand helfen?

Vielen Dank!
Michael

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 23 April 2008 - 11:00

Ich bin nicht sicher, welche Aktion ADDLOCAL setzt (ich hätte auf CostFinalize getippt, aber anscheinend ist das nicht der Fall). Schreib mal eine Logdatei. Darin müsste man sehen, wann (nach welcher Aktion) ADDLOCAL den korrekten Wert hat.

Michael.Hu

Michael.Hu
  • Full Members
  • 72 posts

Posted 28 April 2008 - 08:04

Hi Stefan!

Ich hab mal geloggt und anscheinend wird ADDLOCAL erst in der Aktion ExecuteAction gesetzt.

Hättest du eine Idee wie ich vorher an die selektierten Features rankommen könnte um eine Zusammenfassung davon im ReadyToInstall-Dialog anzeigen zu können?

Vielen Dank für deine Hilfe!!

Gruss
Michael

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 28 April 2008 - 21:55

Also, ich hab nochmal in die Doku zu "Conditional Statement Syntax" geschaut. Dort steht, dass Bedingungen der Form !feature-state nach CostFinalize verwendbar sind. Ich weiß nicht, warum sich das dann nicht in ADDLOCAL widerspiegelt. Aber du könntest über solche Bediigungen den Auswahlzustand der einzelnen Features abfragen.

Michael.Hu

Michael.Hu
  • Full Members
  • 72 posts

Posted 29 April 2008 - 08:32

Schade... Aber wenn ich das richtig verstehe wäre dass ziemlich mühsam und sehr fehleranfällig da ich ja bei jedem neuen Feature eine neue Bedingung einbauen müsste...

Kann irgendwie nicht verstehen dass sowas grundlegendes einfach nicht geht...