cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Saturn5
Level 2

Upgrade fails to execute actions CreateFolders, FileCopy

This is about failed upgrades. We have never made an explicit Upgrade; we're just accepting the built-in Upgrade behavior IS exhibits when you run an MSI installer where the product already exists.

  • InstallShield 2015
  • Install target Windows 7 and 10
  • Basic MSI project

In short, when upgrading a version installed 3 weeks ago, CreateFolders, FileCopy, and some other actions are skipped during execute phase, with no error or logged explanation. Nothing gets installed. The successful install screen appears. Upgrade was working fine in the past.

Explicitly, the installer skips from

MSI (s) (1C:B4) [15:29:27:616]: Executing op: ODBCDriverManager(,BinaryType=1)

directly to

MSI (s) (94:F0) [14:17:04:501]: Executing op: ActionStart(Name=CreateShortcuts,Description=Creating shortcuts,Template=Shortcut: [1])

where it should have done

Executing op: ActionStart(Name=CreateFolders, ...

Detailed log below.

This installer was developed haphazardly over a long time by someone with low knowledge. No knowing what kind of dreck may have been done. The installer is unchanged since months ago, except for being rebuilt from upgraded sources.

Some more facts:

  • Running a Repair fixes it. Repair installs the files.
  • After the failed upgrade, attempting to uninstall always fails with "error 1316 account already exists"
  • This happened before, on another project. I reverted out an installer change and it resolved. This time there are no installer changes to revert.

Good Install Log:

MSI (s) (1C:B4) [15:29:27:616]: Executing op: ODBCDriverManager(,BinaryType=0)
MSI (s) (1C:B4) [15:29:27:616]: Executing op: ODBCDriverManager(,BinaryType=1)
MSI (s) (1C:B4) [15:29:27:616]: Executing op: ActionStart(Name=CreateFolders,Description=Creating folders,Template=Folder: [1])
Action 15:29:27: CreateFolders. Creating folders
MSI (s) (1C:B4) [15:29:27:618]: Executing op: FolderCreate(Folder=C:\Program Files (x86)\ZKTeco\Opera\z9-1.0-SNAPSHOT-dist-zkoperaserver\,Foreign=0,,)


Bad Upgrade Log:

You'll see a custom action occur in the middle. It's one that only runs during upgrade. It has not interfered with previous successful upgrades. Its logging is nominal, and it returns success value.

MSI (s) (94:F0) [14:17:03:988]: Executing op: DialogInfo(Type=0,Argument=1033)
MSI (s) (94:F0) [14:17:03:989]: Executing op: DialogInfo(Type=1,Argument=Opera)
MSI (s) (94:F0) [14:17:03:989]: Executing op: RollbackInfo(,RollbackAction=Rollback,RollbackDescription=Rolling back action:,RollbackTemplate=[1],CleanupAction=RollbackCleanup,CleanupDescription=Removing backup files,CleanupTemplate=File: [1])
MSI (s) (94:F0) [14:17:03:991]: Executing op: SetBaseline(Baseline=0,)
MSI (s) (94:F0) [14:17:03:992]: Executing op: SetBaseline(Baseline=1,)
MSI (s) (94:F0) [14:17:03:992]: Executing op: ActionStart(Name=RemoveODBC,Description=Removing ODBC components,)
Action 14:17:03: RemoveODBC. Removing ODBC components
MSI (s) (94:F0) [14:17:03:993]: Executing op: ODBCDriverManager(,BinaryType=0)
MSI (s) (94:F0) [14:17:03:993]: Executing op: ODBCDriverManager(,BinaryType=1)
MSI (s) (94:F0) [14:17:03:993]: Executing op: ActionStart(Name=RemoveServerDirectory,,)
Action 14:17:03: RemoveServerDirectory. 
MSI (s) (94:F0) [14:17:03:995]: Executing op: CustomActionSchedule(Action=RemoveServerDirectory,ActionType=3073,Source=BinaryData,Target=f1,CustomActionData=C:\Program Files (x86)\ZKTeco\Opera\)
MSI (s) (94:64) [14:17:03:998]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSIBD56.tmp, Entrypoint: f1
MSI (s) (94:38) [14:17:03:998]: Generating random cookie.
MSI (s) (94:38) [14:17:03:999]: Created Custom Action Server with PID 9176 (0x23D8).
MSI (s) (94:28) [14:17:04:050]: Running as a service.
MSI (s) (94:28) [14:17:04:052]: Hello, I'm your 32bit Elevated Non-remapped custom action server.
InstallShield 14:17:04: Running InstallScript function f1
InstallShield 14:17:04: Opening stream of file C:\WINDOWS\Installer\MSIBD56.tmp
InstallShield 14:17:04: Extracting support file IsConfig.ini to C:\Users\Chris\AppData\Local\Temp\{4BFC1337-F353-4480-B041-5D4EC5AB9F81}\IsConfig.ini
InstallShield 14:17:04: Extracted isconfig.ini to C:\Users\Chris\AppData\Local\Temp\{4BFC1337-F353-4480-B041-5D4EC5AB9F81}\IsConfig.ini
InstallShield 14:17:04: Got '{A4AD97B7-300C-4C26-909E-7D596466A13A}' for TempPathGuid from isconfig.ini
InstallShield 14:17:04: Attempting to use temp path 'C:\Users\Chris\AppData\Local\Temp\{A4AD97B7-300C-4C26-909E-7D596466A13A}'
InstallShield 14:17:04: Using new temp path
InstallShield 14:17:04: Cleaning up temp file C:\Users\Chris\AppData\Local\Temp\{4BFC1337-F353-4480-B041-5D4EC5AB9F81}\IsConfig.ini
InstallShield 14:17:04: Using temp folder C:\Users\Chris\AppData\Local\Temp\{A4AD97B7-300C-4C26-909E-7D596466A13A}
InstallShield 14:17:04: Installing engine...
InstallShield 14:17:04: Using product language 1033
InstallShield 14:17:04: Detected X64 OS
InstallShield 14:17:04: Skipping optional support file _isuser_0x0409.dll
InstallShield 14:17:04: Setting script cmdline...
InstallShield 14:17:04: ProductCode is {FA6D061E-DE84-4BEA-B9B0-DFDAA8821F80}
InstallShield 14:17:04: Initializing Engine
InstallShield 14:17:04: Done Initializing...
InstallShield 14:17:04: Registering Msi Server...
InstallShield 14:17:04: Invoking script function RemoveServerDirectory
1: RemoveServerDirectory.. 
1: Found install path.. 
1: C:\Program Files (x86)\ZKTeco\Opera\z9-1.0-SNAPSHOT-dist-zkoperaserver 
1: Server path found [C:\Program Files (x86)\ZKTeco\Opera\z9-1.0-SNAPSHOT-dist-zkoperaserver] 
1: Successfully removed directory [C:\Program Files (x86)\ZKTeco\Opera\z9-1.0-SNAPSHOT-dist-zkoperaserver\config] 
1: Successfully removed directory [C:\Program Files (x86)\ZKTeco\Opera\z9-1.0-SNAPSHOT-dist-zkoperaserver\keys] 
1: Successfully removed directory [C:\Program Files (x86)\ZKTeco\Opera\z9-1.0-SNAPSHOT-dist-zkoperaserver\lib] 
1: Successfully removed directory [C:\Program Files (x86)\ZKTeco\Opera\z9-1.0-SNAPSHOT-dist-zkoperaserver\web-app] 
InstallShield 14:17:04: Returning script function result
InstallShield 14:17:04: CallScriptFunctionFromMsiCA() ends, result 0x0

Next line is:

MSI (s) (94:F0) [14:17:04:501]: Executing op: ActionStart(Name=CreateShortcuts,Description=Creating shortcuts,Template=Shortcut: [1])

Next line should have been:

MSI (s) (1C:B4) [15:29:27:616]: Executing op: ActionStart(Name=CreateFolders,Description=Creating folders,Template=Folder: [1])

 

Thank you

Labels (1)
0 Kudos
(1) Reply
banna_k
Revenera
Revenera

Hi @Saturn5 ,

 

There are major and minor upgrades, see what upgrade you have configured.

more info can be found at the below link:

https://helpnet.flexerasoftware.com/installshield22helplib/helplibrary/MajorMinorSmall.htm

If you want to execute any actions specifically during the upgrade, you can configure with  the IS_MINOR_UPGRADE or IS_MAJOR_UPGRADE property.

 

0 Kudos