Ich habe das Internet und alle NewsGropus durchforstet (inkl. Tip: MSI Properties and Deferred Execution vom Macrovision und Decode the CustomActionData Property in InstallScript von Christoph Painter) und keine Lösung zu meinem Problem gefunden.
Mein Problem besteht darin, dass ich eine Deferred CA habe, die ein InstallScript aufruft und in diesesm Script brauche ich eine Property z.B. USERNAME. Die Property ist immer leer resp. der Wert besteht aus einem /.
Mein Aufbau:
Custom action: ReadPropDeferred
Type 51 (set a property)
Property name: ReadPropDeferred
Value: [USERNAME]
In-script Execution: Immediate Execution
Install Exec sequence: After StopService
Custom action: Test
Type: InstallScript
Return Processing: Synchronous (Ignores exit code)
In-script Execution: Deferred Execution
Install Exec sequence: After StartService
Script:
export prototype Test(HWND);
function Test(hMSI)
string szSupportDir, svName;
NUMBER nvBuffer;
begin
nvBuffer = 256;
MsiGetProperty (hMSI, "CustomActionData", svName, nvBuffer);
MessageBox ("UserName= "^svName, SEVERE);
end;
Als Attachement auch noch die Logdatei in gezippter Form angehängt.
Was muss ich machen, damit ich mein Property abfragen kann und der Wert mehr als nur aus einem / besteht?
Vielen Dank für alle Hilfe.
Gruss reo