PDA

View Full Version : Suite package install detection condition failing with IS 2016 SP1



Hysteresis
01-27-2017, 09:04 AM
I've recently updated our InstallShield 2016 build environment with the 2016 SP1. Since then suite installers built with SP1 no longer behave correctly when installing a basic MSI package defined as part of a feature.

What seems to be happening is that the package install detection condition check run from the suite, which is normally run after the package install has fully completed, is now being run before the installation has actually completed. In my case it does a simple registry check for a product version. This package does actually install successfully, but the suite fails it with an error:


1-27-2017[11:41:46 AM]: Engine: property 'ISInstallStatus' value now 'Installing package TBMR 8.1.1 64-bit'
1-27-2017[11:41:46 AM]: Engine: property 'ISParcelStatus' value now 'ID_STRING7'
1-27-2017[11:41:46 AM]: Will launch exe: C:\ProgramData\Downloaded Installations\{3C847281-638C-410A-B119-A45A55939BFE}\SetupTBMRx64.exe
1-27-2017[11:41:46 AM]: EXE parcel command line: /s /v"/qn ALLUSERS=1 SUITEINSTALLFLAG=1 INSTALLDIR=\"[SuiteInstallDir]\TBMR\""
1-27-2017[11:41:46 AM]: EXE parcel resolved command line: /s /v"/qn ALLUSERS=1 SUITEINSTALLFLAG=1 INSTALLDIR=\"C:\Program Files\Cristie\\TBMR\""
1-27-2017[11:41:50 AM]: Launch EXE result: 0
1-27-2017[11:41:50 AM]: Final result status for EXE parcel: 0
1-27-2017[11:41:50 AM]: Engine: property 'ISInstallStatus' value now 'Package TBMR 8.1.1 64-bit operation complete'
1-27-2017[11:41:50 AM]: Parcel operation return status: 0
1-27-2017[11:41:50 AM]: No registry indicators appear to signal a reboot is pending
1-27-2017[11:41:50 AM]: Re-running parcel detection for parcel {1458EE44-C64E-4A4A-B4C2-16E65E88AF46}, install state: 0
1-27-2017[11:41:50 AM]: UI DLL: Display Error: The installation of TBMR 8.1.1 64-bit appears to have failed. Do you want to continue the installation?
1-27-2017[11:41:56 AM]: Transaction: parcel returned error status 80004004


Note the EXE result comes back in 4 secs. Compare this the version built without SP1 (although identical project files):


1-27-2017[11:52:23 AM]: Engine: property 'ISInstallStatus' value now 'Installing package TBMR 8.1.1 64-bit'
1-27-2017[11:52:23 AM]: Engine: property 'ISParcelStatus' value now 'ID_STRING7'
1-27-2017[11:52:23 AM]: Will launch exe: C:\ProgramData\Downloaded Installations\{3C847281-638C-410A-B119-A45A55939BFE}\SetupTBMRx64.exe
1-27-2017[11:52:23 AM]: EXE parcel command line: /s /v"/qn ALLUSERS=1 SUITEINSTALLFLAG=1 INSTALLDIR=\"[SuiteInstallDir]\TBMR\""
1-27-2017[11:52:23 AM]: EXE parcel resolved command line: /s /v"/qn ALLUSERS=1 SUITEINSTALLFLAG=1 INSTALLDIR=\"C:\Program Files\Cristie\\TBMR\""
1-27-2017[12:03:16 PM]: Launch EXE result: 0
1-27-2017[12:03:16 PM]: Final result status for EXE parcel: 0
1-27-2017[12:03:16 PM]: Engine: property 'ISInstallStatus' value now 'Package TBMR 8.1.1 64-bit operation complete'
1-27-2017[12:03:16 PM]: Parcel operation return status: 0

In this installation the runtime is about 11 mins which is correct. Its almost as if the suite detection check is not waiting for the MSI package install to complete but is returning immediately.

Note all components (suite and basic MSI setup.exe) were built with IS2016 SP1.

To be 100% certain of my facts I rolled out SP1 and reverted to the original release of IS 2016 and rebuilt all the suite and MSI projects. This time the original behaviour returned and the suite now waits for the package install to complete before continuing and successfully rerunning the detection check.

I wondered if anyone has any comment on this unexpected behaviour?

Regards,
Nigel

Hysteresis
01-27-2017, 09:21 AM
I think I cut off that 2nd log snippet a little early. The missing lines are:


1-27-2017[12:03:16 PM]: Parcel operation return status: 0
1-27-2017[12:03:16 PM]: No registry indicators appear to signal a reboot is pending
1-27-2017[12:03:16 PM]: Re-running parcel detection for parcel {1458EE44-C64E-4A4A-B4C2-16E65E88AF46}, install state: 1
1

Hysteresis
04-19-2017, 05:06 AM
In case anyone else encountered this problem the solution is to ensure you are using both SP1 version 23.0.428.0 or later and to add the "/clone_wait" parameter to all package install command lines.

This forces the suite installer to wait for the package installation to complete.

kmoulton
01-22-2018, 06:56 PM
Thanks for posting the solution.