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

My installer on Windows 7 takes way too long Vs XP

Hi,

I have this installer which takes around 5 minutes to install on a Windows XP machine. But on a windows 7 32 bit it takes around 8 to 12 mins. And on a Windows 7 64 but its taking more than two hours.

When i checked my log files, it showed that it takes a large amount of time when it is trying to copy the files to the installation directory. Each file was taking an average of 20 to 40 seconds, where as in XP this happens in less than a second.

How can this be sped up? This is an InstallScript setup and i ran the setup by right click Run As Administrator mode.

Thanks
Labels (1)
0 Kudos
(3) Replies
rguggisberg
Level 13

I install on these platforms and have not noticed this behavior.
Copy the package to your local drive and install from there if you are not already doing that.

Try temporarily disabling the Windows Firewall and any anti-virus software you have running to see if it is the culprit.

I have noticed that copying files across a network drive on Windows 7 takes somewhat longer if there is a 2003 Server involved. You can read adnauseam about this on the internet. I have tried many of the suggestions and not found one that works.
0 Kudos
mayukh_123
Level 3

Thanks rguggisberg for the suggestion.

I had been installing from my local drive. But it took a pretty long time. So i checked again and figured out that copying files is not the actual problem.

I have defined a component which installs .Net assemblies. In the .Net Settings, the property ".Net assembly" is set to "Local Assembly". When i changed this to "Not a .Net Assembly", it copied all the files to the installation directory pretty quick. But all hell pretty much broke loose.

Any idea what this property ".Net Assembly" does for the two options "Local Assembly" and "Not a .Net Assembly"?

Thanks
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

One thing that will take some time up front just before file transfer starts is creating a system restore point. This can be disabled by calling Disable(PCRESTORE); in OnBegin.

Regarding the .NET Assembly component setting: this setting controls whether or not the files contained in a component are considered .NET assemblies. When set to "Local Assembly", the InstallScript engine will attempt to register any files in the component for .NET COM interop (if the component's Self-Register setting is Yes), and will also attempt to call any installer classes contained in any files in the component (note that this means any files that are not .NET assemblies should be included in a different component). Note that to perform these operations, the InstallScript engine calls a .NET executable that uses the .NET framework AssemblyInstaller and RegistrationService classes. These .NET framework classes may attempt to verify signed files by contacting a certificate root authority through the Internet which can consume additional time, but this is dependent upon the implementation of these classes in the framework.
0 Kudos