cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
SteveOH
Level 3

Using Parcel Object to get status and exit code from installed packages at end of installer

Jump to solution

Hello,

We are trying to use the Parcel object to get information about packages/parcels that we are installing in our Suite. (whether they installed/were already installed/exit code
Looking at: https://docs.revenera.com/installshield26helplib/helplibrary/Ref-SteExpParcel.htm#ref-suiteexpressions_2408775062_1053547


The only solution we have found, is from 
https://community.flexera.com/t5/InstallShield-Forum/Find-the-failure-packages-at-the-end-of-installation/m-p/286328#M73139

"I have a scenario to display the failed/installed packages at the end of installation."
After the install of each package I check with a InstallScript function the "DetectedState" of the appropriate ParcelObject. The results are stored in a list. This allows me to analyze the results, etc.

 svSuiteObjExpr = "[@Parcel(" + svPackagGuid + ").DetectedState]";
SuiteFormatString(svSuiteObjExpr, svProperty)

The InstallScript function is running but the logging isn't useful...

What we are doing:

However there documentation sucks, there example is not too explicit.
We are using Suite / Advanced UI Suite project 2020 R2
In the Packages section of the Suite, we are using 1 of the 28 packages/parcels we are installing, in this case .NET Core Windows Server Hosting 6.0.15, in the Package Configured package event.

Our installScript code is:

export prototype VerifyNetCore6Installation(OBJECT);
...

function VerifyNetCore6Installation(oExtension)
    STRING sSqlPackageGuid, svProperty;
    STRING svSuiteObjExpr;
begin

SuiteLogInfo("VerifyNetCore6Installation: Started");
//sSqlPackageGuid = "{62FB3F2F-797C-435E-A515-B65F725772F7}";

svSuiteObjExpr = "[@Parcel(62FB3F2F-797C-435E-A515-B65F725772F7).DetectedState]";
SuiteFormatString(svSuiteObjExpr, svProperty);

SuiteLogInfo("VerifyNetCore6Installation: %s", svProperty);
end;

What we get back from the debug log:

Running event 'VerifyNetCore6Installation'
Launching InstallScript action in function 'VerifyNetCore6Installation'
Engine: request for proxy handler, 0, 0
(ISP Action): VerifyNetCore6Installation: Started
ParcelObject: unknown parcel: 62FB3F2F-797C-435E-A515-B65F725772F7
SuiteObject call ('Ctor') failed with error 80020009
(ISP Action): VerifyNetCore6Installation:
Action returned value 0x00000000
Action 'VerifyNetCore6Installation' returned status 0x00000000


Has anyone actually used this? 

Any help would be appreciated,

Steve

 

 

SteveOH_0-1691520114796.png

Labels (1)
0 Kudos
(1) Solution
MarkusLatz
Level 8

Okay,

I have attached a suite example with the check of the "Detected" state. In the suite I use two msi examples from the "InstallShield samples". But you can include also your own samples.

I also created a short film to demonstrate the use.

I hope this illustrates the use. I've done that in a hurry now, so it's not perfect.

You should not install the example on a "real" pc, because I have not tested if you can do an uninstall !

regards

Markus

View solution in original post

(4) Replies
MarkusLatz
Level 8

I will prepare a small sample project tomorrow ...

regards

Markus

sorry for all same posts, but I would post the reply, and do a refresh of my browser and the post would disappear 😞

Thank you!

0 Kudos
MarkusLatz
Level 8

Okay,

I have attached a suite example with the check of the "Detected" state. In the suite I use two msi examples from the "InstallShield samples". But you can include also your own samples.

I also created a short film to demonstrate the use.

I hope this illustrates the use. I've done that in a hurry now, so it's not perfect.

You should not install the example on a "real" pc, because I have not tested if you can do an uninstall !

regards

Markus

thank you Markus!

0 Kudos