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

Setzen von Variablen im Summary Information Stream


3 replies to this topic

Franz901

Franz901
  • Full Members
  • 15 posts

Posted 02 May 2007 - 10:30

Ziel ist es - während der Installation - Title, Subject und Comment zu setzen.

Ist als CustomAction (Immediate Execution) in der UI Sequence (After CostFinalize) implementiert.

function SetSummary(hMSI)

LONG hDB, hInfo, lSiz, lSts, lTmp1, lTmp2;
STRING szTmp;
begin

hDB = MsiGetActiveDatabase( hMSI );

lSts = MsiGetSummaryInformation( hDB, "", 20, hInfo );

lSiz = 255;

lSts = MsiSummaryInfoGetProperty( hInfo, 3, lTmp1, lTmp2, NULL, szTmp, lSiz );

lSts = MsiSummaryInfoSetProperty( hInfo, 3, 30, 0, NULL, IFX_PRODUCT_NAME );

lSts = MsiSummaryInfoPersist( hInfo );

lSts = MsiCloseHandle( hInfo );
lSts = MsiCloseHandle( hDB );

end;


MsiGetSummaryInformation() liefert als Returncode 0 (=SUCCESS).

MsiSummaryInfoGetProperty() liefert als Returncode 0 (=SUCCESS) und
den Wert, der aktuell im Subject des Summary steht.

MsiSummaryInfoSetProperty() liefert als Returncode 1780,
den ich nicht übersetzen konnte.

MsiSummaryInfoPersist() liefert als Returncode 6 (=INVALID_HANDLE).


Ich habe leider weder bei Microsoft noch anderswo ein Beispiel gefunden,
wie diese Parameter verändert werden können.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 03 May 2007 - 16:51

Du willst die laufende Instalaltion während der Instalaltion ändern? Ich glaube nicht dass das möglich ist. Wozu übrigens?

Franz901

Franz901
  • Full Members
  • 15 posts

Posted 03 May 2007 - 18:47

Ich möchte ein Template erstellen, welches für interne Projekte und repacketierte Projekte anderer Hersteller
(zur Verteilung via SMS) verwendbar ist.

Wird ein Projekt aus dem Template erstellt, werden nicht alle Projekt- und Summary-Variablen mit umgestellt.

Um nicht jedesmal daran denken zu müssen, diese und jene Variable zusätzlich umzusetzen, möchte ich
"globale" CustomActions definieren, die alle für uns notwendigen und interessanten Parameter automatisch setzen.

Das sind vor allem Hersteller, Firmenname, Produktname, Autor.

Wie die Summary via VBS "von Aussen" geändert wird, habe ich schon gefunden.

Hast Du eine Idee, wie ich die Summary-Variablen zum Laufzeitpunkt setzen kann?
Egal, ob InstallScript, VB-Script oder anders...

Edited by Franz901, 03 May 2007 - 18:55.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 04 May 2007 - 13:30

Nein, und das wäre auch der falsche Weg. Du solltest die Daten ändern wenn du das Paket erstellst. Das müsste sogar per Skript gehen wenn du die InstallShield Automatisierungsschnittstelle verwendest.