InstallShield VC++ 2019 Prerequisite restart the machine after the prerequisite installation

InstallShield VC++ 2019 Prerequisite restart the machine after the prerequisite installation

Summary

 

 InstallShield VC++ 2019 prerequisite restart the machine after the VC++ 2019 prerequisite installation, especially when installs on a machine installed with VC++ 2017 redistributable. However, VC++ 2019 redistributable from the Microsoft is not initiating the restart.

Synopsis

This information applies to InstallShield 2020 R3 version. As the hotfix installer from the below download link, only installs on InstallShield 2020 R3.

Hotfix installer applies to InstallShield 2020R3 project types configured with InstallShield VC++ 2019 prerequisite:

  • Basic MSI
  • InstallScript MSI
  • Installscript 

Cause

 InstallShield uses several methods to determine if a target machine should be restarted after running the InstallShield prerequisite. One of them is by counting the entries in the "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\PendingFileRenameOperations" registry key. The registry keys are counted before and after the InstallShield prerequisite is run. If these numbers are not the same, it is assumed that the file is trying to restart the system and exit the installation.

Microsoft VC++ 2019 redistributable is updating the "PendingFileRenameOperations" registry key during the installation, especially when Microsoft VC++ 2017 redistributable is installed on the target machine. Hence, InstallShield prerequisite is initiating the system restart because of the mismatch in the  number of entries for "PendingFileRenameOperations" registry key, before and after the VC++ 2019 redistributable installation. However, Microsoft VC++ 2019 redistributable is ignoring the "PendingFileRenameOperations" registry key changes, as all the new entries are for the temporary files created in the TEMP folder during the installation. 

Solution:

Modified the InstallShield VC++ 2019 prerequisite and InstallShield 2020 R3 prerequisite engine to ignore the "PendingFileRenameOperations" registry key changes for the temporary files created in the TEMP folder during the VC++ 2019 prerequisite installation.  

InstallShield 2020 R3 hotfix installer is available for download from <<here>>.

InstallShield 2020 R3 hotfix installs on InstallShield 2020 R3 ( Premier, Professional and Express Editions) and InstallShield 2020 R3 StandAlone Build.

Labels (1)
Was this article helpful? Yes No
No ratings
Comments

Thanks for this! I had no problem installing it on my workstation, but when I tried installing it in my standalone build built in docker I'm getting error 2147753984.

In the Dockerfile I'm downloading the hotfix as "C:\InstallShield2020R3HotfixA.exe", then running:

RUN C:\InstallShield2020R3HotfixA.exe /s /v"/qn"
 
I also tried "/qn SABCONTAINER=1" and "INSTALLLEVEL=101 SABCONTAINER=1 /qn" but got the same error in all cases.

Hi @Azmaeus,

Thank you for your post.

You could try downloading the Docker image with a preinstalled copy of the Standalone Build via the documentation at this link:

https://community.flexera.com/t5/InstallShield-Knowledge-Base/InstallShield-StandAlone-Build-with-Do... 

Please give that a try. Does that work for you?

Please let us know if you have any questions or concerns. Thank you for your patience and cooperation.

@Revenera_Ian thanks for the suggestion. I looked at the latest docker image,  flexerasoftware/installshield:sab2020r3 and I don't see Hotfix A being applied to it. I created a simple dockerfile which uses that image as the base, and only adds and runs the hotfix a installer. I started it building at least 10 minutes ago and it's still running. No error, but no success either.

Dockerfile:

# Base Image
FROM flexerasoftware/installshield:sab2020r3
 
# Change to Root Dir
WORKDIR /
 
# Copy hotfix installer to root
ADD InstallShield2020R3HotfixA.exe /
 
# InstallShield 2020 R3 Hotfix A installation
RUN InstallShield2020R3HotfixA.exe

 

Output (so-far):

C:\Users\azmaeus> docker build .\IS_SAB_HotfixA\
Sending build context to Docker daemon 8.127MB
Step 1/4 : FROM flexerasoftware/installshield:sab2020r3
---> fd7bd04439cd
Step 2/4 : WORKDIR /
---> Running in 4510ce11fba5
Removing intermediate container 4510ce11fba5
---> e234d539c9d8
Step 3/4 : ADD InstallShield2020R3HotfixA.exe /
---> af5426f1ff62
Step 4/4 : RUN InstallShield2020R3HotfixA.exe
---> Running in 811f4a2a8c0b

I cancelled and tried with -S -v"/qn" and got the error again with using the Revenera 2020 R3 SAB as the base.

Version history
Revision #:
2 of 2
Last update:
‎May 17, 2021 06:35 AM
Updated by:
 
Contributors