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

Slow Installation

Recently a setup was upgraded from version 10.5 to 2008. The setup contains a lot of DLL's that are set to COM extract at build because binary compatiblity tends to break every build.

The problem is that since going to 2008, the setup takes now approximately 15-20 minutes when the Status Dialog (Progress Dialog) is up when it says it is 'writing system registry values' after the files have been installed. With the previous version, this section of the install would only take about a minute at most.

Has anyone else seen this, or have any ideas on what the problem may be, or solutions.

Thanks.
Labels (1)
0 Kudos
(5) Replies
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

Type library information obtained from COM extraction is now added to the Registry table instead of the TypeLib table like previous versions of InstallShield (due to a recommendation from Microsoft that the TypeLib table not be used). This could possibly be the cause of the behavior you are seeing if the extracted COM information contains a large amount of type library information. You could try turning this off to send all the type library information to the TypeLib table and see if that makes a difference at runtime. To turn off the new behavior, set the ExtractTypeLibsToRegistryTable value in HKCU\Software\InstallShield\14.0\Professional\Project Settings to 0.
0 Kudos
dkelley
Level 3

Thanks for the suggestion I added the registry key on the build machine and repackaged the setup. Still seems to take a while when installing the setup on a machine that has IS2008 installed, but on machines that don't have it installed.

I tried the setup on a machine before I made the registry key change and it seems to be installing at the correct speed on machines that don't have IS2008 installed, but is runs really slow on machines that do have IS2008 installed. I wonder what could be causing that problem.
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

The only good option at this point is to create a verbose log of the installation and look through the timestamps on each log line to see what action/process is consuming the most time.

Moving from IS 10.5 to 2008 is somewhat of a large change, so it's hard to say what might be different between the two (a diff of the old and new MSI's would be harder and more time consuming to look at than timestamps in a log).
0 Kudos
dkelley
Level 3

Ok, I have did a log comparison between the two and I found that in the log of the setup that runs for a long time, I have a lot of lines similar to this which don't appear in the log when the setup installs quick on another machine.

MSI (c) (7C:00) [13:07:26:937]: Entering MsiProvideComponentFromDescriptor. Descriptor: NocEDITzn?0exBp'6!7bCore>lpyjxL}fa=BZUwZo-0z7, PathBuf: 134D4C4, pcchPathBuf: 134D4C0, pcchArgsOffset: 134D418
MSI (c) (7C:00) [13:07:26:984]: MsiProvideComponentFromDescriptor is returning: 0
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

I'm not sure what the repeated calls to MsiProvideComponentFromDescriptor would be doing during the installation, or how much of a performance impact this would cause.

What action is running while these messages appear in the log?

Have you tried running MSI validation against your MSI package to see if there are any ICE errors reported?
0 Kudos