I'm not a .NET guy at all. I'm in the process of working with a third party C# library, but would rather use IronPython instead of C#, so I tried to install IronPython 2.6 RC1 ... it didn't go well. The installer would get to about 90% complete, but then fail and rollback without any info as to what went wrong.
By manually running the .msi installer we can get a log file:
msiexec /i IronPython-2.6.msi /log install.log
The offending operation seems to be:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ngen.exe install C:\Program Files\IronPython 2.6\Microsoft.Scripting.dll /queue:1The /queue parameter is to kick off the .NET Optimizing compiler service ... but this seemed to be failing. I could verify this when I ran the ngen.exe command directly:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>ngen queue statusMicrosoft (R) CLR Native Image Generator - Version 2.0.50727.3053
Copyright (c) Microsoft Corporation. All rights reserved.
The specified service does not exist as an installed service. (Exception from HRESULT: 0x80070424)
Hmm, where's my JIT?
Turns out my .NET Runtime Optimization Service v2.0.50727_X86 service is either not running or not installed. In my case it was not installed. Very odd as I have .NET 2.0 -> 3.5.1 installed and everything else works. Oh well.
After some poking around I found you can register the service manually via:
%WINDIR%\Microsoft.NET\Framework<64>\v2.0.Number\mscorsvw.exe -i
Or, in my case, C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>mscorsvw.exe -i
That got the service installed and the IronPython install worked fine afterwards.
Hope this saves someone some time.
0 comments:
Post a Comment