Hi people,

I'm asking for my .dll files to be ngened during install, at priority 0, 
which I understand should take place synchronously, while the install 
progress bar increments. But I must be doing something wrong because 
instead, they get queued for ngen at priority 3.

To my candle and light commands, I added the option:

    -ext WixNetFxExtension


To my wxs file's Wix tag, I added the attribute:

    xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension";


In the wxs file, my files look like:

      <File Id='Controls.dll'
        Name='Controls.dll'
        DiskId='1'
        Source='..\bin\Controls.dll'>
        <netfx:NativeImage Id="NGenControls.dll"
          Priority="0"
          Platform="32bit"
        />
      </File>

After install, running 'ngen display' on the installed dll files shows 
the following:

> ngen display Controls.dll                                                     
Microsoft (R) CLR Native Image Generator - Version 2.0.50727.3053               
Copyright (c) Microsoft Corporation.  All rights reserved.                      
                                                                                
NGEN Roots:                                                                     
                                                                                
C:\Program Files\Resolver One\bin\Controls.dll (StatusPending) (Pri 3)          
                                                                                
Native Images:                                                                  
                                                                                
Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null                 
Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null                 
Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null                 


Adding LOGVERBOSE=1 to our command line shows the following entries in 
our logfile for each .dll file:

ExecNetFx:  C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe 
install "C:\Program Files\Resolver One\bin\Controls.dll"
ExecNetFx:  Microsoft (R) CLR Native Image Generator - Version 
2.0.50727.3053
ExecNetFx:  Copyright (c) Microsoft Corporation.  All rights reserved.
ExecNetFx:  Installing assembly C:\Program Files\Resolver 
One\bin\Controls.dll
ExecNetFx:  All compilation targets are up to date.


If I copy the ngen command from the logfile above, and run it manually:

> C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe install "C:\Program 
> Files\Resolver One\bin\Controls.dll"

Then the file is ngen'ed immediately and (as far as I can see) 
synchronously.

Does anyone have any idea what I'm doing wrong that the same command 
executed by the msi install doesn't seem to work?

Changing the <File> tag to request priority 1, 2 or 3 does change the 
command visible in the logfile, by adding a "/queue:1" (or 2 or 3) 
parameter, and the .dll files are then queued at the requested priority. 
So the <File> tag priority attribute does seem to be being recognised 
and acted on, except when priority=0.

Many thanks for any suggestions,

    Jonathan

-- 
Jonathan Hartley      Made of meat.      http://tartley.com
tart...@tartley.com   +44 7737 062 225   twitter/skype: tartley



------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to