cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Reureu
Level 10

.NET Precompile Assembly does not work

Hi,

I am working on a Basic MSI project.
As I just upgraded to IS 2011, I realized that the ".NET Precompile Assembly" still doesn't work.

It wasn't working well in previous versions of InstallShield, especially since the release of .NET 2.0, but now, it no longer works at all.

Whenever you set the ".NET Precompile Assembly" to "Yes", it creates a system search for the ngen executable.
The problem is that the corresponding entry in the "Signature" table specifies MinVersion = 4.0 for the ISJITCOMPILEATINSTALLSIGNATURE entry.

It means the precompilation will not work at all if .NET v4.0 is not installed on the target PC.

I think Flexera should really move to a better implementation of this .NET precompilation scheme.
The way the system search is created, and then the automatically generated Custom Actions "ISJITCompileActionAtInstall" and "ISJITCompileActionAtUnInstall" just don't do a proper job.
Quite a few threads have already been written on the topic.

Therefore, this precompilation feature remains useless in IS 2011.

Recommendation to the IS development team:
Labels (1)
0 Kudos
(1) Reply
MichaelU
Level 12 Flexeran
Level 12 Flexeran

This won't fix the rest of the problems you describe, but the requirement for 4.0 can be addressed by changing your .NET Framework File Locations settings on the .NET tab of Tools > Options. If you only require the .NET 2.0 framework, for example, point to the .NET 2.0 framework folders, and the search should reflect that version.

As for the rest, we are aware that the .NET Precompile Assembly option's implementation is, um, not that great, and are tracking the request to improve it as #IOC-000061592.
0 Kudos